Messages in this thread | | | Date | Wed, 28 Nov 2012 17:47:18 +0800 | Subject | Re: [PATCH v6 2/6] PM / Runtime: introduce pm_runtime_set_memalloc_noio() | From | Ming Lei <> |
| |
On Wed, Nov 28, 2012 at 5:29 PM, Rafael J. Wysocki <rjw@sisk.pl> wrote: > > But it doesn't have to walk the children. Moreover, with counters it only
Yeah, I got it, it is the advantage of counter, but with extra 'int' field introduced in 'struct device'.
> needs to walk the whole path if all devices in it need to be updated. For > example, if you call pm_runtime_set_memalloc_noio(dev, true) for a device > whose parent's counter is greater than zero already, you don't need to > walk the path above the parent.
We still can do it with the flag only, pm_runtime_set_memalloc_noio(dev, true) can return immediately if one parent or the 'dev' flag is true.
But considered that the pm_runtime_set_memalloc_noio(dev, false) is only called in a very infrequent path(network/block device->remove()), looks the introduced cost isn't worthy of the obtained advantage.
So could you accept not introducing counter? and I will update with the above improvement you suggested.
Thanks, -- Ming Lei
| |