[Intel-gfx] [PATCH 2/2] drm/i915/pmu: Only allow running on a single CPU
Tvrtko Ursulin
tvrtko.ursulin at linux.intel.com
Thu Nov 23 13:32:16 UTC 2017
On 23/11/2017 12:50, Chris Wilson wrote:
> Quoting Tvrtko Ursulin (2017-11-23 12:34:32)
>> From: Tvrtko Ursulin <tvrtko.ursulin at intel.com>
>>
>> We do two things, both of which are purely to simplify and clarify the
>> implementation:
>>
>> 1.
>>
>> Simplify the CPU online callback so it is more obvious that the purpose
>> there is to set a single CPU mask bit for the first CPU which comes
>> online. Using cpumask_weight for this reads more obvious than the trick
>> with cpumask_and_any.
>>
>> 2.
>>
>> Modify the event init so that events can be created only on a single CPU.
>>
>> This removes looking at the requested CPU thread siblings, and only allows
>> creating on the current active CPU.
>>
>> Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin at intel.com>
>> Cc: Chris Wilson <chris at chris-wilson.co.uk>
>> Cc: Dmitry Rogozhkin <dmitry.v.rogozhkin at intel.com>
>
> Works for me.
> Tested-by: Chris Wilson <chris at chris-wilson.co.uk>
>
> As much as I understand this (which is not a lot!),
> Reviewed-by: Chris Wilson <chris at chris-wilson.co.uk>
Thanks, now waiting for results!
Your patch (1/2) is the main fix here, without it the cpumask is not
initialized on !hotplug kernels hence -ENODEV on everything.
This patch is mostly making the code more obvious. I am not sure that
the addition of rejecting thread siblings actually changes anything.
Perf stat at least seems to only try to init one event per real core and
seems to be skipping thread siblings. So it just makes it more obvious
we really want to only run on a single CPU.
Regards,
Tvrtko
More information about the Intel-gfx
mailing list