[Intel-gfx] [PATCH 2/2] drm/i915/pmu: Remove conditional HOTPLUG_CPU registration
Tvrtko Ursulin
tvrtko.ursulin at linux.intel.com
Thu Nov 23 08:41:52 UTC 2017
On 23/11/2017 07:40, Chris Wilson wrote:
> Quoting Tvrtko Ursulin (2017-11-23 07:36:35)
>>
>> On 22/11/2017 18:26, Chris Wilson wrote:
>>> Even for static CPU configurations, the hotplug CPU framework is still
>>> used to determine the CPU topology, and is still being used by the perf
>>> event register to check for valid CPUs.
>>>
>>> Fixes: b46a33e271ed ("drm/i915/pmu: Expose a PMU interface for perf queries")
>>> Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
>>> Cc: Tvrtko Ursulin <tvrtko.ursulin at intel.com>
>>> Cc: Dmitry Rogozhkin <dmitry.v.rogozhkin at intel.com>
>>> ---
>>> drivers/gpu/drm/i915/i915_pmu.c | 8 +-------
>>> 1 file changed, 1 insertion(+), 7 deletions(-)
>>>
>>> diff --git a/drivers/gpu/drm/i915/i915_pmu.c b/drivers/gpu/drm/i915/i915_pmu.c
>>> index 64e36d72e76a..f1e932a3fb85 100644
>>> --- a/drivers/gpu/drm/i915/i915_pmu.c
>>> +++ b/drivers/gpu/drm/i915/i915_pmu.c
>>> @@ -40,7 +40,7 @@
>>>
>>> #define ENGINE_SAMPLE_BITS (1 << I915_PMU_SAMPLE_BITS)
>>>
>>> -static cpumask_t i915_pmu_cpumask = CPU_MASK_NONE;
>>> +static cpumask_t i915_pmu_cpumask;
>>>
>>> static u8 engine_config_sample(u64 config)
>>> {
>>> @@ -742,7 +742,6 @@ static const struct attribute_group *i915_pmu_attr_groups[] = {
>>> NULL
>>> };
>>>
>>> -#ifdef CONFIG_HOTPLUG_CPU
>>> static int i915_pmu_cpu_online(unsigned int cpu, struct hlist_node *node)
>>> {
>>> struct i915_pmu *pmu = hlist_entry_safe(node, typeof(*pmu), node);
>>> @@ -779,11 +778,9 @@ static int i915_pmu_cpu_offline(unsigned int cpu, struct hlist_node *node)
>>> }
>>>
>>> static enum cpuhp_state cpuhp_slot = CPUHP_INVALID;
>>> -#endif
>>>
>>> static int i915_pmu_register_cpuhp_state(struct drm_i915_private *i915)
>>> {
>>> -#ifdef CONFIG_HOTPLUG_CPU
>>> enum cpuhp_state slot;
>>> int ret;
>>>
>>> @@ -802,17 +799,14 @@ static int i915_pmu_register_cpuhp_state(struct drm_i915_private *i915)
>>> }
>>>
>>> cpuhp_slot = slot;
>>> -#endif
>>> return 0;
>>> }
>>>
>>> static void i915_pmu_unregister_cpuhp_state(struct drm_i915_private *i915)
>>> {
>>> -#ifdef CONFIG_HOTPLUG_CPU
>>> WARN_ON(cpuhp_slot == CPUHP_INVALID);
>>> WARN_ON(cpuhp_state_remove_instance(cpuhp_slot, &i915->pmu.node));
>>> cpuhp_remove_multi_state(cpuhp_slot);
>>> -#endif
>>> }
>>>
>>> void i915_pmu_register(struct drm_i915_private *i915)
>>>
>>
>> You are saying CPU hotplug events are firing with CONFIG_HOTPLUG_CPU=n?
>
> Yes. Both in practice and copying from other perf pmus.
I can see that myself when looking around more carefully.
Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin at intel.com>
Regards,
Tvrtko
More information about the Intel-gfx
mailing list