{"push_id":956867253,"size":16,"distinct_size":16,"ref":"refs/heads/kccat6-TW502","head":"9da3a5dd61d0c8f4aa77da85df16006102affcbc","before":"8455961a5feeafa9334aed10a2498387b8409180","commits":[{"sha":"0b102510e7f86eacb887542f9503f0ccfaa7b280","author":{"email":"74c05afa918858348d6db8037d82fa8124870113@openvz.org","name":"Andrew Vagin"},"message":"mm/vmscan.c: don't forget to free shrinker->nr_deferred\n\nThis leak was added by commit 1d3d4437eae1 (\"vmscan: per-node deferred\nwork\").\n\nunreferenced object 0xffff88006ada3bd0 (size 8):\n  comm \"criu\", pid 14781, jiffies 4295238251 (age 105.641s)\n  hex dump (first 8 bytes):\n    00 00 00 00 00 00 00 00                          ........\n  backtrace:\n    [<ffffffff8170caee>] kmemleak_alloc+0x5e/0xc0\n    [<ffffffff811c0527>] __kmalloc+0x247/0x310\n    [<ffffffff8117848c>] register_shrinker+0x3c/0xa0\n    [<ffffffff811e115b>] sget+0x5ab/0x670\n    [<ffffffff812532f4>] proc_mount+0x54/0x170\n    [<ffffffff811e1893>] mount_fs+0x43/0x1b0\n    [<ffffffff81202dd2>] vfs_kern_mount+0x72/0x110\n    [<ffffffff81202e89>] kern_mount_data+0x19/0x30\n    [<ffffffff812530a0>] pid_ns_prepare_proc+0x20/0x40\n    [<ffffffff81083c56>] alloc_pid+0x466/0x4a0\n    [<ffffffff8105aeda>] copy_process+0xc6a/0x1860\n    [<ffffffff8105beab>] do_fork+0x8b/0x370\n    [<ffffffff8105c1a6>] SyS_clone+0x16/0x20\n    [<ffffffff8171f739>] stub_clone+0x69/0x90\n    [<ffffffffffffffff>] 0xffffffffffffffff\n\nSigned-off-by: Andrew Vagin <avagin@openvz.org>\nCc: Mel Gorman <mgorman@suse.de>\nCc: Michal Hocko <mhocko@suse.cz>\nCc: Rik van Riel <riel@redhat.com>\nCc: Johannes Weiner <hannes@cmpxchg.org>\nCc: Glauber Costa <glommer@openvz.org>\nCc: Chuck Lever <chuck.lever@oracle.com>\nSigned-off-by: Andrew Morton <akpm@linux-foundation.org>\nSigned-off-by: Linus Torvalds <torvalds@linux-foundation.org>\nSigned-off-by: Tkkg1994 <luca.grifo@outlook.com>","distinct":true,"url":"https://api.github.com/repos/Tkkg1994/Nova-Kernel/commits/0b102510e7f86eacb887542f9503f0ccfaa7b280"},{"sha":"affcdef76b473aeaae2d622c652dfb03923e5186","author":{"email":"c4fe2b1d90ef8f2548c8aeabfa633434316f0305@linux.vnet.ibm.com","name":"Cody P Schafer"},"message":"mm/page_alloc: factor out setting of pcp->high and pcp->batch\n\n\"Problems\" with the current code:\n\n1: there is a lack of synchronization in setting ->high and ->batch in\n   percpu_pagelist_fraction_sysctl_handler()\n\n2: stop_machine() in zone_pcp_update() is unnecissary.\n\n3: zone_pcp_update() does not consider the case where\n   percpu_pagelist_fraction is non-zero\n\nTo fix:\n\n1: add memory barriers, a safe ->batch value, an update side mutex when\n   updating ->high and ->batch, and use ACCESS_ONCE() for ->batch users\n   that expect a stable value.\n\n2: avoid draining pages in zone_pcp_update(), rely upon the memory\n   barriers added to fix #1\n\n3: factor out quite a few functions, and then call the appropriate one.\n\nNote that it results in a change to the behavior of zone_pcp_update(),\nwhich is used by memory_hotplug.  I'm rather certain that I've diserned\n(and preserved) the essential behavior (changing ->high and ->batch), and\nonly eliminated unneeded actions (draining the per cpu pages), but this\nmay not be the case.\n\nFurther note that the draining of pages that previously took place in\nzone_pcp_update() occured after repeated draining when attempting to\noffline a page, and after the offline has \"succeeded\".  It appears that\nthe draining was added to zone_pcp_update() to avoid refactoring\nsetup_pageset() into 2 funtions.\n\nThis patch:\n\nCreates pageset_set_batch() for use in setup_pageset().\npageset_set_batch() imitates the functionality of\nsetup_pagelist_highmark(), but uses the boot time\n(percpu_pagelist_fraction == 0) calculations for determining ->high based\non ->batch.\n\nSigned-off-by: Cody P Schafer <cody@linux.vnet.ibm.com>\nCc: Gilad Ben-Yossef <gilad@benyossef.com>\nCc: KOSAKI Motohiro <kosaki.motohiro@gmail.com>\nCc: Mel Gorman <mgorman@suse.de>\nCc: Pekka Enberg <penberg@kernel.org>\nSigned-off-by: Andrew Morton <akpm@linux-foundation.org>\nSigned-off-by: Linus Torvalds <torvalds@linux-foundation.org>\nSigned-off-by: Tkkg1994 <luca.grifo@outlook.com>","distinct":true,"url":"https://api.github.com/repos/Tkkg1994/Nova-Kernel/commits/affcdef76b473aeaae2d622c652dfb03923e5186"},{"sha":"1c3633422b7e47628f5cdd7832de48447e438a42","author":{"email":"c4fe2b1d90ef8f2548c8aeabfa633434316f0305@linux.vnet.ibm.com","name":"Cody P Schafer"},"message":"mm/page_alloc: prevent concurrent updaters of pcp ->batch and ->high\n\nBecause we are going to rely upon a careful transision between old and new\n->high and ->batch values using memory barriers and will remove\nstop_machine(), we need to prevent multiple updaters from interweaving\ntheir memory writes.\n\nAdd a simple mutex to protect both update loops.\n\nSigned-off-by: Cody P Schafer <cody@linux.vnet.ibm.com>\nCc: Gilad Ben-Yossef <gilad@benyossef.com>\nCc: KOSAKI Motohiro <kosaki.motohiro@gmail.com>\nCc: Mel Gorman <mgorman@suse.de>\nCc: Pekka Enberg <penberg@kernel.org>\nSigned-off-by: Andrew Morton <akpm@linux-foundation.org>\nSigned-off-by: Linus Torvalds <torvalds@linux-foundation.org>\nSigned-off-by: Tkkg1994 <luca.grifo@outlook.com>","distinct":true,"url":"https://api.github.com/repos/Tkkg1994/Nova-Kernel/commits/1c3633422b7e47628f5cdd7832de48447e438a42"},{"sha":"600ab3aa37a8e3b96fefb8e4084374dfcc4bdf75","author":{"email":"c4fe2b1d90ef8f2548c8aeabfa633434316f0305@linux.vnet.ibm.com","name":"Cody P Schafer"},"message":"mm/page_alloc: insert memory barriers to allow async update of pcp batch and high\n\nIntroduce pageset_update() to perform a safe transision from one set of\npcp->{batch,high} to a new set using memory barriers.\n\nThis ensures that batch is always set to a safe value (1) prior to\nupdating high, and ensure that high is fully updated before setting the\nreal value of batch.  It avoids ->batch ever rising above ->high.\n\nSuggested by Gilad Ben-Yossef in these threads:\n\n\thttps://lkml.org/lkml/2013/4/9/23\n\thttps://lkml.org/lkml/2013/4/10/49\n\nAlso reproduces his proposed comment.\n\nSigned-off-by: Cody P Schafer <cody@linux.vnet.ibm.com>\nReviewed-by: Gilad Ben-Yossef <gilad@benyossef.com>\nCc: KOSAKI Motohiro <kosaki.motohiro@gmail.com>\nCc: Mel Gorman <mgorman@suse.de>\nCc: Pekka Enberg <penberg@kernel.org>\nSigned-off-by: Andrew Morton <akpm@linux-foundation.org>\nSigned-off-by: Linus Torvalds <torvalds@linux-foundation.org>\nSigned-off-by: Tkkg1994 <luca.grifo@outlook.com>","distinct":true,"url":"https://api.github.com/repos/Tkkg1994/Nova-Kernel/commits/600ab3aa37a8e3b96fefb8e4084374dfcc4bdf75"},{"sha":"edd3867eab396f28016066edc389a52036ff2b1c","author":{"email":"c4fe2b1d90ef8f2548c8aeabfa633434316f0305@linux.vnet.ibm.com","name":"Cody P Schafer"},"message":"mm/page_alloc: protect pcp->batch accesses with ACCESS_ONCE\n\npcp->batch could change at any point, avoid relying on it being a stable\nvalue.\n\nSigned-off-by: Cody P Schafer <cody@linux.vnet.ibm.com>\nCc: Gilad Ben-Yossef <gilad@benyossef.com>\nCc: KOSAKI Motohiro <kosaki.motohiro@gmail.com>\nCc: Mel Gorman <mgorman@suse.de>\nCc: Pekka Enberg <penberg@kernel.org>\nSigned-off-by: Andrew Morton <akpm@linux-foundation.org>\nSigned-off-by: Linus Torvalds <torvalds@linux-foundation.org>\nSigned-off-by: Tkkg1994 <luca.grifo@outlook.com>","distinct":true,"url":"https://api.github.com/repos/Tkkg1994/Nova-Kernel/commits/edd3867eab396f28016066edc389a52036ff2b1c"},{"sha":"da329ef497c84ed25eda4de7b646cfd420c0bf48","author":{"email":"c4fe2b1d90ef8f2548c8aeabfa633434316f0305@linux.vnet.ibm.com","name":"Cody P Schafer"},"message":"mm/page_alloc: convert zone_pcp_update() to rely on memory barriers instead of stop_machine()\n\nzone_pcp_update()'s goal is to adjust the ->high and ->mark members of a\npercpu pageset based on a zone's ->managed_pages.  We don't need to drain\nthe entire percpu pageset just to modify these fields.\n\nThis lets us avoid calling setup_pageset() (and the draining required to\ncall it) and instead allows simply setting the fields' values (with some\nattention paid to memory barriers to prevent the relationship between\n->batch and ->high from being thrown off).\n\nThis does change the behavior of zone_pcp_update() as the percpu pagesets\nwill not be drained when zone_pcp_update() is called (they will end up\nbeing shrunk, not completely drained, later when a 0-order page is freed\nin free_hot_cold_page()).\n\nSigned-off-by: Cody P Schafer <cody@linux.vnet.ibm.com>\nCc: Gilad Ben-Yossef <gilad@benyossef.com>\nCc: KOSAKI Motohiro <kosaki.motohiro@gmail.com>\nCc: Mel Gorman <mgorman@suse.de>\nCc: Pekka Enberg <penberg@kernel.org>\nSigned-off-by: Andrew Morton <akpm@linux-foundation.org>\nSigned-off-by: Linus Torvalds <torvalds@linux-foundation.org>\nSigned-off-by: Tkkg1994 <luca.grifo@outlook.com>","distinct":true,"url":"https://api.github.com/repos/Tkkg1994/Nova-Kernel/commits/da329ef497c84ed25eda4de7b646cfd420c0bf48"},{"sha":"c458cab1ed84d1673ad133c3607ffaab6f2a2419","author":{"email":"c4fe2b1d90ef8f2548c8aeabfa633434316f0305@linux.vnet.ibm.com","name":"Cody P Schafer"},"message":"mm/page_alloc: when handling percpu_pagelist_fraction, don't unneedly recalulate high\n\nSimply moves calculation of the new 'high' value outside the\nfor_each_possible_cpu() loop, as it does not depend on the cpu.\n\nSigned-off-by: Cody P Schafer <cody@linux.vnet.ibm.com>\nCc: Gilad Ben-Yossef <gilad@benyossef.com>\nCc: KOSAKI Motohiro <kosaki.motohiro@gmail.com>\nCc: Mel Gorman <mgorman@suse.de>\nCc: Pekka Enberg <penberg@kernel.org>\nSigned-off-by: Andrew Morton <akpm@linux-foundation.org>\nSigned-off-by: Linus Torvalds <torvalds@linux-foundation.org>\nSigned-off-by: Tkkg1994 <luca.grifo@outlook.com>","distinct":true,"url":"https://api.github.com/repos/Tkkg1994/Nova-Kernel/commits/c458cab1ed84d1673ad133c3607ffaab6f2a2419"},{"sha":"4970bc40cde5e6b0336b9826d76980f90fe06538","author":{"email":"c4fe2b1d90ef8f2548c8aeabfa633434316f0305@linux.vnet.ibm.com","name":"Cody P Schafer"},"message":"mm/page_alloc: factor setup_pageset() into pageset_init() and pageset_set_batch()\n\nSigned-off-by: Cody P Schafer <cody@linux.vnet.ibm.com>\nCc: Gilad Ben-Yossef <gilad@benyossef.com>\nCc: KOSAKI Motohiro <kosaki.motohiro@gmail.com>\nCc: Mel Gorman <mgorman@suse.de>\nCc: Pekka Enberg <penberg@kernel.org>\nSigned-off-by: Andrew Morton <akpm@linux-foundation.org>\nSigned-off-by: Linus Torvalds <torvalds@linux-foundation.org>\nSigned-off-by: Tkkg1994 <luca.grifo@outlook.com>","distinct":true,"url":"https://api.github.com/repos/Tkkg1994/Nova-Kernel/commits/4970bc40cde5e6b0336b9826d76980f90fe06538"},{"sha":"dd3cf84bf081d32df4ad2af6c762434013fcc976","author":{"email":"c4fe2b1d90ef8f2548c8aeabfa633434316f0305@linux.vnet.ibm.com","name":"Cody P Schafer"},"message":"mm/page_alloc: relocate comment to be directly above code it refers to.\n\nSigned-off-by: Cody P Schafer <cody@linux.vnet.ibm.com>\nCc: Gilad Ben-Yossef <gilad@benyossef.com>\nCc: KOSAKI Motohiro <kosaki.motohiro@gmail.com>\nCc: Mel Gorman <mgorman@suse.de>\nCc: Pekka Enberg <penberg@kernel.org>\nSigned-off-by: Andrew Morton <akpm@linux-foundation.org>\nSigned-off-by: Linus Torvalds <torvalds@linux-foundation.org>\nSigned-off-by: Tkkg1994 <luca.grifo@outlook.com>","distinct":true,"url":"https://api.github.com/repos/Tkkg1994/Nova-Kernel/commits/dd3cf84bf081d32df4ad2af6c762434013fcc976"},{"sha":"f973fff167db567957a17521e2d265c1b4ae9725","author":{"email":"c4fe2b1d90ef8f2548c8aeabfa633434316f0305@linux.vnet.ibm.com","name":"Cody P Schafer"},"message":"mm/page_alloc: factor zone_pageset_init() out of setup_zone_pageset()\n\nSigned-off-by: Cody P Schafer <cody@linux.vnet.ibm.com>\nCc: Gilad Ben-Yossef <gilad@benyossef.com>\nCc: KOSAKI Motohiro <kosaki.motohiro@gmail.com>\nCc: Mel Gorman <mgorman@suse.de>\nCc: Pekka Enberg <penberg@kernel.org>\nSigned-off-by: Andrew Morton <akpm@linux-foundation.org>\nSigned-off-by: Linus Torvalds <torvalds@linux-foundation.org>\nSigned-off-by: Tkkg1994 <luca.grifo@outlook.com>","distinct":true,"url":"https://api.github.com/repos/Tkkg1994/Nova-Kernel/commits/f973fff167db567957a17521e2d265c1b4ae9725"},{"sha":"2812f0fb4efbe3ae53abf453bcb601ed9bffe1ce","author":{"email":"c4fe2b1d90ef8f2548c8aeabfa633434316f0305@linux.vnet.ibm.com","name":"Cody P Schafer"},"message":"mm/page_alloc: in zone_pcp_update(), uze zone_pageset_init()\n\nPreviously, zone_pcp_update() called pageset_set_batch() directly,\nessentially assuming that percpu_pagelist_fraction == 0.\n\nCorrect this by calling zone_pageset_init(), which chooses the\nappropriate ->batch and ->high calculations.\n\nSigned-off-by: Cody P Schafer <cody@linux.vnet.ibm.com>\nCc: Gilad Ben-Yossef <gilad@benyossef.com>\nCc: KOSAKI Motohiro <kosaki.motohiro@gmail.com>\nCc: Mel Gorman <mgorman@suse.de>\nCc: Pekka Enberg <penberg@kernel.org>\nSigned-off-by: Andrew Morton <akpm@linux-foundation.org>\nSigned-off-by: Linus Torvalds <torvalds@linux-foundation.org>\nSigned-off-by: Tkkg1994 <luca.grifo@outlook.com>","distinct":true,"url":"https://api.github.com/repos/Tkkg1994/Nova-Kernel/commits/2812f0fb4efbe3ae53abf453bcb601ed9bffe1ce"},{"sha":"90e16c0e0910624cecfe82739b6db76b27492d30","author":{"email":"c4fe2b1d90ef8f2548c8aeabfa633434316f0305@linux.vnet.ibm.com","name":"Cody P Schafer"},"message":"mm/page_alloc: rename setup_pagelist_highmark() to match naming of pageset_set_batch()\n\nSigned-off-by: Cody P Schafer <cody@linux.vnet.ibm.com>\nCc: Gilad Ben-Yossef <gilad@benyossef.com>\nCc: KOSAKI Motohiro <kosaki.motohiro@gmail.com>\nCc: Mel Gorman <mgorman@suse.de>\nCc: Pekka Enberg <penberg@kernel.org>\nSigned-off-by: Andrew Morton <akpm@linux-foundation.org>\nSigned-off-by: Linus Torvalds <torvalds@linux-foundation.org>\nSigned-off-by: Tkkg1994 <luca.grifo@outlook.com>","distinct":true,"url":"https://api.github.com/repos/Tkkg1994/Nova-Kernel/commits/90e16c0e0910624cecfe82739b6db76b27492d30"},{"sha":"7ba2cacdaea0d675e09d842d793618531a83e71e","author":{"email":"c4fe2b1d90ef8f2548c8aeabfa633434316f0305@linux.vnet.ibm.com","name":"Cody P Schafer"},"message":"mm/page_alloc: don't re-init pageset in zone_pcp_update()\n\nWhen memory hotplug is triggered, we call pageset_init() on\nper-cpu-pagesets which both contain pages and are in use, causing both the\nleakage of those pages and (potentially) bad behaviour if a page is\nallocated from a pageset while it is being cleared.\n\nAvoid this by factoring out pageset_set_high_and_batch() (which contains\nall needed logic too set a pageset's ->high and ->batch inrespective of\nsystem state) from zone_pageset_init() and using the new\npageset_set_high_and_batch() instead of zone_pageset_init() in\nzone_pcp_update().\n\nSigned-off-by: Cody P Schafer <cody@linux.vnet.ibm.com>\nCc: Valdis Kletnieks <Valdis.Kletnieks@vt.edu>\nSigned-off-by: Andrew Morton <akpm@linux-foundation.org>\nSigned-off-by: Linus Torvalds <torvalds@linux-foundation.org>\nSigned-off-by: Tkkg1994 <luca.grifo@outlook.com>","distinct":true,"url":"https://api.github.com/repos/Tkkg1994/Nova-Kernel/commits/7ba2cacdaea0d675e09d842d793618531a83e71e"},{"sha":"ad842ab4b297cbbbc99ace0dd12144da65e17436","author":{"email":"a683964d4489dfcd1de21d1566170b1d560c877b@asianux.com","name":"Chen Gang"},"message":"mm/page_alloc.c: add additional checking and return value for the 'table->data'\n\n- check the length of the procfs data before copying it into a fixed\n  size array.\n\n- when __parse_numa_zonelist_order() fails, save the error code for\n  return.\n\n- 'char*' --> 'char *' coding style fix\n\nSigned-off-by: Chen Gang <gang.chen@asianux.com>\nSigned-off-by: Andrew Morton <akpm@linux-foundation.org>\nSigned-off-by: Linus Torvalds <torvalds@linux-foundation.org>\nSigned-off-by: Tkkg1994 <luca.grifo@outlook.com>","distinct":true,"url":"https://api.github.com/repos/Tkkg1994/Nova-Kernel/commits/ad842ab4b297cbbbc99ace0dd12144da65e17436"},{"sha":"e4cd73e64b26083599c76b628f86031e26aec859","author":{"email":"e15bea67e0bd782de26f1c3a3259ad680ed0e6e8@ti.com","name":"Vitaly Andrianov"},"message":"ARM: LPAE: use phys_addr_t in free_memmap()\n\nThe free_memmap() was mistakenly using unsigned long type to represent\nphysical addresses.  This breaks on PAE systems where memory could be placed\nabove the 32-bit addressible limit.\n\nThis patch fixes this function to properly use phys_addr_t instead.\n\nSigned-off-by: Vitaly Andrianov <vitalya@ti.com>\nSigned-off-by: Cyril Chemparathy <cyril@ti.com>\nAcked-by: Nicolas Pitre <nico@linaro.org>\nTested-by: Santosh Shilimkar <santosh.shilimkar@ti.com>\nTested-by: Subash Patel <subash.rp@samsung.com>\nSigned-off-by: Will Deacon <will.deacon@arm.com>\nSigned-off-by: Tkkg1994 <luca.grifo@outlook.com>","distinct":true,"url":"https://api.github.com/repos/Tkkg1994/Nova-Kernel/commits/e4cd73e64b26083599c76b628f86031e26aec859"},{"sha":"9da3a5dd61d0c8f4aa77da85df16006102affcbc","author":{"email":"e15bea67e0bd782de26f1c3a3259ad680ed0e6e8@ti.com","name":"Vitaly Andrianov"},"message":"ARM: LPAE: use phys_addr_t for initrd location\n\nThis patch fixes the initrd setup code to use phys_addr_t instead of assuming\n32-bit addressing.  Without this we cannot boot on systems where initrd is\nlocated above the 4G physical address limit.\n\nSigned-off-by: Vitaly Andrianov <vitalya@ti.com>\nSigned-off-by: Cyril Chemparathy <cyril@ti.com>\nAcked-by: Nicolas Pitre <nico@linaro.org>\nAcked-by: Catalin Marinas <catalin.marinas@arm.com>\nTested-by: Santosh Shilimkar <santosh.shilimkar@ti.com>\nTested-by: Subash Patel <subash.rp@samsung.com>\nSigned-off-by: Will Deacon <will.deacon@arm.com>\nSigned-off-by: Tkkg1994 <luca.grifo@outlook.com>","distinct":true,"url":"https://api.github.com/repos/Tkkg1994/Nova-Kernel/commits/9da3a5dd61d0c8f4aa77da85df16006102affcbc"}]}