Re: [PATCH v3] pm_qos: make update_request callable from interrupt context

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

 



On Mon, 2010-06-07 at 17:34 +0200, florian@xxxxxxxxxxx wrote:
> We use the spinlocked notifier chain variant (struct
> atomic_notifier_head) and add an __might_sleep() to the chain for
> constraints which have non-atomic notifiers. This way we catch all
> interrupt-context-update-sites at runtime.

Actually, I'm afraid we can't really call blocking notifiers through the
atomic chain because we might end up with a contested chain call and a
huge busy wait in the spinlock (especially if one of the notifiers is
sleeping).

I think the pm_qos_object still needs the two notifier chains ... it's
just that when set up, one must either fill an atomic or a blocking
chain (leaving the other NULL).  We use the NULL to check to decide what
chain to add notifiers to, and if the blocking chain is null, we refuse
to add blocking notifiers (with a BUG). If the blocking chain is
non-null, we register the might_sleep() notifier (actually, given the
argument mismatch, you'll have to wrapper that).

James


_______________________________________________
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