{"push_id":1514338528,"size":12,"distinct_size":12,"ref":"refs/heads/master","head":"7a89c19adef807f3488897900b7734b1e4e53cd6","before":"ce16cf8bef35007733a72b2738e43eb0c01413d1","commits":[{"sha":"0178fd7a3ec01fd0c11b08959fc9b8b41ee4b3af","author":{"name":"Minchan Kim","email":"513909c15f9d22f3704dca2f86978b287731f351@kernel.org"},"message":"zsmalloc: add copyright\n\n(cherry pick from commit 31fc00bb788ffde7d8d861d8b2bba798ab445992)\n\nAdd my copyright to the zsmalloc source code which I maintain.\n\nSigned-off-by: Minchan Kim <minchan@kernel.org>\nCc: Nitin Gupta <ngupta@vflare.org>\nSigned-off-by: Andrew Morton <akpm@linux-foundation.org>\nSigned-off-by: Linus Torvalds <torvalds@linux-foundation.org>\nBug: 24810447\nChange-Id: Ic4137129666be7a6a383ed8b9c929ee97b6cc9fc","distinct":true,"url":"https://api.github.com/repos/Akuma70/MiUi/commits/0178fd7a3ec01fd0c11b08959fc9b8b41ee4b3af"},{"sha":"7bd656aa182f96b27f7e1ba9dffd68a58e013bfc","author":{"name":"Srivatsa S. Bhat","email":"86fcb99d833c6028b7c159db19d83d69bb396a1e@linux.vnet.ibm.com"},"message":"zsmalloc: Fix CPU hotplug callback registration\n\n(cherry pick from commit f0e71fcd0fa6f3f5495cd9ad3f1e4acd94446a55)\n\nSubsystems that want to register CPU hotplug callbacks, as well as perform\ninitialization for the CPUs that are already online, often do it as shown\nbelow:\n\n\tget_online_cpus();\n\n\tfor_each_online_cpu(cpu)\n\t\tinit_cpu(cpu);\n\n\tregister_cpu_notifier(&foobar_cpu_notifier);\n\n\tput_online_cpus();\n\nThis is wrong, since it is prone to ABBA deadlocks involving the\ncpu_add_remove_lock and the cpu_hotplug.lock (when running concurrently\nwith CPU hotplug operations).\n\nInstead, the correct and race-free way of performing the callback\nregistration is:\n\n\tcpu_notifier_register_begin();\n\n\tfor_each_online_cpu(cpu)\n\t\tinit_cpu(cpu);\n\n\t/* Note the use of the double underscored version of the API */\n\t__register_cpu_notifier(&foobar_cpu_notifier);\n\n\tcpu_notifier_register_done();\n\nFix the zsmalloc code by using this latter form of callback registration.\n\nCc: Nitin Gupta <ngupta@vflare.org>\nCc: Ingo Molnar <mingo@kernel.org>\nSigned-off-by: Srivatsa S. Bhat <srivatsa.bhat@linux.vnet.ibm.com>\nAcked-by: Minchan Kim <minchan@kernel.org>\nSigned-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>\nBug: 24810447\nChange-Id: Idda192da0c2d7cb3ca581ba2916fe9b4befe312e","distinct":true,"url":"https://api.github.com/repos/Akuma70/MiUi/commits/7bd656aa182f96b27f7e1ba9dffd68a58e013bfc"},{"sha":"a359cf6793279362c7873d503f1a107e8b4def54","author":{"name":"Minchan Kim","email":"513909c15f9d22f3704dca2f86978b287731f351@kernel.org"},"message":"UPSTREAM: zsmalloc: add Kconfig for enabling page table method\n\n(cherry-pick from commit 1b945aeef0b9cb5e98d682c310272b08198e54b5)\n\nZsmalloc has two methods 1) copy-based and 2) pte based to\naccess objects that span two pages.\nYou can see history why we supported two approach from [1].\n\nBut it was bad choice that adding hard coding to select arch\nwhich want to use pte based method because there are lots of\nSoC in an architecure and they can have different cache size,\nCPU speed and so on so it would be better to expose it to user\nas selectable Kconfig option like Andrew Morton suggested.\n\n[1] https://lkml.org/lkml/2012/7/11/58\n\nBug: 25951511\n\nChange-Id: Ic6855e8fefc7a0f36db896e8b03869c143e982d6\nAcked-by: Nitin Gupta <ngupta@vflare.org>\nReviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>\nSigned-off-by: Minchan Kim <minchan@kernel.org>\nSigned-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>","distinct":true,"url":"https://api.github.com/repos/Akuma70/MiUi/commits/a359cf6793279362c7873d503f1a107e8b4def54"},{"sha":"da9c637e0afb2a4c0196892f8481aa11030d4f85","author":{"name":"Nitin Cupta","email":"c7446f57a2c666f7167ea449569a2907190390ec@vflare.org"},"message":"BACKPORT: zsmalloc: add more comment\n\n(cherry-pick from commit c3e3e88adccb3119b69484c56798ec616307a94f)\n\nThis patch adds lots of comments and it will help others\nto review and enhance.\n\nBug: 25951511\n\nChange-Id: I2c1edf24e917c2d51ef68a9987d81f9b6a4a2bd2\nSigned-off-by: Seth Jennings <sjenning@linux.vnet.ibm.com>\nSigned-off-by: Nitin Gupta <ngupta@vflare.org>\nSigned-off-by: Minchan Kim <minchan@kernel.org>\nSigned-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>","distinct":true,"url":"https://api.github.com/repos/Akuma70/MiUi/commits/da9c637e0afb2a4c0196892f8481aa11030d4f85"},{"sha":"58b8f80c9d178ff9da535e05aeaefebec379e544","author":{"name":"Weijie Yang","email":"8c97edccb1d93792b9d0c97c45d654274c724617@samsung.com"},"message":"UPSTREAM: zsmalloc: fixup trivial zs size classes value in comments\n\n(cherry-pick from commit 7eb52512a977854eca51d9b692c2f3be8a0e5eeb)\n\nAccording to calculation, ZS_SIZE_CLASSES value is 255 on systems with 4K\npage size, not 254.  The old value may forget count the ZS_MIN_ALLOC_SIZE\nin.\n\nThis patch fixes this trivial issue in the comments.\n\nBug: 25951511\n\nChange-Id: I7f3039f14a6813bc2e97972b6968ac09d87202ed\nSigned-off-by: Weijie Yang <weijie.yang@samsung.com>\nCc: Minchan Kim <minchan@kernel.org>\nSigned-off-by: Andrew Morton <akpm@linux-foundation.org>\nSigned-off-by: Linus Torvalds <torvalds@linux-foundation.org>","distinct":true,"url":"https://api.github.com/repos/Akuma70/MiUi/commits/58b8f80c9d178ff9da535e05aeaefebec379e544"},{"sha":"fcf55f5ce1a432383c9bf334a62ce4727fcba924","author":{"name":"Dan Streetman","email":"8a3db62ed9f57706440ca2f7c6f9f047dfafc8c0@ieee.org"},"message":"BACKPORT: mm/zpool: implement common zpool api to zbud/zsmalloc\n\n(cherry-pick from commit af8d417a04564bca0348e7e3c749ab12a3e837ad)\n\nAdd zpool api.\n\nzpool provides an interface for memory storage, typically of compressed\nmemory.  Users can select what backend to use; currently the only\nimplementations are zbud, a low density implementation with up to two\ncompressed pages per storage page, and zsmalloc, a higher density\nimplementation with multiple compressed pages per storage page.\n\nBug: 25951511\n\nChange-Id: I25da4c5454ad97c35e7f666df936d4c199f656a4\nSigned-off-by: Dan Streetman <ddstreet@ieee.org>\nTested-by: Seth Jennings <sjennings@variantweb.net>\nCc: Minchan Kim <minchan@kernel.org>\nCc: Nitin Gupta <ngupta@vflare.org>\nCc: Weijie Yang <weijie.yang@samsung.com>\nSigned-off-by: Andrew Morton <akpm@linux-foundation.org>\nSigned-off-by: Linus Torvalds <torvalds@linux-foundation.org>\n\nConflicts:\n\tmm/Kconfig\n\tmm/Makefile","distinct":true,"url":"https://api.github.com/repos/Akuma70/MiUi/commits/fcf55f5ce1a432383c9bf334a62ce4727fcba924"},{"sha":"bb23acf7d12a6b4731fc8e6b755f70cc69d7149d","author":{"name":"Dan Streetman","email":"8a3db62ed9f57706440ca2f7c6f9f047dfafc8c0@ieee.org"},"message":"BACKPORT: mm/zpool: zbud/zsmalloc implement zpool\n\n(cherry-pick from commit c795779df29e180738568d2a5eb3a42f3b5e47f0)\n\nUpdate zbud and zsmalloc to implement the zpool api.\n\nBug: 25951511\n\nChange-Id: Ib58729c1efeb4834d566d29f9abf33fec1f7f79d\n[fengguang.wu@intel.com: make functions static]\nSigned-off-by: Dan Streetman <ddstreet@ieee.org>\nTested-by: Seth Jennings <sjennings@variantweb.net>\nCc: Minchan Kim <minchan@kernel.org>\nCc: Nitin Gupta <ngupta@vflare.org>\nCc: Weijie Yang <weijie.yang@samsung.com>\nSigned-off-by: Andrew Morton <akpm@linux-foundation.org>\nSigned-off-by: Linus Torvalds <torvalds@linux-foundation.org>","distinct":true,"url":"https://api.github.com/repos/Akuma70/MiUi/commits/bb23acf7d12a6b4731fc8e6b755f70cc69d7149d"},{"sha":"0da6ef2c61313e1942913a1f2a9349b254821578","author":{"name":"Kees Cook","email":"999bfbbf6e15a9d6aba3dfebadcec55340f87c3f@chromium.org"},"message":"BACKPORT: mm/zpool: use prefixed module loading\n\n(cherry-pick from commit 137f8cff505ace6251dc442c7aa973d60c801a79)\n\nTo avoid potential format string expansion via module parameters, do not\nuse the zpool type directly in request_module() without a format string.\nAdditionally, to avoid arbitrary modules being loaded via zpool API\n(e.g.  via the zswap_zpool_type module parameter) add a \"zpool-\" prefix\nto the requested module, as well as module aliases for the existing\nzpool types (zbud and zsmalloc).\n\nBug: 25951511\n\nChange-Id: Id04e543f6e12e73e72bf79bdde4b1b13c35d7cae\nSigned-off-by: Kees Cook <keescook@chromium.org>\nCc: Seth Jennings <sjennings@variantweb.net>\nCc: Minchan Kim <minchan@kernel.org>\nCc: Nitin Gupta <ngupta@vflare.org>\nAcked-by: Dan Streetman <ddstreet@ieee.org>\nSigned-off-by: Andrew Morton <akpm@linux-foundation.org>\nSigned-off-by: Linus Torvalds <torvalds@linux-foundation.org>","distinct":true,"url":"https://api.github.com/repos/Akuma70/MiUi/commits/0da6ef2c61313e1942913a1f2a9349b254821578"},{"sha":"4f3032eb9330f17346d6730155d62848f9c685e2","author":{"name":"Minchan Kim","email":"513909c15f9d22f3704dca2f86978b287731f351@kernel.org"},"message":"UPSTREAM: zsmalloc: move pages_allocated to zs_pool\n\n(cherry-pick from commit 13de8933c96b4557f667c337676f05274e017f83)\n\nCurrently, zram has no feature to limit memory so theoretically zram can\ndeplete system memory.  Users have asked for a limit several times as even\nwithout exhaustion zram makes it hard to control memory usage of the\nplatform.  This patchset adds the feature.\n\nPatch 1 makes zs_get_total_size_bytes faster because it would be used\nfrequently in later patches for the new feature.\n\nPatch 2 changes zs_get_total_size_bytes's return unit from bytes to page\nso that zsmalloc doesn't need unnecessary operation(ie, << PAGE_SHIFT).\n\nPatch 3 adds new feature.  I added the feature into zram layer, not\nzsmalloc because limiation is zram's requirement, not zsmalloc so any\nother user using zsmalloc(ie, zpool) shouldn't affected by unnecessary\nbranch of zsmalloc.  In future, if every users of zsmalloc want the\nfeature, then, we could move the feature from client side to zsmalloc\neasily but vice versa would be painful.\n\nPatch 4 adds news facility to report maximum memory usage of zram so that\nthis avoids user polling frequently via /sys/block/zram0/ mem_used_total\nand ensures transient max are not missed.\n\nThis patch (of 4):\n\npages_allocated has counted in size_class structure and when user of\nzsmalloc want to see total_size_bytes, it should gather all of count from\neach size_class to report the sum.\n\nIt's not bad if user don't see the value often but if user start to see\nthe value frequently, it would be not a good deal for performance pov.\n\nThis patch moves the count from size_class to zs_pool so it could reduce\nmemory footprint (from [255 * 8byte] to [sizeof(atomic_long_t)]).\n\nBug: 25951511\n\nChange-Id: I05526575b81c95a12a7f8f0ef05040ed18b5fa6f\nSigned-off-by: Minchan Kim <minchan@kernel.org>\nReviewed-by: Dan Streetman <ddstreet@ieee.org>\nCc: Sergey Senozhatsky <sergey.senozhatsky@gmail.com>\nCc: Jerome Marchand <jmarchan@redhat.com>\nCc: <juno.choi@lge.com>\nCc: <seungho1.park@lge.com>\nCc: Luigi Semenzato <semenzato@google.com>\nCc: Nitin Gupta <ngupta@vflare.org>\nCc: Seth Jennings <sjennings@variantweb.net>\nReviewed-by: David Horner <ds2horner@gmail.com>\nCc: Joonsoo Kim <iamjoonsoo.kim@lge.com>\nSigned-off-by: Andrew Morton <akpm@linux-foundation.org>\nSigned-off-by: Linus Torvalds <torvalds@linux-foundation.org>","distinct":true,"url":"https://api.github.com/repos/Akuma70/MiUi/commits/4f3032eb9330f17346d6730155d62848f9c685e2"},{"sha":"7a373802c5cf2a21b01042cdcaf9b274e3ca213a","author":{"name":"Minchan Kim","email":"513909c15f9d22f3704dca2f86978b287731f351@kernel.org"},"message":"UPSTREAM: zsmalloc: change return value unit of zs_get_total_size_bytes\n\n(cherry-pick from commit 722cdc17232f0f684011407f7cf3c40d39457971)\n\nzs_get_total_size_bytes returns a amount of memory zsmalloc consumed with\n*byte unit* but zsmalloc operates *page unit* rather than byte unit so\nlet's change the API so benefit we could get is that reduce unnecessary\noverhead (ie, change page unit with byte unit) in zsmalloc.\n\nSince return type is pages, \"zs_get_total_pages\" is better than\n\"zs_get_total_size_bytes\".\n\nBug: 25951511\n\nChange-Id: I2cbd9426483ae31c846923594e2cc3a8028e6cc2\nSigned-off-by: Minchan Kim <minchan@kernel.org>\nReviewed-by: Dan Streetman <ddstreet@ieee.org>\nCc: Sergey Senozhatsky <sergey.senozhatsky@gmail.com>\nCc: Jerome Marchand <jmarchan@redhat.com>\nCc: <juno.choi@lge.com>\nCc: <seungho1.park@lge.com>\nCc: Luigi Semenzato <semenzato@google.com>\nCc: Nitin Gupta <ngupta@vflare.org>\nCc: Seth Jennings <sjennings@variantweb.net>\nCc: David Horner <ds2horner@gmail.com>\nCc: Joonsoo Kim <iamjoonsoo.kim@lge.com>\nSigned-off-by: Andrew Morton <akpm@linux-foundation.org>\nSigned-off-by: Linus Torvalds <torvalds@linux-foundation.org>","distinct":true,"url":"https://api.github.com/repos/Akuma70/MiUi/commits/7a373802c5cf2a21b01042cdcaf9b274e3ca213a"},{"sha":"acf1b0e2fad49d1a5ed147d756c36f1d0ddb7bf1","author":{"name":"Minchan Kim","email":"513909c15f9d22f3704dca2f86978b287731f351@kernel.org"},"message":"UPSTREAM: zram: zram memory size limitation\n\n(cherry-pick from commit 9ada9da9573f3460b156b7755c093e30b258eacb)\n\nSince zram has no control feature to limit memory usage, it makes hard to\nmanage system memrory.\n\nThis patch adds new knob \"mem_limit\" via sysfs to set up the a limit so\nthat zram could fail allocation once it reaches the limit.\n\nIn addition, user could change the limit in runtime so that he could\nmanage the memory more dynamically.\n\nInitial state is no limit so it doesn't break old behavior.\n\nBug: 25951511\n\nChange-Id: I306a9582a9273c521d90b607a3ba2b44860a6273\n[akpm@linux-foundation.org: fix typo, per Sergey]\nSigned-off-by: Minchan Kim <minchan@kernel.org>\nCc: Dan Streetman <ddstreet@ieee.org>\nCc: Sergey Senozhatsky <sergey.senozhatsky@gmail.com>\nCc: Jerome Marchand <jmarchan@redhat.com>\nCc: <juno.choi@lge.com>\nCc: <seungho1.park@lge.com>\nCc: Luigi Semenzato <semenzato@google.com>\nCc: Nitin Gupta <ngupta@vflare.org>\nCc: Seth Jennings <sjennings@variantweb.net>\nCc: David Horner <ds2horner@gmail.com>\nCc: Joonsoo Kim <iamjoonsoo.kim@lge.com>\nCc: Minchan Kim <minchan@kernel.org>\nSigned-off-by: Andrew Morton <akpm@linux-foundation.org>\nSigned-off-by: Linus Torvalds <torvalds@linux-foundation.org>","distinct":true,"url":"https://api.github.com/repos/Akuma70/MiUi/commits/acf1b0e2fad49d1a5ed147d756c36f1d0ddb7bf1"},{"sha":"7a89c19adef807f3488897900b7734b1e4e53cd6","author":{"name":"Minchan Kim","email":"513909c15f9d22f3704dca2f86978b287731f351@kernel.org"},"message":"UPSTREAM: zram: report maximum used memory\n\n(cherry-pick from commit 461a8eee6af3b55745be64bea403ed0b743563cf)\n\nNormally, zram user could get maximum memory usage zram consumed via\npolling mem_used_total with sysfs in userspace.\n\nBut it has a critical problem because user can miss peak memory usage\nduring update inverval of polling.  For avoiding that, user should poll it\nwith shorter interval(ie, 0.0000000001s) with mlocking to avoid page fault\ndelay when memory pressure is heavy.  It would be troublesome.\n\nThis patch adds new knob \"mem_used_max\" so user could see the maximum\nmemory usage easily via reading the knob and reset it via \"echo 0 >\n/sys/block/zram0/mem_used_max\".\n\nBug: 25951511\n\nChange-Id: I117b162ce92f1601b2ad2af86ab205c6c9ca6769\nSigned-off-by: Minchan Kim <minchan@kernel.org>\nReviewed-by: Dan Streetman <ddstreet@ieee.org>\nCc: Sergey Senozhatsky <sergey.senozhatsky@gmail.com>\nCc: Jerome Marchand <jmarchan@redhat.com>\nCc: <juno.choi@lge.com>\nCc: <seungho1.park@lge.com>\nCc: Luigi Semenzato <semenzato@google.com>\nCc: Nitin Gupta <ngupta@vflare.org>\nCc: Seth Jennings <sjennings@variantweb.net>\nReviewed-by: David Horner <ds2horner@gmail.com>\nCc: Joonsoo Kim <iamjoonsoo.kim@lge.com>\nSigned-off-by: Andrew Morton <akpm@linux-foundation.org>\nSigned-off-by: Linus Torvalds <torvalds@linux-foundation.org>","distinct":true,"url":"https://api.github.com/repos/Akuma70/MiUi/commits/7a89c19adef807f3488897900b7734b1e4e53cd6"}]}
{"actor":{"display_login":"Akuma70"}}