OSDN Git Service

perf cs-etm: Rethink kernel address initialisation
authorMathieu Poirier <mathieu.poirier@linaro.org>
Tue, 12 Feb 2019 17:16:14 +0000 (10:16 -0700)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Thu, 14 Feb 2019 18:18:07 +0000 (15:18 -0300)
Moving initialisation of the kernel start address to function
cs_etm__setup_queues(), considered to be the common denominator for
queue initialisation.  That way we don't have to repeat the same code
at different places.

No change of functionatlity is introduced by this patch.

Signed-off-by: Mathieu Poirier <mathieu.poirier@linaro.org>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Leo Yan <leo.yan@linaro.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Suzuki K Poulouse <suzuki.poulose@arm.com>
Cc: linux-arm-kernel@lists.infradead.org
Link: http://lkml.kernel.org/r/20190212171618.25355-10-mathieu.poirier@linaro.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/util/cs-etm.c

index c9a5b49..2d2de89 100644 (file)
@@ -523,6 +523,9 @@ static int cs_etm__setup_queues(struct cs_etm_auxtrace *etm)
        unsigned int i;
        int ret;
 
+       if (!etm->kernel_start)
+               etm->kernel_start = machine__kernel_start(etm->machine);
+
        for (i = 0; i < etm->queues.nr_queues; i++) {
                ret = cs_etm__setup_queue(etm, &etm->queues.queue_array[i], i);
                if (ret)
@@ -1490,14 +1493,10 @@ static int cs_etm__set_sample_flags(struct cs_etm_queue *etmq)
 
 static int cs_etm__run_decoder(struct cs_etm_queue *etmq)
 {
-       struct cs_etm_auxtrace *etm = etmq->etm;
        struct cs_etm_buffer buffer;
        size_t buffer_used, processed;
        int err = 0;
 
-       if (!etm->kernel_start)
-               etm->kernel_start = machine__kernel_start(etm->machine);
-
        /* Go through each buffer in the queue and decode them one by one */
        while (1) {
                buffer_used = 0;