irq_work: register irq_work_cpu_notify in early init
Currently irq_work_cpu_notify is registered using device_initcall(). In cases where CPU is hotplugged early (example would be thermal engine hotplugging CPU), there are chances where irq_work_cpu_notifier has not even registered, but CPU is already hotplugged out. irq_work uses CPU_DYING notifier to clear out the pending irq_work. But since the cpu notifier is not even registered that early, pending irq_work items are never run since this pending list is percpu. One specific scenario where this is impacting the system is, rcu framework using irq_work to wakeup and complete cleanup operations. In this scenario we notice that RCU operations needs cleanup on the hotplugged CPU. Fix this by registering irq_work_cpu_notify in early init. CRs-Fixed: 768180 Change-Id: Ibe7f5c77097de7a342eeb1e8d597fb2f72185ecf Signed-off-by:Prasad Sodagudi <psodagud@codeaurora.org> Signed-off-by:
Vignesh Radhakrishnan <vigneshr@codeaurora.org>
Loading
Please register or sign in to comment