* Len Brown <lenb@xxxxxxxxxx> [2009-10-03 01:56:32]: > This driver does not use the kernel's CPU hot-plug mechanism > because after the transient emergency is over, the system must > be returned to its normal state, and hotplug would permanently > break both cpusets and binding. > Why does hotplug break cpusets and binding? > So to force idle, the driver creates a power saving thread. > The scheduler will migrate the thread to the preferred CPU. > The thread has max priority and has SCHED_RR policy, > so it can occupy one CPU. To save power, the thread will > invoke the deep C-state entry instructions. > > To avoid starvation, the thread will sleep 5% of the time > time for every second (current RT scheduler has threshold > to avoid starvation, but if other CPUs are idle, > the CPU can borrow CPU timer from other, > which makes the mechanism not work here) > > Vaidyanathan Srinivasan has proposed scheduler enhancements > to allow injecting idle time into the system. This driver doesn't > depend on those enhancements, but could cut over to them > when they are available. > > Peter Z. does not favor upstreaming this driver until > the those scheduler enhancements are in place. However, > we favor upstreaming this driver now because it is useful > now, and can be enhanced over time. > > Signed-off-by: Shaohua Li <shaohua.li@xxxxxxxxx> > NACKed-by: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> > Cc: Vaidyanathan Srinivasan <svaidy@xxxxxxxxxxxxxxxxxx> > Signed-off-by: Len Brown <len.brown@xxxxxxxxx> This is a first a patch with a NACKed-by, could we please have more discussion on the proposed design. -- Balbir -- To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html