Re: [PATCH] Runtime PM: Adding explicit check to make sure dev->parent supports runtime PM before accessing its PM fields.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



>> Also wanted to ask - do you think acquiring spinlock every time before 
>> even checking if parent supports runtime PM, optimal?

> You need to change your thinking.  You're making a very basic mistake, 
> and you have made the same mistake in every email message on this 
> subject.
>
> You keep talking about "parent supports runtime PM".  But that's not 
> what the code actually checks.
>
> For one thing, this isn't really about the parent device's capabilities
> -- runtime support is at least as much a property of the driver as of
> the device.  But more importantly, the field you're checking doesn't
> mean what you think it means.  If parent->power.disable_depth > 0, it
> doesn't mean that the parent doesn't support runtime PM.  It means that
> the parent is _currently disabled_ for runtime PM -- and the parent may
> become enabled at some time in the future.
>
> That's why disable_depth is manipulated under spinlock protection.  One 
> thread might be looking at it while another thread is changing it.  Not 
> using the spinlock would leave you open to races.
>
> The question of efficiency or optimality depends on how often we have a 
> device using runtime PM whose parent is disabled.  I don't know how 
> often that will occur.  As more and more drivers start implementing 
> runtime PM, it will occur less and less frequently.
>
> The most troublesome case arises when you have a parent which is 
> disabled for runtime PM and later on becomes enabled.  This may not 
> happen very often -- it may not happen at all.  I would expect that if 
> a device changes from disabled to enabled, it probably does so before 
> acquiring any children.  But we can't be certain of this.

OK, get what you are saying. I was thinking of a particular use case and 
before I talk about that let me prototype and see if I hit this 
particular case.


Regards,
Nithish Mahalingam
_______________________________________________
linux-pm mailing list
linux-pm@xxxxxxxxxxxxxxxxxxxxxxxxxx
https://lists.linux-foundation.org/mailman/listinfo/linux-pm

[Index of Archives]     [Linux ACPI]     [Netdev]     [Ethernet Bridging]     [Linux Wireless]     [CPU Freq]     [Kernel Newbies]     [Fedora Kernel]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]

  Powered by Linux