{"push_id":1461424705,"size":5,"distinct_size":5,"ref":"refs/heads/cm-14.1","head":"acefaf739ca4a5ef62444ceefcf43ff4802dbe03","before":"a6c80b6f8bb7ec46b6ebf3feefb2abfbe2bff9b9","commits":[{"sha":"5997b7e82dfb474ad6c44f965e570b9330b0cbd0","author":{"name":"Junjie Wu","email":"0075153510835c15ef43801605ef8726aea51938@codeaurora.org"},"message":"PM / devfreq: governor_cpufreq: Rewrite locking to avoid deadlocks\n\nA devfreq governor store in parallel with a cpu freq update can cause\ndeadlock as shown below.\n\nAssume current devfreq governor is cpufreq, and user tries to change\nto some other governor.\n\nWrite to sysfs store_governor   | cpufreq driver updating cpu freq\n------------------------------- | -----------------------------------\necho bw_hwmon > governor        |\n                                | takes rcu_read_lock and calls all\n                                | cpufreq transition callbacks for\n                                | PRECHANGE or POSTCHANGE\n                                |\nGOV_STOP on governor_cpufreq.   |\nunregister_cpufreq() accquires  |\nstate_lock mutex.               |\n                                | try to accquire same state_lock in\n                                | cpufreq_trans_notifier(). Blocked.\nunregister from cpufreq         |\ntransition notifier and wait for|\nall rcu_readers to finish.      |\n                            Deadlock\n\nA similar deadlock can happen with governor change and policy notifier\ncallbacks.\n\nThe state_lock currently protects multiple unrelated critical\nsections: registering/unregistering of cpufreq notifiers, read/writing\nthe device list, and tracking the cpu states and updating device\nfrequencies. There is no need for register/unregister of the cpufreq\nnotifiers to be mutually excluded against the other critical sections\nusing the same lock.\n\nSplit state_lock into two locks to protect the register/unregister of\ncpufreq notifiers from the rest of the critical sections.\n\nChange-Id: Id06d326748a5cb0c84c4787da5d0910f44eb5c3c\nSigned-off-by: Pan Fang <fangpan@codeaurora.org>\nSigned-off-by: Arun KS <arunks@codeaurora.org>\nSigned-off-by: Junjie Wu <junjiew@codeaurora.org>\nSuggested-by: Saravana Kannan <skannan@codeaurora.org>","distinct":true,"url":"https://api.github.com/repos/Samsung-MSM8916/android_kernel_samsung_fortunaxx/commits/5997b7e82dfb474ad6c44f965e570b9330b0cbd0"},{"sha":"f53c4968aed7568c9e2bf10f9df141321a084891","author":{"name":"Vinayak Menon","email":"c6e79b2757471d38dfbeaf17f987a81f42208aac@codeaurora.org"},"message":"mm: vmpressure: allow in-kernel clients to subscribe for events\n\nCurrently, vmpressure is tied to memcg and its events are\navailable only to userspace clients. This patch removes\nthe dependency on CONFIG_MEMCG and adds a mechanism for\nin-kernel clients to subscribe for vmpressure events (in\nfact raw vmpressure values are delivered instead of vmpressure\nlevels, to provide clients more flexibility to take actions\non custom pressure levels which are not currently defined\nby vmpressure module).\n\nChange-Id: I38010f166546e8d7f12f5f355b5dbfd6ba04d587\nSigned-off-by: Vinayak Menon <vinmenon@codeaurora.org>","distinct":true,"url":"https://api.github.com/repos/Samsung-MSM8916/android_kernel_samsung_fortunaxx/commits/f53c4968aed7568c9e2bf10f9df141321a084891"},{"sha":"38d9ba785c1322b668ec443d8fee0414ed7fe6d6","author":{"name":"Vinayak Menon","email":"c6e79b2757471d38dfbeaf17f987a81f42208aac@codeaurora.org"},"message":"mm: vmpressure: scale pressure based on reclaim context\n\nThe existing calculation of vmpressure takes into account only\nthe ratio of reclaimed to scanned pages, but not the time spent\nor the difficulty in reclaiming those pages. For e.g. when there\nare quite a number of file pages in the system, an allocation\nrequest can be satisfied by reclaiming the file pages alone. If\nsuch a reclaim is succesful, the vmpressure value will remain low\nirrespective of the time spent by the reclaim code to free up the\nfile pages. With a feature like lowmemorykiller, killing a task\ncan be faster than reclaiming the file pages alone. So if the\nvmpressure values reflect the reclaim difficulty level, clients\ncan make a decision based on that, for e.g. to kill a task early.\n\nThis patch monitors the number of pages scanned in the direct\nreclaim path and scales the vmpressure level according to that.\n\nSigned-off-by: Vinayak Menon <vinmenon@codeaurora.org>\nChange-Id: I6e643d29a9a1aa0814309253a8b690ad86ec0b13","distinct":true,"url":"https://api.github.com/repos/Samsung-MSM8916/android_kernel_samsung_fortunaxx/commits/38d9ba785c1322b668ec443d8fee0414ed7fe6d6"},{"sha":"a07911ed03d8adae0fc681a24bab144c768c05f9","author":{"name":"Vinayak Menon","email":"c6e79b2757471d38dfbeaf17f987a81f42208aac@codeaurora.org"},"message":"mm: vmpressure: account allocstalls only on higher pressures\n\nAt present any vmpressure value is scaled up if the pages are\nreclaimed through direct reclaim. This can result in false\nvmpressure values. Consider a case where a device is booted up\nand most of the memory is occuppied by file pages. kswapd will\nmake sure that high watermark is maintained. Now when a sudden\nhuge allocation request comes in, the system will definitely\nhave to get into direct reclaims. The vmpressures can be very low,\nbut because of allocstall accounting logic even these low values\nwill be scaled to values nearing 100. This can result in\nunnecessary LMK kills for example. So define a tunable threshold\nfor vmpressure above which the allocstalls will be accounted.\n\nCRs-fixed: 893699\nChange-Id: Idd7c6724264ac89f1f68f2e9d70a32390ffca3e5\nSigned-off-by: Vinayak Menon <vinmenon@codeaurora.org>","distinct":true,"url":"https://api.github.com/repos/Samsung-MSM8916/android_kernel_samsung_fortunaxx/commits/a07911ed03d8adae0fc681a24bab144c768c05f9"},{"sha":"acefaf739ca4a5ef62444ceefcf43ff4802dbe03","author":{"name":"ZIM555","email":"bcb0ed668848de7ac862fb2b12d24a9a77bb042c@mail.ru"},"message":"configs: Update version to 02ng","distinct":true,"url":"https://api.github.com/repos/Samsung-MSM8916/android_kernel_samsung_fortunaxx/commits/acefaf739ca4a5ef62444ceefcf43ff4802dbe03"}]}
{"actor":{"display_login":"ZIM555"}}