lkml.org 
[lkml]   [2015]   [Oct]   [2]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
SubjectRe: [RFC PATCH 15/20] coresight: etm-perf: implementing 'setup_aux()' API
Date
Mathieu Poirier <mathieu.poirier@linaro.org> writes:

> On 30 September 2015 at 05:50, Alexander Shishkin
> <alexander.shishkin@linux.intel.com> wrote:
>> Mathieu Poirier <mathieu.poirier@linaro.org> writes:
>>
>>> +static void *etm_setup_aux(int cpu, void **pages,
>>> + int nr_pages, bool overwrite)
>>> +{
>>> + struct coresight_device *csdev;
>>> +
>>> + if (cpu == -1)
>>> + cpu = smp_processor_id();
>>> +
>>> + csdev = per_cpu(csdev_sink, cpu);
>>> + if (!csdev)
>>> + return NULL;
>>> +
>>> + return sink_ops(csdev)->setup_aux(csdev, cpu, pages,
>>> + nr_pages, overwrite);
>>
>> Is it guaranteed that this sink would always have .setup_aux()?
>
> A setup_aux() is vital to the design, both on Intel and ARM. I really
> don't see how one could go without it. I can return NULL if it hasn't
> been provided - that way the setup will fail without triggering a core
> dump.

It wasn't clear to me that the sink that ends up in csdev_sink will
always be the one that does have .setup_aux(). And if it indeed doesn't,
it's better to refuse to setup a buffer than crash.

Regards,
--
Alex


\
 
 \ /
  Last update: 2015-10-02 07:21    [W:0.097 / U:0.532 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site