{"push_id":1063731760,"size":18,"distinct_size":0,"ref":"refs/heads/TWRP-CM13.0","head":"be30c88277119ca69296c4e0d1494b32c0055fc3","before":"25568d4b9de17deced73179f7e373ded5d4ebfc7","commits":[{"sha":"8d8005d95de0063ee4096b11ebd6312f7f35b0de","author":{"email":"db18ceb40708dab5e9bcdbeb620f7eed18da08e5@codeaurora.org","name":"Vinayak Menon"},"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>\nSigned-off-by: franciscofranco <franciscofranco.1990@gmail.com>","distinct":false,"url":"https://api.github.com/repos/DJLaMontagneIII/android_kernel_moto_shamu/commits/8d8005d95de0063ee4096b11ebd6312f7f35b0de"},{"sha":"56875f331140aa33fc13d0374933b811917cf238","author":{"email":"34a322c05ccf7a69003b3e288dfc60055c6d0c33@codeaurora.org","name":"Liam Mark"},"message":"mm: page owner support for dma\n\nAdd page owner support for dma allocations.\n\nCRs-Fixed: 809977\nChange-Id: I0d5e785b9bf29a99c263d7f90bc80ab26f7b2ff5\nSigned-off-by: Liam Mark <lmark@codeaurora.org>\nSigned-off-by: franciscofranco <franciscofranco.1990@gmail.com>","distinct":false,"url":"https://api.github.com/repos/DJLaMontagneIII/android_kernel_moto_shamu/commits/56875f331140aa33fc13d0374933b811917cf238"},{"sha":"83a48effe80b4ab05c5c7276f5125a7ced950059","author":{"email":"db18ceb40708dab5e9bcdbeb620f7eed18da08e5@codeaurora.org","name":"Vinayak Menon"},"message":"mm: compaction: fix the page state calculation in too_many_isolated\n\nCommit \"mm: vmscan: fix the page state calculation in too_many_isolated\"\nfixed an issue where a number of tasks were blocked in reclaim path\nfor seconds, because of vmstat_diff not being synced in time.\nA similar problem can happen in isolate_migratepages_block, where\nsimilar calculation is performed. This patch fixes that.\n\nChange-Id: Ie74f108ef770da688017b515fe37faea6f384589\nSigned-off-by: Vinayak Menon <vinmenon@codeaurora.org>\nSigned-off-by: franciscofranco <franciscofranco.1990@gmail.com>","distinct":false,"url":"https://api.github.com/repos/DJLaMontagneIII/android_kernel_moto_shamu/commits/83a48effe80b4ab05c5c7276f5125a7ced950059"},{"sha":"8d0ca78b652ab38b7ebfd16b4a1209a0d3a67168","author":{"email":"db18ceb40708dab5e9bcdbeb620f7eed18da08e5@codeaurora.org","name":"Vinayak Menon"},"message":"mm: page-writeback: fix page state calculation in throttle_vm_writeout\n\nIt was found that a number of tasks were blocked in the reclaim path\n(throttle_vm_writeout) for seconds, because of vmstat_diff not being\nsynced in time. Fix that by adding a new function\nglobal_page_state_snapshot.\n\nSigned-off-by: Vinayak Menon <vinmenon@codeaurora.org>\nChange-Id: Iec167635ad724a55c27bdbd49eb8686e7857216c\nSigned-off-by: franciscofranco <franciscofranco.1990@gmail.com>","distinct":false,"url":"https://api.github.com/repos/DJLaMontagneIII/android_kernel_moto_shamu/commits/8d0ca78b652ab38b7ebfd16b4a1209a0d3a67168"},{"sha":"86028f5b0009a42578f001c7a3b25149be6183a3","author":{"email":"db18ceb40708dab5e9bcdbeb620f7eed18da08e5@codeaurora.org","name":"Vinayak Menon"},"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\nSigned-off-by: franciscofranco <franciscofranco.1990@gmail.com>","distinct":false,"url":"https://api.github.com/repos/DJLaMontagneIII/android_kernel_moto_shamu/commits/86028f5b0009a42578f001c7a3b25149be6183a3"},{"sha":"63cb1e29cb7e5d28e273b9fd1414d963a0a18eb8","author":{"email":"eee62f459f15dcddf87a8df69e8328e2a2562028@kernel.org","name":"Minchan Kim"},"message":"mm: Per process reclaim\n\nThese day, there are many platforms avaiable in the embedded market\nand they are smarter than kernel which has very limited information\nabout working set so they want to involve memory management more heavily\nlike android's lowmemory killer and ashmem or recent many lowmemory\nnotifier(there was several trial for various company NOKIA, SAMSUNG,\nLinaro, Google ChromeOS, Redhat).\n\nOne of the simple imagine scenario about userspace's intelligence is that\nplatform can manage tasks as forground and backgroud so it would be\nbetter to reclaim background's task pages for end-user's *responsibility*\nalthough it has frequent referenced pages.\n\nThis patch adds new knob \"reclaim under proc/<pid>/\" so task manager\ncan reclaim any target process anytime, anywhere. It could give another\nmethod to platform for using memory efficiently.\n\nIt can avoid process killing for getting free memory, which was really\nterrible experience because I lost my best score of game I had ever\nafter I switch the phone call while I enjoyed the game.\n\nReclaim file-backed pages only.\n\techo file > /proc/PID/reclaim\nReclaim anonymous pages only.\n\techo anon > /proc/PID/reclaim\nReclaim all pages\n\techo all > /proc/PID/reclaim\n\nChange-Id: Iabdb7bc2ef3dc4d94e3ea005fbe18f4cd06739ab\nSigned-off-by: Minchan Kim <minchan@kernel.org>\nPatch-mainline: linux-mm @ 9 May 2013 16:21:24\n[vinmenon@codeaurora.org: trivial merge conflict fixes]\nSigned-off-by: Vinayak Menon <vinmenon@codeaurora.org>\n\nConflicts:\n\tmm/Kconfig\n\nSigned-off-by: franciscofranco <franciscofranco.1990@gmail.com>","distinct":false,"url":"https://api.github.com/repos/DJLaMontagneIII/android_kernel_moto_shamu/commits/63cb1e29cb7e5d28e273b9fd1414d963a0a18eb8"},{"sha":"603b61da3fb0ce67c5cbd9d5e7617e7378bc9c3a","author":{"email":"eee62f459f15dcddf87a8df69e8328e2a2562028@kernel.org","name":"Minchan Kim"},"message":"mm: Remove shrink_page\n\nBy previous patch, shrink_page_list can handle pages from\nmultiple zone so let's remove shrink_page.\n\nChange-Id: I3526377aa6ee6142b8f3ec63396e7ada1e442505\nSigned-off-by: Minchan Kim <minchan@kernel.org>\nPatch-mainline: linux-mm @ 22 Apr 2013 17:45:03\n[vinmenon@codeaurora.org: trivial merge conflict fixes]\nSigned-off-by: Vinayak Menon <vinmenon@codeaurora.org>\n\nSigned-off-by: franciscofranco <franciscofranco.1990@gmail.com>","distinct":false,"url":"https://api.github.com/repos/DJLaMontagneIII/android_kernel_moto_shamu/commits/603b61da3fb0ce67c5cbd9d5e7617e7378bc9c3a"},{"sha":"1669454a9c9b0ae599f708c7e750bacec017d435","author":{"email":"eee62f459f15dcddf87a8df69e8328e2a2562028@kernel.org","name":"Minchan Kim"},"message":"mm: Enhance per process reclaim to consider shared pages\n\nSome pages could be shared by several processes. (ex, libc)\nIn case of that, it's too bad to reclaim them from the beginnig.\n\nThis patch causes VM to keep them on memory until last task\ntry to reclaim them so shared pages will be reclaimed only if\nall of task has gone swapping out.\n\nThis feature doesn't handle non-linear mapping on ramfs because\nit's very time-consuming and doesn't make sure of reclaiming and\nnot common.\n\nChange-Id: I7e5f34f2e947f5db6d405867fe2ad34863ca40f7\nSigned-off-by: Sangseok Lee <sangseok.lee@lge.com>\nSigned-off-by: Minchan Kim <minchan@kernel.org>\nPatch-mainline: linux-mm @ 9 May 2013 16:21:27\n[vinmenon@codeaurora.org: trivial merge conflict fixes]\nSigned-off-by: Vinayak Menon <vinmenon@codeaurora.org>\n\nSigned-off-by: franciscofranco <franciscofranco.1990@gmail.com>","distinct":false,"url":"https://api.github.com/repos/DJLaMontagneIII/android_kernel_moto_shamu/commits/1669454a9c9b0ae599f708c7e750bacec017d435"},{"sha":"0a5ed499f6467389f56c88c0a786ae4b3628edbe","author":{"email":"eee62f459f15dcddf87a8df69e8328e2a2562028@kernel.org","name":"Minchan Kim"},"message":"mm: Support address range reclaim\n\nThis patch adds address range reclaim of a process.\nThe requirement is following as,\n\nLike webkit1, it uses a address space for handling multi tabs.\nIOW, it uses *one* process model so all tabs shares address space\nof the process. In such scenario, per-process reclaim is rather\ncoarse-grained so this patch supports more fine-grained reclaim\nfor being able to reclaim target address range of the process.\nFor reclaim target range, you should use following format.\n\n\techo [addr] [size-byte] > /proc/pid/reclaim\nThe addr should be page-aligned.\n\nSo now reclaim konb's interface is following as.\n\necho file > /proc/pid/reclaim\n\treclaim file-backed pages only\necho anon > /proc/pid/reclaim\n\treclaim anonymous pages only\necho all > /proc/pid/reclaim\n\treclaim all pages\necho 0x100000 8K > /proc/pid/reclaim\n\treclaim pages in (0x100000 - 0x102000)\n\nChange-Id: I111131d31be1cfcfa246617b634a9a8bc4078098\nSigned-off-by: Minchan Kim <minchan@kernel.org>\nPatch-mainline: linux-mm @ 9 May 2013 08:39:01\n[vinmenon@codeaurora.org: trivial merge conflict fixes]\nSigned-off-by: Vinayak Menon <vinmenon@codeaurora.org>\n\nSigned-off-by: franciscofranco <franciscofranco.1990@gmail.com>","distinct":false,"url":"https://api.github.com/repos/DJLaMontagneIII/android_kernel_moto_shamu/commits/0a5ed499f6467389f56c88c0a786ae4b3628edbe"},{"sha":"87fff5d06b8762776f899599c79650a54891e172","author":{"email":"db18ceb40708dab5e9bcdbeb620f7eed18da08e5@codeaurora.org","name":"Vinayak Menon"},"message":"mm: process reclaim: vmpressure based process reclaim\n\nWith this patch, anon pages of incative tasks can be reclaimed,\ndepending on memory pressure. Memory pressure is detected\nusing vmpressure events. 'N' best tasks in terms of anon\nsize is selected and pages proportional to their tasksize\nis reclaimed. The total number of pages reclaimed at each\nrun of the swap work, can be tuned from userspace, the\ndefault being SWAP_CLUSTER_MAX * 32.\n\nThe patch also adds tracepoints to debug and tune the\nfeature.\n\necho 1 > /sys/module/process_reclaim/parameters/enable_process_reclaim\nto enable the feature.\n\necho <pages> > /sys/module/process_reclaim/parameters/per_swap_size,\nto set the number of pages reclaimed in each scan.\n\n/sys/module/process_reclaim/parameters/reclaim_avg_efficiency, provides\nthe average efficiency (scan to reclaim ratio) of the algorithm.\n\n/sys/module/process_reclaim/parameters/swap_eff_win, to set the window\nperiod (in unit of number of times reclaim is triggered) to detect\nlow efficiency runs.\n\n/sys/module/process_reclaim/parameters/swap_opt_eff, to set the optimal\nefficiency threshold for low efficiency detection.\n\nChange-Id: I895986f10c997d1715761eaaadc4bbbee60db9d2\nSigned-off-by: Vinayak Menon <vinmenon@codeaurora.org>\n\nConflicts:\n\tmm/Makefile\n\nSigned-off-by: franciscofranco <franciscofranco.1990@gmail.com>","distinct":false,"url":"https://api.github.com/repos/DJLaMontagneIII/android_kernel_moto_shamu/commits/87fff5d06b8762776f899599c79650a54891e172"},{"sha":"22c2b93f0439ad2e323111c5e950c913612f0d6b","author":{"email":"d9be9ca3f1b2d450305e034a370ae798faff7dfb@codeaurora.org","name":"Vignesh Radhakrishnan"},"message":"mm: vmstat: make vmstat_work cpu bound during requeue\n\nvmstat_work is currently a per cpu worker thread that requeues\nitself using schedule_delayed_work().\n\nschedule_delayed_work() makes the worker thread unbound. Since\nits unbound, when the timer for the delayed workqueue is migrated,\nthe current code  path  can cause the per cpu worker to get\nexecuted on the CPU other than what it is intended for causing\nundesired effects. This overrides the choice of making the worker\nper cpu in the first place.\n\nFix this by using schedule_delayed_work_on() and make it CPU\nbound.\n\nChange-Id: Ib7952c544bda7d8ec0a79c52de8f2d80b11637e8\nSigned-off-by: Vignesh Radhakrishnan <vigneshr@codeaurora.org>\nSigned-off-by: franciscofranco <franciscofranco.1990@gmail.com>","distinct":false,"url":"https://api.github.com/repos/DJLaMontagneIII/android_kernel_moto_shamu/commits/22c2b93f0439ad2e323111c5e950c913612f0d6b"},{"sha":"79de3054e8936e98279544a9d7ae522382e6e674","author":{"email":"db18ceb40708dab5e9bcdbeb620f7eed18da08e5@codeaurora.org","name":"Vinayak Menon"},"message":"mm: process_reclaim: fix reclaim skip on low efficiency\n\nThe logic used to skip reclaim on low efficiency results\nin process reclaim not triggering at all. Fix it by\nproperly handling the skip_reclaim atomic variable.\n\nChange-Id: I119097bb9b1baf8f3e8d4afa0a6dc2c30c0de6e7\nSigned-off-by: Vinayak Menon <vinmenon@codeaurora.org>\nSigned-off-by: franciscofranco <franciscofranco.1990@gmail.com>","distinct":false,"url":"https://api.github.com/repos/DJLaMontagneIII/android_kernel_moto_shamu/commits/79de3054e8936e98279544a9d7ae522382e6e674"},{"sha":"734a6af6ff3d0a65e2d3403d28f12c9ba796d6c1","author":{"email":"db18ceb40708dab5e9bcdbeb620f7eed18da08e5@codeaurora.org","name":"Vinayak Menon"},"message":"mm: process_reclaim: do not iterate over stale task structs\n\nswap_fn iterates through the threads of selected tasks after\na rcu_read_unlock which is wrong. But we can't extend the\nrcu_read_lock since it will result in severe performance\nissues. So better avoid iterating over the threads. Just\nlock the group leader and use it further.\n\nChange-Id: I36269b1b6619315f33f6f3b49ec73571a66796f2\nSigned-off-by: Vinayak Menon <vinmenon@codeaurora.org>\nSigned-off-by: franciscofranco <franciscofranco.1990@gmail.com>","distinct":false,"url":"https://api.github.com/repos/DJLaMontagneIII/android_kernel_moto_shamu/commits/734a6af6ff3d0a65e2d3403d28f12c9ba796d6c1"},{"sha":"015029c11aaef2abf265308efb4b5adbf090538d","author":{"email":"db18ceb40708dab5e9bcdbeb620f7eed18da08e5@codeaurora.org","name":"Vinayak Menon"},"message":"mm: showmem: make the notifiers atomic\n\nThere are places in kernel like the lowmemorykiller which\ninvokes show_mem_call_notifiers from an atomic context.\nSo move from a blocking notifier to atomic. At present\nthe notifier callbacks does not call sleeping functions,\nbut it should be made sure, it does not happen in future also.\n\nChange-Id: I9668e67463ab8a6a60be55dbc86b88f45be8b041\nSigned-off-by: Vinayak Menon <vinmenon@codeaurora.org>\nSigned-off-by: franciscofranco <franciscofranco.1990@gmail.com>","distinct":false,"url":"https://api.github.com/repos/DJLaMontagneIII/android_kernel_moto_shamu/commits/015029c11aaef2abf265308efb4b5adbf090538d"},{"sha":"2a66f401c4618884da54d8338a350213481bfe5f","author":{"email":"a62d066fcbab732c2ebe9cb02e2d29694a514faf@codeaurora.org","name":"Shiraz Hashim"},"message":"mm: process_reclaim: use unbounded cpu workqueue\n\nIt is observed that in some cases process reclaim work\ndoesn't get chance to run due to presence of RT scheduled\non the same CPU. This is leading to user space freeze and\na live-lock situation where RT itself is looping for a\npage to be present in swap cache while process reclaim\nwork is unable to schedule and do the same.\n\nSchedule process reclaim work on unbounded cpu workqueue\nso that the work has opportunity to be scheduled on to\nother cpu.\n\nChange-Id: I6852f7e8d0a344ab5631b188627263f11414f27e\nSigned-off-by: Shiraz Hashim <shashim@codeaurora.org>\nSigned-off-by: franciscofranco <franciscofranco.1990@gmail.com>","distinct":false,"url":"https://api.github.com/repos/DJLaMontagneIII/android_kernel_moto_shamu/commits/2a66f401c4618884da54d8338a350213481bfe5f"},{"sha":"47053800f30ebc349e0f98fa0212c674362fa201","author":{"email":"34a322c05ccf7a69003b3e288dfc60055c6d0c33@codeaurora.org","name":"Liam Mark"},"message":"Revert \"Revert \"mm: add cma pcp list\"\"\n\nThis reverts commit f690884e1622689dcfa11cce866e13fe5a21078f.\n\nRe-enable this patch. Earlier, this was reverted as it exposed\nseveral CMA bugs which are now fixed. So, time to re-enable\nthis patch.\n\nOriginal commit text:\n\nAdd a cma pcp list in order to increase cma memory utilization.\n\nIncreased cma memory utilization will improve overall memory\nutilization because free cma pages are ignored when memory reclaim\nis done with gfp mask GFP_KERNEL.\n\nSince most memory reclaim is done by kswapd, which uses a gfp mask\nof GFP_KERNEL, by increasing cma memory utilization we are therefore\nensuring that less aggressive memory reclaim takes place.\n\nIncreased cma memory utilization will improve performance,\nfor example it will increase app concurrency.\n\nChange-Id: Ia0f555427148b95068b3a7481e695ed02d58710d\nSigned-off-by: Liam Mark <lmark@codeaurora.org>\nSigned-off-by: franciscofranco <franciscofranco.1990@gmail.com>","distinct":false,"url":"https://api.github.com/repos/DJLaMontagneIII/android_kernel_moto_shamu/commits/47053800f30ebc349e0f98fa0212c674362fa201"},{"sha":"a247617618869c30fd33d395d13acd8eb6d5d112","author":{"email":"db18ceb40708dab5e9bcdbeb620f7eed18da08e5@codeaurora.org","name":"Vinayak Menon"},"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>\nSigned-off-by: franciscofranco <franciscofranco.1990@gmail.com>","distinct":false,"url":"https://api.github.com/repos/DJLaMontagneIII/android_kernel_moto_shamu/commits/a247617618869c30fd33d395d13acd8eb6d5d112"},{"sha":"be30c88277119ca69296c4e0d1494b32c0055fc3","author":{"email":"42480b5f4d505650064e5081b85d867a03559887@gmail.com","name":"franciscofranco"},"message":"Fix the remaining HZ references to the old 100HZ value from https://android.googlesource.com/kernel/msm/+/725704a29ae813c20c6a98d01e4daa63a6468052\n\nSigned-off-by: franciscofranco <franciscofranco.1990@gmail.com>","distinct":false,"url":"https://api.github.com/repos/DJLaMontagneIII/android_kernel_moto_shamu/commits/be30c88277119ca69296c4e0d1494b32c0055fc3"}]}