GitHub PushEvent at 2014-08-18 16:10:02
Repository: linux
Actor: mripard
Payload: {"shas":[["833b706cc8b7b555e18d3426e9616bd066883a7a","bb6c8cfe7699e0f11d1bee88022eb563a5f8e881@lge.com","slab: destroy a slab without holding any alien cache lock\n\nI haven't heard that this alien cache lock is contended, but to reduce\nchance of contention would be better generally.  And with this change,\nwe can simplify complex lockdep annotation in slab code.  In the\nfollowing patch, it will be implemented.\n\nSigned-off-by: Joonsoo Kim <iamjoonsoo.kim@lge.com>\nAcked-by: Christoph Lameter <cl@linux.com>\nCc: Pekka Enberg <penberg@kernel.org>\nCc: David Rientjes <rientjes@google.com>\nSigned-off-by: Andrew Morton <akpm@linux-foundation.org>\nSigned-off-by: Linus Torvalds <torvalds@linux-foundation.org>","Joonsoo Kim",true],["367f7f2f45e7f601bcf87aeffb0c81e6d26e53df","bb6c8cfe7699e0f11d1bee88022eb563a5f8e881@lge.com","slab: remove a useless lockdep annotation\n\nNow, there is no code to hold two lock simultaneously, since we don't\ncall slab_destroy() with holding any lock.  So, lockdep annotation is\nuseless now.  Remove it.\n\nv2: don't remove BAD_ALIEN_MAGIC in this patch. It will be removed\n    in the following patch.\n\nSigned-off-by: Joonsoo Kim <iamjoonsoo.kim@lge.com>\nAcked-by: Christoph Lameter <cl@linux.com>\nCc: Pekka Enberg <penberg@kernel.org>\nCc: David Rientjes <rientjes@google.com>\nSigned-off-by: Andrew Morton <akpm@linux-foundation.org>\nSigned-off-by: Linus Torvalds <torvalds@linux-foundation.org>","Joonsoo Kim",true],["a640616822b2c3a8009b0600f20c4a76ea8a0025","bb6c8cfe7699e0f11d1bee88022eb563a5f8e881@lge.com","slab: remove BAD_ALIEN_MAGIC\n\nBAD_ALIEN_MAGIC value isn't used anymore. So remove it.\n\nSigned-off-by: Joonsoo Kim <iamjoonsoo.kim@lge.com>\nAcked-by: Christoph Lameter <cl@linux.com>\nCc: Pekka Enberg <penberg@kernel.org>\nCc: David Rientjes <rientjes@google.com>\nSigned-off-by: Andrew Morton <akpm@linux-foundation.org>\nSigned-off-by: Linus Torvalds <torvalds@linux-foundation.org>","Joonsoo Kim",true],["5e804789673114c616816f8387169790afe376b5","bb6c8cfe7699e0f11d1bee88022eb563a5f8e881@lge.com","slab: change int to size_t for representing allocation size\n\nIt is better to represent allocation size in size_t rather than int.  So\nchange it.\n\nSigned-off-by: Joonsoo Kim <iamjoonsoo.kim@lge.com>\nSuggested-by: Andrew Morton <akpm@linux-foundation.org>\nCc: Christoph Lameter <cl@linux.com>\nReviewed-by: Pekka Enberg <penberg@kernel.org>\nCc: David Rientjes <rientjes@google.com>\nSigned-off-by: Andrew Morton <akpm@linux-foundation.org>\nSigned-off-by: Linus Torvalds <torvalds@linux-foundation.org>","Joonsoo Kim",true],["54266640709a24c9844245d0d9f36b9cb1f31326","acbca9fda1bd78fcd284ddae8b872fb12de49b82@linux.vnet.ibm.com","slub: avoid duplicate creation on the first object\n\nWhen a kmem_cache is created with ctor, each object in the kmem_cache\nwill be initialized before ready to use.  While in slub implementation,\nthe first object will be initialized twice.\n\nThis patch reduces the duplication of initialization of the first\nobject.\n\nFix commit 7656c72b (\"SLUB: add macros for scanning objects in a slab\").\n\nSigned-off-by: Wei Yang <weiyang@linux.vnet.ibm.com>\nAcked-by: Christoph Lameter <cl@linux.com>\nCc: Pekka Enberg <penberg@kernel.org>\nCc: David Rientjes <rientjes@google.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>","Wei Yang",true],["928cec9cd6db53a68f54bc9ef1c54c674ba1c6bb","d7a2c23eccda99639e3fab64d868a1b1895748fa@samsung.com","mm: move slab related stuff from util.c to slab_common.c\n\nFunctions krealloc(), __krealloc(), kzfree() belongs to slab API, so\nshould be placed in slab_common.c\n\nAlso move slab allocator's tracepoints defenitions to slab_common.c No\nfunctional changes here.\n\nSigned-off-by: Andrey Ryabinin <a.ryabinin@samsung.com>\nAcked-by: Christoph Lameter <cl@linux.com>\nCc: Pekka Enberg <penberg@kernel.org>\nCc: David Rientjes <rientjes@google.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>","Andrey Ryabinin",true],["8a7d9b4306258e092afaae3c663661d22bf91f5c","bb485778c59c959c620dcf404550d8d7642fd953@gmail.com","mm/slab.c: fix comments\n\nCurrent struct kmem_cache has no 'lock' field, and slab page is managed by\nstruct kmem_cache_node, which has 'list_lock' field.\n\nClean up the related comment.\n\nSigned-off-by: Wang Sheng-Hui <shhuiw@gmail.com>\nCc: Christoph Lameter <cl@linux.com>\nCc: Pekka Enberg <penberg@kernel.org>\nCc: David Rientjes <rientjes@google.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>","Wang Sheng-Hui",true],["0aa9a13d80bae1bb24956f6e3e2662b7242e0b41","ff341aa343d564f9e53e9dcb6996be8c04859a66@oracle.com","mm, slub: fix some indenting in cmpxchg_double_slab()\n\nThe return statement goes with the cmpxchg_double() condition so it needs\nto be indented another tab.\n\nAlso these days the fashion is to line function parameters up, and it\nlooks nicer that way because then the \"freelist_new\" is not at the same\nindent level as the \"return 1;\".\n\nSigned-off-by: Dan Carpenter <dan.carpenter@oracle.com>\nSigned-off-by: Pekka Enberg <penberg@kernel.org>\nSigned-off-by: David Rientjes <rientjes@google.com>\nCc: Joonsoo Kim <iamjoonsoo.kim@lge.com>\nCc: Christoph Lameter <cl@linux.com>\nSigned-off-by: Andrew Morton <akpm@linux-foundation.org>\nSigned-off-by: Linus Torvalds <torvalds@linux-foundation.org>","Dan Carpenter",true],["4307c14f3c77bc0cb0facfc9c67c7872505aaedf","9eae2d327ddc4c2ff66f290d0aa6288f14fc5928@cn.fujitsu.com","slab: fix the alias count (via sysfs) of slab cache\n\nWe mark some slab caches (e.g.  kmem_cache_node) as unmergeable by\nsetting refcount to -1, and their alias should be 0, not refcount-1, so\ncorrect it here.\n\nSigned-off-by: Gu Zheng <guz.fnst@cn.fujitsu.com>\nAcked-by: David Rientjes <rientjes@google.com>\nCc: Christoph Lameter <cl@linux.com>\nCc: Pekka Enberg <penberg@kernel.org>\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>","Gu Zheng",true],["c42e5715617232563f0cf9f231d86b5133c4487e","16a9a54ddf4259952e3c118c763138e83693d7fd@perches.com","slab: convert last use of __FUNCTION__ to __func__\n\nJust about all of these have been converted to __func__, so convert the\nlast use.\n\nSigned-off-by: Joe Perches <joe@perches.com>\nSigned-off-by: Andrew Morton <akpm@linux-foundation.org>\nSigned-off-by: Linus Torvalds <torvalds@linux-foundation.org>","Joe Perches",true],["3e2faa085448d5c478ebc9d5f6cb4d822467f4d7","3efd2a027b14fd890cd23a9ef6d1134b4e5ad850@skynet.be","mm/readahead.c: remove unused file_ra_state from count_history_pages\n\ncount_history_pages does only call page_cache_prev_hole in rcu_lock\ncontext using address_space mapping.  There's no need to have\nfile_ra_state here.\n\nSigned-off-by: Fabian Frederick <fabf@skynet.be>\nAcked-by: Fengguang Wu <fengguang.wu@intel.com>\nAcked-by: David Rientjes <rientjes@google.com>\nSigned-off-by: Andrew Morton <akpm@linux-foundation.org>\nSigned-off-by: Linus Torvalds <torvalds@linux-foundation.org>","Fabian Frederick",true],["f276540441d255e2f87b37411c4fb75b0eca1606","3efd2a027b14fd890cd23a9ef6d1134b4e5ad850@skynet.be","mm/memory_hotplug.c: add __meminit to grow_zone_span/grow_pgdat_span\n\ngrow_zone_span and grow_pgdat_span are only called by\n__meminit __add_zone\n\nSigned-off-by: Fabian Frederick <fabf@skynet.be>\nCc: Toshi Kani <toshi.kani@hp.com>\nAcked-by: David Rientjes <rientjes@google.com>\nSigned-off-by: Andrew Morton <akpm@linux-foundation.org>\nSigned-off-by: Linus Torvalds <torvalds@linux-foundation.org>","Fabian Frederick",true],["e19318116048d5fbdb8d230d6d37625834b503cd","3efd2a027b14fd890cd23a9ef6d1134b4e5ad850@skynet.be","mm/page_alloc.c: add __meminit to alloc_pages_exact_nid()\n\nalloc_pages_exact_nid() is only called by __meminit alloc_page_cgroup()\n\nSigned-off-by: Fabian Frederick <fabf@skynet.be>\nCc: Mel Gorman <mgorman@suse.de>\nSigned-off-by: Andrew Morton <akpm@linux-foundation.org>\nSigned-off-by: Linus Torvalds <torvalds@linux-foundation.org>","Fabian Frederick",true],["b95b4e1ed92a203f4bdfc55f53d6e9c2773e3b6d","5c1e68b099950c134891f0b6e179498a8ebe9cf9@linux-foundation.org","mm/page_alloc.c: unexport alloc_pages_exact_nid()\n\nIt is only called by mm/page_cgroup.c whcih cannot be modular.\n\nReported-by: David Rientjes <rientjes@google.com>\nCc: Fabian Frederick <fabf@skynet.be>\nSigned-off-by: Andrew Morton <akpm@linux-foundation.org>\nSigned-off-by: Linus Torvalds <torvalds@linux-foundation.org>","Andrew Morton",true],["2cfb3665e864755400dc57b6ceee2ebb6b382910","3efd2a027b14fd890cd23a9ef6d1134b4e5ad850@skynet.be","include/linux/memblock.h: add __init to memblock_set_bottom_up()\n\nmemblock_set_bottom_up() is only called by __init\ncmdline_parse_movable_node() and __init numa_init().\n\nSigned-off-by: Fabian Frederick <fabf@skynet.be>\nReviewed-by: Tang Chen <tangchen@cn.fujitsu.com>\nSigned-off-by: Andrew Morton <akpm@linux-foundation.org>\nSigned-off-by: Linus Torvalds <torvalds@linux-foundation.org>","Fabian Frederick",true],["474750aba88817c53f39424e5567b8e4acc4b39b","bb6c8cfe7699e0f11d1bee88022eb563a5f8e881@lge.com","vmalloc: use rcu list iterator to reduce vmap_area_lock contention\n\nRichard Yao reported a month ago that his system have a trouble with\nvmap_area_lock contention during performance analysis by /proc/meminfo.\nAndrew asked why his analysis checks /proc/meminfo stressfully, but he\ndidn't answer it.\n\n  https://lkml.org/lkml/2014/4/10/416\n\nAlthough I'm not sure that this is right usage or not, there is a\nsolution reducing vmap_area_lock contention with no side-effect.  That\nis just to use rcu list iterator in get_vmalloc_info().\n\nrcu can be used in this function because all RCU protocol is already\nrespected by writers, since Nick Piggin commit db64fe02258f1 (\"mm:\nrewrite vmap layer\") back in linux-2.6.28\n\nSpecifically :\n   insertions use list_add_rcu(),\n   deletions use list_del_rcu() and kfree_rcu().\n\nNote the rb tree is not used from rcu reader (it would not be safe),\nonly the vmap_area_list has full RCU protection.\n\nNote that __purge_vmap_area_lazy() already uses this rcu protection.\n\n        rcu_read_lock();\n        list_for_each_entry_rcu(va, &vmap_area_list, list) {\n                if (va->flags & VM_LAZY_FREE) {\n                        if (va->va_start < *start)\n                                *start = va->va_start;\n                        if (va->va_end > *end)\n                                *end = va->va_end;\n                        nr += (va->va_end - va->va_start) >> PAGE_SHIFT;\n                        list_add_tail(&va->purge_list, &valist);\n                        va->flags |= VM_LAZY_FREEING;\n                        va->flags &= ~VM_LAZY_FREE;\n                }\n        }\n        rcu_read_unlock();\n\nPeter:\n\n: While rcu list traversal over the vmap_area_list is safe, this may\n: arrive at different results than the spinlocked version. The rcu list\n: traversal version will not be a 'snapshot' of a single, valid instant\n: of the entire vmap_area_list, but rather a potential amalgam of\n: different list states.\n\nJoonsoo:\n\n: Yes, you are right, but I don't think that we should be strict here.\n: Meminfo is already not a 'snapshot' at specific time.  While we try to get\n: certain stats, the other stats can change.  And, although we may arrive at\n: different results than the spinlocked version, the difference would not be\n: large and would not make serious side-effect.\n\n[edumazet@google.com: add more commit description]\nSigned-off-by: Joonsoo Kim <iamjoonsoo.kim@lge.com>\nReported-by: Richard Yao <ryao@gentoo.org>\nAcked-by: Eric Dumazet <edumazet@google.com>\nCc: Peter Hurley <peter@hurleysoftware.com>\nCc: Zhang Yanfei <zhangyanfei.yes@gmail.com>\nCc: Johannes Weiner <hannes@cmpxchg.org>\nCc: Andi Kleen <andi@firstfloor.org>\nSigned-off-by: Andrew Morton <akpm@linux-foundation.org>\nSigned-off-by: Linus Torvalds <torvalds@linux-foundation.org>","Joonsoo Kim",true],["c0d73261f5c1355a35b8b40e871d31578ce0c044","d3abdf3e2800e6cb849f11b81e6eb50b34d96431@google.com","mm/memory.c: use entry = ACCESS_ONCE(*pte) in handle_pte_fault()\n\nUse ACCESS_ONCE() in handle_pte_fault() when getting the entry or\norig_pte upon which all subsequent decisions and pte_same() tests will\nbe made.\n\nI have no evidence that its lack is responsible for the mm/filemap.c:202\nBUG_ON(page_mapped(page)) in __delete_from_page_cache() found by\ntrinity, and I am not optimistic that it will fix it.  But I have found\nno other explanation, and ACCESS_ONCE() here will surely not hurt.\n\nIf gcc does re-access the pte before passing it down, then that would be\ndisastrous for correct page fault handling, and certainly could explain\nthe page_mapped() BUGs seen (concurrent fault causing page to be mapped\nin a second time on top of itself: mapcount 2 for a single pte).\n\nSigned-off-by: Hugh Dickins <hughd@google.com>\nCc: Sasha Levin <sasha.levin@oracle.com>\nCc: Linus Torvalds <torvalds@linux-foundation.org>\nCc: \"Kirill A. Shutemov\" <kirill.shutemov@linux.intel.com>\nCc: Konstantin Khlebnikov <koct9i@gmail.com>\nSigned-off-by: Andrew Morton <akpm@linux-foundation.org>\nSigned-off-by: Linus Torvalds <torvalds@linux-foundation.org>","Hugh Dickins",true],["1f6a6cc82ed305c09385753c80bb7b3bc9eea864","4f61c4810b5ff5aa3e373c07e6d9ef9c55e4952f@cn.fujitsu.com","mem-hotplug: avoid illegal state prefixed with legal state when changing state of memory_block\n\nWe use the following command to online a memory_block:\n\n    echo online|online_kernel|online_movable > /sys/devices/system/memory/memoryXXX/state\n\nBut, if we do the following:\n\n    echo online_fhsjkghfkd > /sys/devices/system/memory/memoryXXX/state\n\nthe block will also be onlined.\n\nThis is because the following code in store_mem_state() does not compare\nthe whole string, but only the prefix of the string.\n\n  store_mem_state()\n  {\n       ......\n   328         if (!strncmp(buf, \"online_kernel\", min_t(int, count, 13)))\n\nHere, only compare the first 13 letters of the string. If we give \"online_kernelXXXXXX\",\nit will be recognized as online_kernel, which is incorrect.\n\n   329                 online_type = ONLINE_KERNEL;\n   330         else if (!strncmp(buf, \"online_movable\", min_t(int, count, 14)))\n\nWe have the same problem here,\n\n   331                 online_type = ONLINE_MOVABLE;\n   332         else if (!strncmp(buf, \"online\", min_t(int, count, 6)))\n\nhere,\n\n(Here is more problematic.  If we give online_movalbe, which is a typo\nof online_movable, it will be recognized as online without noticing the\nauthor.)\n\n   333                 online_type = ONLINE_KEEP;\n   334         else if (!strncmp(buf, \"offline\", min_t(int, count, 7)))\n\nand here.\n\n   335                 online_type = -1;\n   336         else {\n   337                 ret = -EINVAL;\n   338                 goto err;\n   339         }\n       ......\n  }\n\nThis patch fixes this problem by using sysfs_streq() to compare the\nwhole string.\n\nSigned-off-by: Tang Chen <tangchen@cn.fujitsu.com>\nReported-by: Hu Tao <hutao@cn.fujitsu.com>\nCc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>\nCc: Lai Jiangshan <laijs@cn.fujitsu.com>\nCc: Yasuaki Ishimatsu <isimatu.yasuaki@jp.fujitsu.com>\nCc: Gu Zheng <guz.fnst@cn.fujitsu.com>\nAcked-by: Toshi Kani <toshi.kani@hp.com>\nSigned-off-by: Andrew Morton <akpm@linux-foundation.org>\nSigned-off-by: Linus Torvalds <torvalds@linux-foundation.org>","Tang Chen",true],["4f7c6b49c45a398d72763d1f0e64ddff8b3653c7","4f61c4810b5ff5aa3e373c07e6d9ef9c55e4952f@cn.fujitsu.com","mem-hotplug: introduce MMOP_OFFLINE to replace the hard coding -1\n\nIn store_mem_state(), we have:\n\n  ...\n  334         else if (!strncmp(buf, \"offline\", min_t(int, count, 7)))\n  335                 online_type = -1;\n  ...\n  355         case -1:\n  356                 ret = device_offline(&mem->dev);\n  357                 break;\n  ...\n\nHere, \"offline\" is hard coded as -1.\n\nThis patch does the following renaming:\n\n ONLINE_KEEP     ->  MMOP_ONLINE_KEEP\n ONLINE_KERNEL   ->  MMOP_ONLINE_KERNEL\n ONLINE_MOVABLE  ->  MMOP_ONLINE_MOVABLE\n\nand introduces MMOP_OFFLINE = -1 to avoid hard coding.\n\nSigned-off-by: Tang Chen <tangchen@cn.fujitsu.com>\nCc: Hu Tao <hutao@cn.fujitsu.com>\nCc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>\nCc: Lai Jiangshan <laijs@cn.fujitsu.com>\nCc: Yasuaki Ishimatsu <isimatu.yasuaki@jp.fujitsu.com>\nCc: Gu Zheng <guz.fnst@cn.fujitsu.com>\nSigned-off-by: Andrew Morton <akpm@linux-foundation.org>\nSigned-off-by: Linus Torvalds <torvalds@linux-foundation.org>","Tang Chen",true],["7be12fc9f8dcae7f4c9647d495bd64fc4ffb6836","605208d9b4c769ca62e9f9f8b592c9cd465fe6d7@mina86.com","mm: page_alloc: simplify drain_zone_pages by using min()\n\nInstead of open-coding getting minimal value of two, just use min macro.\nThat is why it is there for.  While changing the function also change\ntype of batch local variable to match type of per_cpu_pages::batch\n(which is int).\n\nSigned-off-by: Michal Nazarewicz <mina86@mina86.com>\nAcked-by: David Rientjes <rientjes@google.com>\nSigned-off-by: Andrew Morton <akpm@linux-foundation.org>\nSigned-off-by: Linus Torvalds <torvalds@linux-foundation.org>","Michal Nazarewicz",true]],"size":1000,"ref":"refs/heads/sunxi-next","head":"da5aff641ceaec84189e014ab1cb793dd2aa3b6e"}