[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