GitHub PushEvent at 2014-07-24 10:14:55
Repository: falcon_stock
Actor: michael1900
Payload: {"shas":[["5872aed588b07fa6ff63303a66ff132ce45464fe","5ff32272b3d9f86512eddc8e0af523fc6f7924e5@linaro.org","workqueues: Introduce new flag WQ_POWER_EFFICIENT for power oriented workqueues\n\nAdapted for 3.4 from lsk-v3.10\n\nWorkqueues can be performance or power-oriented. Currently, most workqueues are\nbound to the CPU they were created on. This gives good performance (due to cache\neffects) at the cost of potentially waking up otherwise idle cores (Idle from\nscheduler's perspective. Which may or may not be physically idle) just to\nprocess some work. To save power, we can allow the work to be rescheduled on a\ncore that is already awake.\n\nWorkqueues created with the WQ_UNBOUND flag will allow some power savings.\nHowever, we don't change the default behaviour of the system.  To enable\npower-saving behaviour, a new config option CONFIG_WQ_POWER_EFFICIENT needs to\nbe turned on. This option can also be overridden by the\nworkqueue.power_efficient boot parameter.\n\nSigned-off-by: Viresh Kumar <viresh.kumar@linaro.org>\nReviewed-by: Amit Kucheria <amit.kucheria@linaro.org>\nSigned-off-by: Tejun Heo <tj@kernel.org>\nSigned-off-by: Mark Brown <broonie@linaro.org>\nSigned-off-by: Pranav Vashi <neobuddy89@gmail.com>\nSigned-off-by: franciscofranco <franciscofranco.1990@gmail.com>\nSigned-off-by: Blechd0se <alex.christ@hotmail.de>","Viresh Kumar",true],["adcda09b880acd3048c7e8528950dd5a122d7bd4","5ff32272b3d9f86512eddc8e0af523fc6f7924e5@linaro.org","workqueue: Add system wide power_efficient workqueues\n\nAdapted for 3.4 from lsk-v3.10\n\nThis patch adds system wide workqueues aligned towards power saving. This is\ndone by allocating them with WQ_UNBOUND flag if 'wq_power_efficient' is set to\n'true'.\n\nSigned-off-by: Viresh Kumar <viresh.kumar@linaro.org>\nSigned-off-by: Tejun Heo <tj@kernel.org>\nSigned-off-by: Mark Brown <broonie@linaro.org>\nSigned-off-by: Pranav Vashi <neobuddy89@gmail.com>\nSigned-off-by: franciscofranco <franciscofranco.1990@gmail.com>\nSigned-off-by: Blechd0se <alex.christ@hotmail.de>","Viresh Kumar",true],["79c3825cf4082bfdca7c64205656e69d722183dd","5ff32272b3d9f86512eddc8e0af523fc6f7924e5@linaro.org","PHYLIB: queue work on system_power_efficient_wq\n\nAdapted for 3.4 from lsk-v3.10\n\nPhylib uses workqueues for multiple purposes. There is no real dependency of\nscheduling these on the cpu which scheduled them.\n\nOn a idle system, it is observed that and idle cpu wakes up many times just to\nservice this work. It would be better if we can schedule it on a cpu which the\nscheduler believes to be the most appropriate one.\n\nThis patch replaces system_wq with system_power_efficient_wq for PHYLIB.\n\nCc: David S. Miller <davem@davemloft.net>\nCc: netdev@vger.kernel.org\nSigned-off-by: Viresh Kumar <viresh.kumar@linaro.org>\nAcked-by: David S. Miller <davem@davemloft.net>\nSigned-off-by: Tejun Heo <tj@kernel.org>\nSigned-off-by: Mark Brown <broonie@linaro.org>\nSigned-off-by: Pranav Vashi <neobuddy89@gmail.com>\nSigned-off-by: franciscofranco <franciscofranco.1990@gmail.com>\nSigned-off-by: Blechd0se <alex.christ@hotmail.de>","Viresh Kumar",true],["2f199f964b3ce6ccd1f83444c9d8e2b1ead62f3e","b51b9a92386687a9ac927cebfa0f978adeb8cea5@linaro.org","ASoC: pcm: Use the power efficient workqueue for delayed powerdown\n\nAdapted for 3.4 from lsk-v3.10\n\nThere is no need to use a normal per-CPU workqueue for delayed power downs\nas they're not timing or performance critical and waking up a core for them\nwould defeat some of the point.\n\nSigned-off-by: Mark Brown <broonie@linaro.org>\nReviewed-by: Viresh Kumar <viresh.kumar@linaro.org>\nSigned-off-by: Pranav Vashi <neobuddy89@gmail.com>\nSigned-off-by: franciscofranco <franciscofranco.1990@gmail.com>\nSigned-off-by: Blechd0se <alex.christ@hotmail.de>","Mark Brown",true],["df87519a371a74bcb1751fc997b00abc8b314633","b51b9a92386687a9ac927cebfa0f978adeb8cea5@linaro.org","regulator: core: Use the power efficient workqueue for delayed powerdown\n\nThere is no need to use a normal per-CPU workqueue for delayed power downs\nas they're not timing or performance critical and waking up a core for them\nwould defeat some of the point.\n\nSigned-off-by: Mark Brown <broonie@linaro.org>\nReviewed-by: Viresh Kumar <viresh.kumar@linaro.org>\nAcked-by: Liam Girdwood <liam.r.girdwood@intel.com>\nSigned-off-by: Pranav Vashi <neobuddy89@gmail.com>\nSigned-off-by: franciscofranco <franciscofranco.1990@gmail.com>\nSigned-off-by: Blechd0se <alex.christ@hotmail.de>","Mark Brown",true],["e7478afb7e482005ffd95a257b22e9661c69a154","b51b9a92386687a9ac927cebfa0f978adeb8cea5@linaro.org","ASoC: jack: Use power efficient workqueue\n\nThe accessory detect debounce work is not performance sensitive so let\nthe scheduler run it wherever is most efficient rather than in a per CPU\nworkqueue by using the system power efficient workqueue.\n\nSigned-off-by: Mark Brown <broonie@linaro.org>\nAcked-by: Viresh Kumar <viresh.kumar@linaro.org>\nSigned-off-by: Pranav Vashi <neobuddy89@gmail.com>\nSigned-off-by: franciscofranco <franciscofranco.1990@gmail.com>\nSigned-off-by: Blechd0se <alex.christ@hotmail.de>","Mark Brown",true],["0bc482b066e23e292e3bf5a07674703a79b53fba","611d453c03d02ce713e72b62ff6a901ea7e9cd77@gmail.com","hashtable: introduce a small and naive hashtable\n\nThis hashtable implementation is using hlist buckets to provide a simple\nhashtable to prevent it from getting reimplemented all over the kernel.\n\nSigned-off-by: Sasha Levin <levinsasha928@gmail.com>\n[ Merging this now, so that subsystems can start applying Sasha's\n  patches that use this   - Linus ]\nSigned-off-by: Linus Torvalds <torvalds@linux-foundation.org>\n\nSigned-off-by: franciscofranco <franciscofranco.1990@gmail.com>\nSigned-off-by: Blechd0se <alex.christ@hotmail.de>","Sasha Levin",true],["849846e5e7b349d41974a0ac8d734584104412f4","e642b69ed2fc111e09ffdc37feb733a52253340d@oracle.com","workqueue: use new hashtable implementation\n\nSwitch workqueues to use the new hashtable implementation. This reduces the\namount of generic unrelated code in the workqueues.\n\nThis patch depends on d9b482c (\"hashtable: introduce a small and naive\nhashtable\") which was merged in v3.6.\n\nAcked-by: Tejun Heo <tj@kernel.org>\nSigned-off-by: Sasha Levin <sasha.levin@oracle.com>\nSigned-off-by: Tejun Heo <tj@kernel.org>\nSigned-off-by: franciscofranco <franciscofranco.1990@gmail.com>\nSigned-off-by: Blechd0se <alex.christ@hotmail.de>","Sasha Levin",true],["91e88618ce642cfc5649d0b8d07de7851ac7e671","546b05909706652891a87f7bfe385ae147f61f91@kernel.org","workqueue: fix find_worker_executing_work() brekage from hashtable conversion\n\n42f8570f43 (\"workqueue: use new hashtable implementation\") incorrectly\nmade busy workers hashed by the pointer value of worker instead of\nwork.  This broke find_worker_executing_work() which in turn broke a\nlot of fundamental operations of workqueue - non-reentrancy and\nflushing among others.  The flush malfunction triggered warning in\ndisk event code in Fengguang's automated test.\n\n write_dev_root_ (3265) used greatest stack depth: 2704 bytes left\n ------------[ cut here ]------------\n WARNING: at /c/kernel-tests/src/stable/block/genhd.c:1574 disk_clear_events+0x\\\ncf/0x108()\n Hardware name: Bochs\n Modules linked in:\n Pid: 3328, comm: ata_id Not tainted 3.7.0-01930-gbff6343 #1167\n Call Trace:\n  [<ffffffff810997c4>] warn_slowpath_common+0x83/0x9c\n  [<ffffffff810997f7>] warn_slowpath_null+0x1a/0x1c\n  [<ffffffff816aea77>] disk_clear_events+0xcf/0x108\n  [<ffffffff811bd8be>] check_disk_change+0x27/0x59\n  [<ffffffff822e48e2>] cdrom_open+0x49/0x68b\n  [<ffffffff81ab0291>] idecd_open+0x88/0xb7\n  [<ffffffff811be58f>] __blkdev_get+0x102/0x3ec\n  [<ffffffff811bea08>] blkdev_get+0x18f/0x30f\n  [<ffffffff811bebfd>] blkdev_open+0x75/0x80\n  [<ffffffff8118f510>] do_dentry_open+0x1ea/0x295\n  [<ffffffff8118f5f0>] finish_open+0x35/0x41\n  [<ffffffff8119c720>] do_last+0x878/0xa25\n  [<ffffffff8119c993>] path_openat+0xc6/0x333\n  [<ffffffff8119cf37>] do_filp_open+0x38/0x86\n  [<ffffffff81190170>] do_sys_open+0x6c/0xf9\n  [<ffffffff8119021e>] sys_open+0x21/0x23\n  [<ffffffff82c1c3d9>] system_call_fastpath+0x16/0x1b\n\nSigned-off-by: Tejun Heo <tj@kernel.org>\nReported-by: Fengguang Wu <fengguang.wu@intel.com>\nCc: Sasha Levin <sasha.levin@oracle.com>\nSigned-off-by: Blechd0se <alex.christ@hotmail.de>","Tejun Heo",true],["69081088cf47f5a6d43a853e59457d5dee8a3e50","546b05909706652891a87f7bfe385ae147f61f91@kernel.org","workqueue: consider work function when searching for busy work items\n\nTo avoid executing the same work item concurrenlty, workqueue hashes\ncurrently busy workers according to their current work items and looks\nup the the table when it wants to execute a new work item.  If there\nalready is a worker which is executing the new work item, the new item\nis queued to the found worker so that it gets executed only after the\ncurrent execution finishes.\n\nUnfortunately, a work item may be freed while being executed and thus\nrecycled for different purposes.  If it gets recycled for a different\nwork item and queued while the previous execution is still in\nprogress, workqueue may make the new work item wait for the old one\nalthough the two aren't really related in any way.\n\nIn extreme cases, this false dependency may lead to deadlock although\nit's extremely unlikely given that there aren't too many self-freeing\nwork item users and they usually don't wait for other work items.\n\nTo alleviate the problem, record the current work function in each\nbusy worker and match it together with the work item address in\nfind_worker_executing_work().  While this isn't complete, it ensures\nthat unrelated work items don't interact with each other and in the\nvery unlikely case where a twisted wq user triggers it, it's always\nonto itself making the culprit easy to spot.\n\nSigned-off-by: Tejun Heo <tj@kernel.org>\nReported-by: Andrey Isakov <andy51@gmx.ru>\nBugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=51701\nCc: stable@vger.kernel.org\nSigned-off-by: Blechd0se <alex.christ@hotmail.de>\n\nConflicts:\n\tkernel/workqueue.c\n\nSigned-off-by: Blechd0se <alex.christ@hotmail.de>","Tejun Heo",true]],"size":10,"ref":"refs/heads/mr2_TEST","head":"69081088cf47f5a6d43a853e59457d5dee8a3e50"}