)]}'
{
  "log": [
    {
      "commit": "ec574f8bb7b68e9b2128228f33964a9ce32d1f4f",
      "tree": "9fb316634b00eb45922401703e6fa73174e94f7a",
      "parents": [
        "86eb0dddb559286c69f6c3fefbfdbbc508e81ef1"
      ],
      "author": {
        "name": "Greg Reid",
        "email": "greid@codeaurora.org",
        "time": "Fri Oct 12 12:07:37 2012 -0400"
      },
      "committer": {
        "name": "Joonwoo Park",
        "email": "joonwoop@codeaurora.org",
        "time": "Tue Dec 03 14:38:54 2013 -0800"
      },
      "message": "kernel: Add hooks for user-accessible timers in the kernel.\n\nHooks for user-accessible timers allow implementation of a\nmore efficient gettimeofday in user-space.\n\nChange-Id: If2f63d010c1cf142eb84f3745617e756913e46f7\nSigned-off-by: Brent DeGraaf \u003cbdegraaf@codeaurora.org\u003e\nSigned-off-by: Joonwoo Park \u003cjoonwoop@codeaurora.org\u003e\n"
    },
    {
      "commit": "36abcfd971000b6e589ff65c3456d45b98757f89",
      "tree": "2306000f20fd9f8bbedc8b8339a4585e0f57ae24",
      "parents": [
        "d1c2fbe849e5669959be5a1db1b6d65ca43a19e7"
      ],
      "author": {
        "name": "Lisa Du",
        "email": "cldu@marvell.com",
        "time": "Wed Sep 11 14:22:36 2013 -0700"
      },
      "committer": {
        "name": "Swetha Chikkaboraiah",
        "email": "schikk@codeaurora.org",
        "time": "Mon Dec 02 18:32:37 2013 +0530"
      },
      "message": "mm: vmscan: fix do_try_to_free_pages() livelock\n\nThis patch is based on KOSAKI\u0027s work and I add a little more description,\nplease refer https://lkml.org/lkml/2012/6/14/74.\n\nCurrently, I found system can enter a state that there are lots of free\npages in a zone but only order-0 and order-1 pages which means the zone is\nheavily fragmented, then high order allocation could make direct reclaim\npath\u0027s long stall(ex, 60 seconds) especially in no swap and no compaciton\nenviroment.  This problem happened on v3.4, but it seems issue still lives\nin current tree, the reason is do_try_to_free_pages enter live lock:\n\nkswapd will go to sleep if the zones have been fully scanned and are still\nnot balanced.  As kswapd thinks there\u0027s little point trying all over again\nto avoid infinite loop.  Instead it changes order from high-order to\n0-order because kswapd think order-0 is the most important.  Look at\n73ce02e9 in detail.  If watermarks are ok, kswapd will go back to sleep\nand may leave zone-\u003eall_unreclaimable \u003d3D 0.  It assume high-order users\ncan still perform direct reclaim if they wish.\n\nDirect reclaim continue to reclaim for a high order which is not a\nCOSTLY_ORDER without oom-killer until kswapd turn on\nzone-\u003eall_unreclaimble\u003d .  This is because to avoid too early oom-kill.\nSo it means direct_reclaim depends on kswapd to break this loop.\n\nIn worst case, direct-reclaim may continue to page reclaim forever when\nkswapd sleeps forever until someone like watchdog detect and finally kill\nthe process.  As described in:\nhttp://thread.gmane.org/gmane.linux.kernel.mm/103737\n\nWe can\u0027t turn on zone-\u003eall_unreclaimable from direct reclaim path because\ndirect reclaim path don\u0027t take any lock and this way is racy.  Thus this\npatch removes zone-\u003eall_unreclaimable field completely and recalculates\nzone reclaimable state every time.\n\nNote: we can\u0027t take the idea that direct-reclaim see zone-\u003epages_scanned\ndirectly and kswapd continue to use zone-\u003eall_unreclaimable.  Because, it\nis racy.  commit 929bea7c71 (vmscan: all_unreclaimable() use\nzone-\u003eall_unreclaimable as a name) describes the detail.\n\nCRs-fixed: 573027\nChange-Id: I49970a0fa751cf33af293fd1ee784e36422785b1\n[akpm@linux-foundation.org: uninline zone_reclaimable_pages() and zone_reclaimable()]\nCc: Aaditya Kumar \u003caaditya.kumar.30@gmail.com\u003e\nCc: Ying Han \u003cyinghan@google.com\u003e\nCc: Nick Piggin \u003cnpiggin@gmail.com\u003e\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Christoph Lameter \u003ccl@linux.com\u003e\nCc: Bob Liu \u003clliubbo@gmail.com\u003e\nCc: Neil Zhang \u003czhangwm@marvell.com\u003e\nCc: Russell King - ARM Linux \u003clinux@arm.linux.org.uk\u003e\nReviewed-by: Michal Hocko \u003cmhocko@suse.cz\u003e\nAcked-by: Minchan Kim \u003cminchan@kernel.org\u003e\nAcked-by: Johannes Weiner \u003channes@cmpxchg.org\u003e\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: Lisa Du \u003ccldu@marvell.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nGit-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git\nGit-commit: 6e543d5780e36ff5ee56c44d7e2e30db3457a7ed\n[lauraa@codeaurora.org: Some context fixups and variable name changes due\nto backporting. Dropped parts that don\u0027t apply to older kernels]\nSigned-off-by: Laura Abbott \u003clauraa@codeaurora.org\u003e\nSigned-off-by: Swetha Chikkaboraiah \u003cschikk@codeaurora.org\u003e\n"
    },
    {
      "commit": "d1c2fbe849e5669959be5a1db1b6d65ca43a19e7",
      "tree": "8fb7b4e0a552efbfaa21a8de5c41f707734f78e7",
      "parents": [
        "e38e32468d062236395576053b98a088a776c63c"
      ],
      "author": {
        "name": "Shaohua Li",
        "email": "shli@kernel.org",
        "time": "Fri Feb 22 16:34:38 2013 -0800"
      },
      "committer": {
        "name": "Swetha Chikkaboraiah",
        "email": "schikk@codeaurora.org",
        "time": "Mon Dec 02 18:32:00 2013 +0530"
      },
      "message": "swap: add per-partition lock for swapfile\n\nswap_lock is heavily contended when I test swap to 3 fast SSD (even\nslightly slower than swap to 2 such SSD).  The main contention comes\nfrom swap_info_get().  This patch tries to fix the gap with adding a new\nper-partition lock.\n\nGlobal data like nr_swapfiles, total_swap_pages, least_priority and\nswap_list are still protected by swap_lock.\n\nnr_swap_pages is an atomic now, it can be changed without swap_lock.  In\ntheory, it\u0027s possible get_swap_page() finds no swap pages but actually\nthere are free swap pages.  But sounds not a big problem.\n\nAccessing partition specific data (like scan_swap_map and so on) is only\nprotected by swap_info_struct.lock.\n\nChanging swap_info_struct.flags need hold swap_lock and\nswap_info_struct.lock, because scan_scan_map() will check it.  read the\nflags is ok with either the locks hold.\n\nIf both swap_lock and swap_info_struct.lock must be hold, we always hold\nthe former first to avoid deadlock.\n\nswap_entry_free() can change swap_list.  To delete that code, we add a\nnew highest_priority_index.  Whenever get_swap_page() is called, we\ncheck it.  If it\u0027s valid, we use it.\n\nIt\u0027s a pity get_swap_page() still holds swap_lock().  But in practice,\nswap_lock() isn\u0027t heavily contended in my test with this patch (or I can\nsay there are other much more heavier bottlenecks like TLB flush).  And\nBTW, looks get_swap_page() doesn\u0027t really need the lock.  We never free\nswap_info[] and we check SWAP_WRITEOK flag.  The only risk without the\nlock is we could swapout to some low priority swap, but we can quickly\nrecover after several rounds of swap, so sounds not a big deal to me.\nBut I\u0027d prefer to fix this if it\u0027s a real problem.\n\n\"swap: make each swap partition have one address_space\" improved the\nswapout speed from 1.7G/s to 2G/s.  This patch further improves the\nspeed to 2.3G/s, so around 15% improvement.  It\u0027s a multi-process test,\nso TLB flush isn\u0027t the biggest bottleneck before the patches.\n\nCRs-Fixed: 573027\nChange-Id: Ic8d600653479c0e6767f04462c3f057b0fe94332\n[arnd@arndb.de: fix it for nommu]\n[hughd@google.com: add missing unlock]\n[minchan@kernel.org: get rid of lockdep whinge on sys_swapon]\nSigned-off-by: Shaohua Li \u003cshli@fusionio.com\u003e\nCc: Hugh Dickins \u003chughd@google.com\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nCc: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nCc: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\nCc: Seth Jennings \u003csjenning@linux.vnet.ibm.com\u003e\nCc: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\nCc: Xiao Guangrong \u003cxiaoguangrong@linux.vnet.ibm.com\u003e\nCc: Dan Magenheimer \u003cdan.magenheimer@oracle.com\u003e\nCc: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nSigned-off-by: Hugh Dickins \u003chughd@google.com\u003e\nSigned-off-by: Minchan Kim \u003cminchan@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nGit-commit: ec8acf20afb8534ed511f6613dd2226b9e301010\nGit-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git\n[lauraa@codeaurora.org: Various context fixups due to backport]\nSigned-off-by: Laura Abbott \u003clauraa@codeaurora.org\u003e\nSigned-off-by: Swetha Chikkaboraiah \u003cschikk@codeaurora.org\u003e\n"
    },
    {
      "commit": "e9223e5a30bd5930092ae22692e2cda76c9afd0c",
      "tree": "f45dbdc1ec3a0acd3ba4c3c9995315cdfc8cae00",
      "parents": [
        "0841f631e5cecf7fb08f6ae6c89e47b79dca83cd"
      ],
      "author": {
        "name": "Tomasz Stanislawski",
        "email": "t.stanislaws@samsung.com",
        "time": "Wed Jun 12 21:05:02 2013 +0000"
      },
      "committer": {
        "name": "Srinivasarao P",
        "email": "spathi@codeaurora.org",
        "time": "Fri Sep 27 11:02:59 2013 +0530"
      },
      "message": "mm/page_alloc.c: fix watermark check in __zone_watermark_ok()\n\nThe watermark check consists of two sub-checks.  The first one is:\n\n\tif (free_pages \u003c\u003d min + lowmem_reserve)\n\t\treturn false;\n\nThe check assures that there is minimal amount of RAM in the zone.  If\nCMA is used then the free_pages is reduced by the number of free pages\nin CMA prior to the over-mentioned check.\n\n\tif (!(alloc_flags \u0026 ALLOC_CMA))\n\t\tfree_pages -\u003d zone_page_state(z, NR_FREE_CMA_PAGES);\n\nThis prevents the zone from being drained from pages available for\nnon-movable allocations.\n\nThe second check prevents the zone from getting too fragmented.\n\n\tfor (o \u003d 0; o \u003c order; o++) {\n\t\tfree_pages -\u003d z-\u003efree_area[o].nr_free \u003c\u003c o;\n\t\tmin \u003e\u003e\u003d 1;\n\t\tif (free_pages \u003c\u003d min)\n\t\t\treturn false;\n\t}\n\nThe field z-\u003efree_area[o].nr_free is equal to the number of free pages\nincluding free CMA pages.  Therefore the CMA pages are subtracted twice.\nThis may cause a false positive fail of __zone_watermark_ok() if the CMA\narea gets strongly fragmented.  In such a case there are many 0-order\nfree pages located in CMA.  Those pages are subtracted twice therefore\nthey will quickly drain free_pages during the check against\nfragmentation.  The test fails even though there are many free non-cma\npages in the zone.\n\nThis patch fixes this issue by subtracting CMA pages only for a purpose of\n(free_pages \u003c\u003d min + lowmem_reserve) check.\n\nLaura said:\n\n  We were observing allocation failures of higher order pages (order 5 \u003d\n  128K typically) under tight memory conditions resulting in driver\n  failure.  The output from the page allocation failure showed plenty of\n  free pages of the appropriate order/type/zone and mostly CMA pages in\n  the lower orders.\n\n  For full disclosure, we still observed some page allocation failures\n  even after applying the patch but the number was drastically reduced and\n  those failures were attributed to fragmentation/other system issues.\n\nChange-Id: Ic2c0c233993c41c630e24d71df5e12aa614588e5\nCRs-Fixed:549847\nSigned-off-by: Tomasz Stanislawski \u003ct.stanislaws@samsung.com\u003e\nSigned-off-by: Kyungmin Park \u003ckyungmin.park@samsung.com\u003e\nTested-by: Laura Abbott \u003clauraa@codeaurora.org\u003e\nCc: Bartlomiej Zolnierkiewicz \u003cb.zolnierkie@samsung.com\u003e\nAcked-by: Minchan Kim \u003cminchan@kernel.org\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nTested-by: Marek Szyprowski \u003cm.szyprowski@samsung.com\u003e\nCc: \u003cstable@vger.kernel.org\u003e\t[3.7+]\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nGit-commit: 026b08147923142e925a7d0aaa39038055ae0156\nGit-repo: https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git\nSigned-off-by: Srinivasarao P \u003cspathi@codeaurora.org\u003e\n"
    },
    {
      "commit": "5bd38ba6b6c5bce90cf703359ec37be344710cf0",
      "tree": "fafba6c7a02fc388c4d7a58d6e05cb523d8db5bb",
      "parents": [
        "ddd9ef4d2b8ef897e57363e95058e1c596fb9598"
      ],
      "author": {
        "name": "Laura Abbott",
        "email": "lauraa@codeaurora.org",
        "time": "Wed Jul 31 13:08:11 2013 -0700"
      },
      "committer": {
        "name": "Gerrit - the friendly Code Review server",
        "email": "code-review@localhost",
        "time": "Wed Aug 14 04:35:26 2013 -0700"
      },
      "message": "mm: Don\u0027t use CMA page for file cache\n\nDespite the best efforts of redirection, the file system may still\nallocate CMA pages with references held for long periods of time.\nIf a CMA page ends up being allocated, free it and get a non-CMA page.\n\nChange-Id: I2001151a2936a6d0780d223dda85a87c04ddb8c6\nSigned-off-by: Laura Abbott \u003clauraa@codeaurora.org\u003e\n"
    },
    {
      "commit": "6ddc967f09f9e6008b095f039c963e5ab74be383",
      "tree": "b6dc90465e3a243b63bb887f2f5e603005d16ff1",
      "parents": [
        "ec005c0b2a1870b17795e5d6ae97a78a76f1febe"
      ],
      "author": {
        "name": "Marek Szyprowski",
        "email": "m.szyprowski@samsung.com",
        "time": "Tue Feb 12 13:46:24 2013 -0800"
      },
      "committer": {
        "name": "Laura Abbott",
        "email": "lauraa@codeaurora.org",
        "time": "Thu May 02 21:07:30 2013 -0700"
      },
      "message": "mm: cma: fix accounting of CMA pages placed in high memory\n\nThe total number of low memory pages is determined as totalram_pages -\ntotalhigh_pages, so without this patch all CMA pageblocks placed in\nhighmem were accounted to low memory.\n\nChange-Id: I10b78fa6a710828520a487b2fc2419b4f7521a6f\nCRs-Fixed: 480377\nSigned-off-by: Marek Szyprowski \u003cm.szyprowski@samsung.com\u003e\nAcked-by: Kyungmin Park \u003ckyungmin.park@samsung.com\u003e\nCc: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nGit-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git\nGit-commit: 41a7973447b0b8717f0a214d4328dc31ec2291d7\nSigned-off-by: Laura Abbott \u003clauraa@codeaurora.org\u003e\n"
    },
    {
      "commit": "ec005c0b2a1870b17795e5d6ae97a78a76f1febe",
      "tree": "7b2884cb0e5b25a8eb4cc3262875457133594e43",
      "parents": [
        "5e6e44d63c5ccdfffa2709b4924256ccdc937209"
      ],
      "author": {
        "name": "Marek Szyprowski",
        "email": "m.szyprowski@samsung.com",
        "time": "Tue Dec 11 16:02:59 2012 -0800"
      },
      "committer": {
        "name": "Laura Abbott",
        "email": "lauraa@codeaurora.org",
        "time": "Thu May 02 21:07:20 2013 -0700"
      },
      "message": "mm: cma: remove watermark hacks\n\nCommits 2139cbe627b8 (\"cma: fix counting of isolated pages\") and\nd95ea5d18e69 (\"cma: fix watermark checking\") introduced a reliable\nmethod of free page accounting when memory is being allocated from CMA\nregions, so the workaround introduced earlier by commit 49f223a9cd96\n(\"mm: trigger page reclaim in alloc_contig_range() to stabilise\nwatermarks\") can be finally removed.\n\nChange-Id: Iae17de8185eeabffd46752dbaf819591e6585869\nCRs-Fixed: 480377\nSigned-off-by: Marek Szyprowski \u003cm.szyprowski@samsung.com\u003e\nCc: Kyungmin Park \u003ckyungmin.park@samsung.com\u003e\nCc: Arnd Bergmann \u003carnd@arndb.de\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nAcked-by: Michal Nazarewicz \u003cmina86@mina86.com\u003e\nCc: Minchan Kim \u003cminchan@kernel.org\u003e\nCc: Bartlomiej Zolnierkiewicz \u003cb.zolnierkie@samsung.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nGit-commit: bc357f431c836c6631751e3ef7dfe7882394ad67\nGit-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git\n[lauraa@codeaurora.org: Context fixup in mmzone.h, keep zone definition in\nalloc_contig_range for other purposes]\nSigned-off-by: Laura Abbott \u003clauraa@codeaurora.org\u003e\n"
    },
    {
      "commit": "15962c2598f71e0fed921ae441fede5df2bb9e1c",
      "tree": "a8ce44efcbe6d4bd71e2913b8e46be7697cd7caa",
      "parents": [
        "366e0f00106958cf80e0c4a4c664c02562568525"
      ],
      "author": {
        "name": "Laura Abbott",
        "email": "lauraa@codeaurora.org",
        "time": "Fri Apr 05 12:39:18 2013 -0700"
      },
      "committer": {
        "name": "Gerrit - the friendly Code Review server",
        "email": "code-review@localhost",
        "time": "Mon Apr 08 14:49:42 2013 -0700"
      },
      "message": "mm: Retry original migrate type if CMA failed\n\nCurrently, __rmqueue_cma will disregard the original migrate type\nand only try MIGRATE_CMA for allocations. If the MIGRATE_CMA\nallocation fails, the fallback types of the original migrate type\nare used. Note that in this current path we never try to actually\nallocate from the original migrate type. If the only pages left\nin the system are the original migrate type, we will fail the\nallocation since we never actually try the original migrate type.\nThis may lead to infinite looping since the system still (correctly)\ncalculates there are pages available for allocation and will keep\ntrying to allocate pages. Fix this degenerate case by allocating\nfrom the original migrate type if the MIGRATE_CMA allocation fails.\n\nChange-Id: I62ab293dc694955eaf88e790131a8565395ba8cb\nCRs-Fixed: 470615\nSigned-off-by: Laura Abbott \u003clauraa@codeaurora.org\u003e\n"
    },
    {
      "commit": "48f37419dd547478aa46e9898dba65f8a6cfe0a1",
      "tree": "8bd5eb745415feb736c4f5525a8cee682671cbff",
      "parents": [
        "55eb56c75771a81d99e6a70af688f77cb38ff729"
      ],
      "author": {
        "name": "Heesub Shin",
        "email": "heesub.shin@samsung.com",
        "time": "Mon Jan 07 11:10:13 2013 +0900"
      },
      "committer": {
        "name": "Laura Abbott",
        "email": "lauraa@codeaurora.org",
        "time": "Wed Feb 20 14:40:26 2013 -0800"
      },
      "message": "cma: redirect page allocation to CMA\n\nCMA pages are designed to be used as fallback for movable allocations\nand cannot be used for non-movable allocations. If CMA pages are\nutilized poorly, non-movable allocations may end up getting starved if\nall regular movable pages are allocated and the only pages left are\nCMA. Always using CMA pages first creates unacceptable performance\nproblems. As a midway alternative, use CMA pages for certain\nuserspace allocations. The userspace pages can be migrated or dropped\nquickly which giving decent utilization.\n\nChange-Id: I6165dda01b705309eebabc6dfa67146b7a95c174\nCRs-Fixed: 452508\n[lauraa@codeaurora.org: Missing CONFIG_CMA guards, add commit text]\nSigned-off-by: Laura Abbott \u003clauraa@codeaurora.org\u003e\n"
    },
    {
      "commit": "55eb56c75771a81d99e6a70af688f77cb38ff729",
      "tree": "ef6fc63d0d0fed345b0f8f93f19312fce6ac19e4",
      "parents": [
        "1ace3155a4baf5a959ce5c372c99a286d7ec2de2"
      ],
      "author": {
        "name": "Laura Abbott",
        "email": "lauraa@codeaurora.org",
        "time": "Mon Feb 18 07:17:06 2013 -0800"
      },
      "committer": {
        "name": "Laura Abbott",
        "email": "lauraa@codeaurora.org",
        "time": "Wed Feb 20 14:40:08 2013 -0800"
      },
      "message": "Revert \"mm: cma: on movable allocations try MIGRATE_CMA first\"\n\nThis reverts commit b5662d64fa5ee483b985b351dec993402422fee3.\n\nUsing CMA pages first creates good utilization but has some\nunfortunate side effects. Many movable allocations come from\nthe filesystem layer which can hold on to pages for long periods\nof time which causes high allocation times (~200ms) and high\nrates of failure. Revert this patch and use alternate allocation\nstrategies to get better utilization.\n\nChange-Id: I917e137d5fb292c9f8282506f71a799a6451ccfa\nCRs-Fixed: 452508\nSigned-off-by: Laura Abbott \u003clauraa@codeaurora.org\u003e\n"
    },
    {
      "commit": "1ace3155a4baf5a959ce5c372c99a286d7ec2de2",
      "tree": "dd39d97b1f226c4fadd71e7271f9fe50036cd90d",
      "parents": [
        "4777a5ac5cfe6001027c3781808bfcc10c431d15"
      ],
      "author": {
        "name": "Laura Abbott",
        "email": "lauraa@codeaurora.org",
        "time": "Tue Feb 12 13:30:04 2013 -0800"
      },
      "committer": {
        "name": "Laura Abbott",
        "email": "lauraa@codeaurora.org",
        "time": "Wed Feb 20 14:39:41 2013 -0800"
      },
      "message": "mm: Don\u0027t put CMA pages on per cpu lists\n\nCMA allocations rely on being able to migrate pages out\nquickly to fulfill the allocations. Most use cases for\nmovable allocations meet this requirement. File system\nallocations may take an unaccpetably long time to\nmigrate, which creates delays from CMA. Prevent CMA\npages from ending up on the per-cpu lists to avoid\ncode paths grabbing CMA pages on the fast path. CMA\npages can still be allocated as a fallback under tight\nmemory pressure.\n\nCRs-Fixed: 452508\nChange-Id: I79a28f697275a2a1870caabae53c8ea345b4b47d\nSigned-off-by: Laura Abbott \u003clauraa@codeaurora.org\u003e\n"
    },
    {
      "commit": "850bf199320393f313bcdeda21eab85b3777efb9",
      "tree": "d5e52f60cc70eea92fe841c92543531578ed49b3",
      "parents": [
        "7ea4328ba50cffa9e8c4452f0318f22f34444177"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "b.zolnierkie@samsung.com",
        "time": "Mon Oct 08 16:32:05 2012 -0700"
      },
      "committer": {
        "name": "Laura Abbott",
        "email": "lauraa@codeaurora.org",
        "time": "Sun Feb 03 08:14:15 2013 -0800"
      },
      "message": "cma: fix watermark checking\n\n* Add ALLOC_CMA alloc flag and pass it to [__]zone_watermark_ok()\n  (from Minchan Kim).\n\n* During watermark check decrease available free pages number by\n  free CMA pages number if necessary (unmovable allocations cannot\n  use pages from CMA areas).\n\nCRs-Fixed: 446321\nChange-Id: Ibd069b028eb80b70701c1b81cb28a503d8265be0\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cb.zolnierkie@samsung.com\u003e\nSigned-off-by: Kyungmin Park \u003ckyungmin.park@samsung.com\u003e\nCc: Marek Szyprowski \u003cm.szyprowski@samsung.com\u003e\nCc: Michal Nazarewicz \u003cmina86@mina86.com\u003e\nCc: Minchan Kim \u003cminchan@kernel.org\u003e\nCc: Mel Gorman \u003cmgorman@suse.de\u003e\nCc: Hugh Dickins \u003chughd@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n[lauraa@codeaurora.org: context fixups]\nSigned-off-by: Laura Abbott \u003clauraa@codeaurora.org\u003e\n"
    },
    {
      "commit": "b70fa754f45acaf4ccf453978e415f5d0ae46d22",
      "tree": "70159ad1c99004fae119d536ff83df067b8c5307",
      "parents": [
        "b9c24b258289287f8c3f649d299d48920757dcc5"
      ],
      "author": {
        "name": "Rabin Vincent",
        "email": "rabin.vincent@stericsson.com",
        "time": "Tue Dec 11 16:00:24 2012 -0800"
      },
      "committer": {
        "name": "Sudhir Sharma",
        "email": "sudsha@codeaurora.org",
        "time": "Fri Jan 18 01:07:25 2013 -0800"
      },
      "message": "mm: show migration types in show_mem\n\nThis is useful to diagnose the reason for page allocation failure for\ncases where there appear to be several free pages.\n\nExample, with this alloc_pages(GFP_ATOMIC) failure:\n\n swapper/0: page allocation failure: order:0, mode:0x0\n ...\n Mem-info:\n Normal per-cpu:\n CPU    0: hi:   90, btch:  15 usd:  48\n CPU    1: hi:   90, btch:  15 usd:  21\n active_anon:0 inactive_anon:0 isolated_anon:0\n  active_file:0 inactive_file:84 isolated_file:0\n  unevictable:0 dirty:0 writeback:0 unstable:0\n  free:4026 slab_reclaimable:75 slab_unreclaimable:484\n  mapped:0 shmem:0 pagetables:0 bounce:0\n Normal free:16104kB min:2296kB low:2868kB high:3444kB active_anon:0kB\n inactive_anon:0kB active_file:0kB inactive_file:336kB unevictable:0kB\n isolated(anon):0kB isolated(file):0kB present:331776kB mlocked:0kB\n dirty:0kB writeback:0kB mapped:0kB shmem:0kB slab_reclaimable:300kB\n slab_unreclaimable:1936kB kernel_stack:328kB pagetables:0kB unstable:0kB\n bounce:0kB writeback_tmp:0kB pages_scanned:0 all_unreclaimable? no\n lowmem_reserve[]: 0 0\n\nBefore the patch, it\u0027s hard (for me, at least) to say why all these free\nchunks weren\u0027t considered for allocation:\n\n Normal: 0*4kB 0*8kB 0*16kB 0*32kB 0*64kB 0*128kB 1*256kB 1*512kB\n 1*1024kB 1*2048kB 3*4096kB \u003d 16128kB\n\nAfter the patch, it\u0027s obvious that the reason is that all of these are\nin the MIGRATE_CMA (C) freelist:\n\n Normal: 0*4kB 0*8kB 0*16kB 0*32kB 0*64kB 0*128kB 1*256kB (C) 1*512kB\n (C) 1*1024kB (C) 1*2048kB (C) 3*4096kB (C) \u003d 16128kB\n\nChange-Id: Ic5fe77d762e0c03715bfb917774e7c4f03ac43f5\nSigned-off-by: Rabin Vincent \u003crabin.vincent@stericsson.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nSigned-off-by: Laura Abbott \u003clauraa@codeaurora.org\u003e\n"
    },
    {
      "commit": "b9c24b258289287f8c3f649d299d48920757dcc5",
      "tree": "7d0d3f3ab08b5fc6cbee8d416592a9e4df0f4295",
      "parents": [
        "13f0fb1b9b6ec96b03ede07393d7efa19de53527"
      ],
      "author": {
        "name": "Michal Nazarewicz",
        "email": "mina86@mina86.com",
        "time": "Tue Nov 20 16:37:50 2012 +0100"
      },
      "committer": {
        "name": "Sudhir Sharma",
        "email": "sudsha@codeaurora.org",
        "time": "Fri Jan 18 01:06:32 2013 -0800"
      },
      "message": "mm: cma: on movable allocations try MIGRATE_CMA first\n\nIt has been observed that system tends to keep a lot of CMA free pages\neven in very high memory pressure use cases.  The CMA fallback for\nmovable pages is used very rarely, only when system is completely\npruned from MOVABLE pages.  This means that the out-of-memory is\ntriggered for unmovable allocations even when there are many CMA pages\navailable.  This problem was not observed previously since movable\npages were used as a fallback for unmovable allocations.\n\nTo avoid such situation this commit changes the allocation order so\nthat on movable allocations the MIGRATE_CMA pageblocks are used first.\n\nThis change means that the MIGRATE_CMA can be removed from fallback\npath of the MIGRATE_MOVABLE type.  This means that the\n__rmqueue_fallback() function will never deal with CMA pages and thus\nall the checks around MIGRATE_CMA can be removed from that function.\n\nChange-Id: Ie13312d62a6af12d7aa78b4283ed25535a6d49fd\nCRs-Fixed: 435287\nSigned-off-by: Michal Nazarewicz \u003cmina86@mina86.com\u003e\nReported-by: Marek Szyprowski \u003cm.szyprowski@samsung.com\u003e\nCc: Kyungmin Park \u003ckyungmin.park@samsung.com\u003e\nSigned-off-by: Laura Abbott \u003clauraa@codeaurora.org\u003e\n"
    },
    {
      "commit": "e8eebe90fb591b76950eff0238bf9b15717e02cc",
      "tree": "e10e9ef030b746dbf2f505685fa9bb71336e5494",
      "parents": [
        "a88184417fb27c2f5482eb98d37c7f3664508d0c"
      ],
      "author": {
        "name": "Liam Mark",
        "email": "lmark@codeaurora.org",
        "time": "Fri Jan 04 09:40:11 2013 -0800"
      },
      "committer": {
        "name": "Liam Mark",
        "email": "lmark@codeaurora.org",
        "time": "Fri Jan 04 10:09:06 2013 -0800"
      },
      "message": "android/lowmemorykiller: Selectively count free CMA pages\n\nIn certain memory configurations there can be a large number of\nCMA pages which are not suitable to satisfy certain memory\nrequests.\n\nThis large number of unsuitable pages can cause the\nlowmemorykiller to not kill any tasks because the\nlowmemorykiller counts all free pages.\nIn order to ensure the lowmemorykiller properly evaluates the\nfree memory only count the free CMA pages if they are suitable\nfor satisfying the memory request.\n\nChange-Id: I7f06d53e2d8cfe7439e5561fe6e5209ce73b1c90\nCRs-fixed: 437016\nSigned-off-by: Liam Mark \u003clmark@codeaurora.org\u003e\n"
    },
    {
      "commit": "733d861236661e6252afbb9ccb179d48f79334f3",
      "tree": "4edda9907fc715e98063a422b18ec1175423775f",
      "parents": [
        "922b8422857516bf67a760a398327a96fbbfa6a9"
      ],
      "author": {
        "name": "Laura Abbott",
        "email": "lauraa@codeaurora.org",
        "time": "Mon Dec 17 18:33:37 2012 -0800"
      },
      "committer": {
        "name": "Neha Pandey",
        "email": "nehap@codeaurora.org",
        "time": "Thu Dec 27 15:18:16 2012 -0800"
      },
      "message": "mm: Use correct define for CMA features\n\nCMA features may ifdef out parts of the code with\nCONFIG_CMA. Older code uses CONFIG_DMA_CMA. Switch\nto using the newer CONFIG_CMA to ensure the code gets\ncompiled when needed.\n\nChange-Id: I3cae639797787b4926a6c5e057de973b66196707\nSigned-off-by: Laura Abbott \u003clauraa@codeaurora.org\u003e\nSigned-off-by: Neha Pandey \u003cnehap@codeaurora.org\u003e\n"
    },
    {
      "commit": "922b8422857516bf67a760a398327a96fbbfa6a9",
      "tree": "693ead65bf39d2c97f122257b390a570869c3da2",
      "parents": [
        "13afc1a418378a97ba455122c6f6f79e1048c5cb"
      ],
      "author": {
        "name": "Larry Bassel",
        "email": "lbassel@codeaurora.org",
        "time": "Fri Dec 14 14:21:05 2012 -0800"
      },
      "committer": {
        "name": "Neha Pandey",
        "email": "nehap@codeaurora.org",
        "time": "Thu Dec 27 14:11:13 2012 -0800"
      },
      "message": "mm: make counts of CMA free pages correct\n\nBoth patches needed, second patch (among other things) fixes\na bug in the first.\n\ncommit 2139cbe627b8910ded55148f87ee10f7485408ed\nAuthor: Bartlomiej Zolnierkiewicz \u003cb.zolnierkie@samsung.com\u003e\nDate:   Mon Oct 8 16:32:00 2012 -0700\n\n    cma: fix counting of isolated pages\n\n    Isolated free pages shouldn\u0027t be accounted to NR_FREE_PAGES counter.  Fix\n    it by properly decreasing/increasing NR_FREE_PAGES counter in\n    set_migratetype_isolate()/unset_migratetype_isolate() and removing counter\n    adjustment for isolated pages from free_one_page() and split_free_page().\n\n    Signed-off-by: Bartlomiej Zolnierkiewicz \u003cb.zolnierkie@samsung.com\u003e\n    Signed-off-by: Kyungmin Park \u003ckyungmin.park@samsung.com\u003e\n    Cc: Marek Szyprowski \u003cm.szyprowski@samsung.com\u003e\n    Cc: Michal Nazarewicz \u003cmina86@mina86.com\u003e\n    Cc: Minchan Kim \u003cminchan@kernel.org\u003e\n    Cc: Mel Gorman \u003cmgorman@suse.de\u003e\n    Cc: Hugh Dickins \u003chughd@google.com\u003e\n    Signed-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\n    Signed-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n    [lbassel@codeaurora.org: backport from 3.7, small changes needed]\n    Signed-off-by: Larry Bassel \u003clbassel@codeaurora.org\u003e\n\ncommit d1ce749a0db12202b711d1aba1d29e823034648d\nAuthor: Bartlomiej Zolnierkiewicz \u003cb.zolnierkie@samsung.com\u003e\nDate:   Mon Oct 8 16:32:02 2012 -0700\n\n    cma: count free CMA pages\n\n    Add NR_FREE_CMA_PAGES counter to be later used for checking watermark in\n    __zone_watermark_ok().  For simplicity and to avoid #ifdef hell make this\n    counter always available (not only when CONFIG_CMA\u003dy).\n\n    [akpm@linux-foundation.org: use conventional migratetype naming]\n    Signed-off-by: Bartlomiej Zolnierkiewicz \u003cb.zolnierkie@samsung.com\u003e\n    Signed-off-by: Kyungmin Park \u003ckyungmin.park@samsung.com\u003e\n    Cc: Marek Szyprowski \u003cm.szyprowski@samsung.com\u003e\n    Cc: Michal Nazarewicz \u003cmina86@mina86.com\u003e\n    Cc: Minchan Kim \u003cminchan@kernel.org\u003e\n    Cc: Mel Gorman \u003cmgorman@suse.de\u003e\n    Cc: Hugh Dickins \u003chughd@google.com\u003e\n    Signed-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\n    Signed-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n    [lbassel@codeaurora.org: backport from 3.7, small changes needed]\n    Signed-off-by: Larry Bassel \u003clbassel@codeaurora.org\u003e\n\nChange-Id: I7d4f5fe0b6931192706337e0b730f43e7cccd031\nSigned-off-by: Larry Bassel \u003clbassel@codeaurora.org\u003e\nSigned-off-by: Neha Pandey \u003cnehap@codeaurora.org\u003e\n"
    },
    {
      "commit": "70b7280939672e434a6e2536a9a36f4dafc17934",
      "tree": "8e1632a6ea5252d7ce556de3be828f2606c4d345",
      "parents": [
        "afb2a33921982599d247a46b2306c75a4b69064b"
      ],
      "author": {
        "name": "Laura Abbott",
        "email": "lauraa@codeaurora.org",
        "time": "Fri Nov 30 14:07:01 2012 -0800"
      },
      "committer": {
        "name": "Mitchel Humpherys",
        "email": "mitchelh@codeaurora.org",
        "time": "Tue Dec 11 21:45:17 2012 -0800"
      },
      "message": "mm: Use aligned zone start for pfn_to_bitidx calculation\n\nThe current calculation in pfn_to_bitidx assumes that\n(pfn - zone-\u003ezone_start_pfn) \u003e\u003e pageblock_order will return the\nsame bit for all pfn in a pageblock. If zone_start_pfn is not\naligned to pageblock_nr_pages, this may not always be correct.\n\nConsider the following with pageblock order \u003d 10, zone start 2MB:\n\npfn     | pfn - zone start | (pfn - zone start) \u003e\u003e page block order\n----------------------------------------------------------------\n0x26000 | 0x25e00\t   |  0x97\n0x26100 | 0x25f00\t   |  0x97\n0x26200 | 0x26000\t   |  0x98\n0x26300 | 0x26100\t   |  0x98\n\nThis means that calling {get,set}_pageblock_migratetype on a single\npage will not set the migratetype for the full block. Fix this by\nrounding down zone_start_pfn when doing the bitidx calculation.\n\nChange-Id: I13e2f53f50db294f38ec86138c17c6fe29f0ee82\nSigned-off-by: Laura Abbott \u003clauraa@codeaurora.org\u003e\nSigned-off-by: Mitchel Humpherys \u003cmitchelh@codeaurora.org\u003e\n"
    },
    {
      "commit": "d3c11452319e8e958cc7485fa78d7737429323dd",
      "tree": "4f25f8d653217a3f61532e99187f4e8543c5f1ff",
      "parents": [
        "c21a803d13f8f03d10a4b70e80408b99645d9efa"
      ],
      "author": {
        "name": "Minchan Kim",
        "email": "minchan.kim@gmail.com",
        "time": "Fri May 11 09:37:13 2012 +0200"
      },
      "committer": {
        "name": "Mitchel Humpherys",
        "email": "mitchelh@codeaurora.org",
        "time": "Tue Dec 11 21:45:15 2012 -0800"
      },
      "message": "cma: fix migration mode\n\n__alloc_contig_migrate_range calls migrate_pages with wrong argument\nfor migrate_mode. Fix it.\n\nChange-Id: I84697cf7c6aef6253e9ee7e5b3028c946b95e253\nCc: Marek Szyprowski \u003cm.szyprowski@samsung.com\u003e\nSigned-off-by: Minchan Kim \u003cminchan@kernel.org\u003e\nAcked-by: Michal Nazarewicz \u003cmina86@mina86.com\u003e\nSigned-off-by: Marek Szyprowski \u003cm.szyprowski@samsung.com\u003e\nSigned-off-by: Laura Abbott \u003clauraa@codeaurora.org\u003e\nSigned-off-by: Mitchel Humpherys \u003cmitchelh@codeaurora.org\u003e\n"
    },
    {
      "commit": "c21a803d13f8f03d10a4b70e80408b99645d9efa",
      "tree": "a2d7da6a22e64724de6eb6ccb526ff23eb83c052",
      "parents": [
        "926c5240503f037ba0d5f45b6673487a4ec6bd18"
      ],
      "author": {
        "name": "woojoong.lee",
        "email": "woojoong.lee@samsung.com",
        "time": "Mon Dec 03 17:58:43 2012 -0800"
      },
      "committer": {
        "name": "Mitchel Humpherys",
        "email": "mitchelh@codeaurora.org",
        "time": "Tue Dec 11 21:45:15 2012 -0800"
      },
      "message": "cma : use migrate_prep() instead of migrate_prep_local()\n\n__alloc_contig_migrate_range() should use all possible ways to get all the\npages migrated from the given memory range, so pruning per-cpu lru lists\nfor all CPUs is required, regadless the cost of such operation. Otherwise\nsome pages which got stuck at per-cpu lru list might get missed by\nmigration procedure causing the contiguous allocation to fail.\n\nChange-Id: I70cc0864c57dd49e89f57797122a3fd0f300647a\nSigned-off-by: woojoong.lee \u003cwoojoong.lee@samsung.com\u003e\nReviewed-on: http://165.213.202.130:8080/43063\nTested-by: System S/W SCM \u003cscm.systemsw@samsung.com\u003e\nReviewed-by: daeho jeong \u003cdaeho.jeong@samsung.com\u003e\nReviewed-by: Jeong-Ho Kim \u003cjammer@samsung.com\u003e\nTested-by: Jeong-Ho Kim \u003cjammer@samsung.com\u003e\n[lauraa@codeaurora.org: Applied to correct file]\nSigned-off-by: Laura Abbott \u003clauraa@codeaurora.org\u003e\nSigned-off-by: Mitchel Humpherys \u003cmitchelh@codeaurora.org\u003e\n"
    },
    {
      "commit": "926c5240503f037ba0d5f45b6673487a4ec6bd18",
      "tree": "a05055556ef818570aec12318cc677e145d485ca",
      "parents": [
        "2dc518e5ebceb877016e7189b27e5506cb67c2ed"
      ],
      "author": {
        "name": "Laura Abbott",
        "email": "lauraa@codeaurora.org",
        "time": "Tue Nov 27 10:17:24 2012 -0800"
      },
      "committer": {
        "name": "Mitchel Humpherys",
        "email": "mitchelh@codeaurora.org",
        "time": "Tue Dec 11 21:45:14 2012 -0800"
      },
      "message": "mm: Add is_cma_pageblock definition\n\nBring back the is_cma_pageblock definition for determining if a\npage is CMA or not.\n\nChange-Id: I39fd546e22e240b752244832c79514f109c8e84b\nSigned-off-by: Laura Abbott \u003clauraa@codeaurora.org\u003e\nSigned-off-by: Mitchel Humpherys \u003cmitchelh@codeaurora.org\u003e\n"
    },
    {
      "commit": "2dc518e5ebceb877016e7189b27e5506cb67c2ed",
      "tree": "16cbe592362825a2c1586a8db4ae324e7dcaf4f1",
      "parents": [
        "039f2980c4f82d1b1c3e174ceaa56d514caffe35"
      ],
      "author": {
        "name": "Liam Mark",
        "email": "lmark@codeaurora.org",
        "time": "Tue Nov 27 18:49:58 2012 -0800"
      },
      "committer": {
        "name": "Mitchel Humpherys",
        "email": "mitchelh@codeaurora.org",
        "time": "Tue Dec 11 21:45:13 2012 -0800"
      },
      "message": "mm: split_free_page ignore memory watermarks for CMA\n\nMemory watermarks were sometimes preventing CMA allocations\nin low memory.\n\nChange-Id: I550ec987cbd6bc6dadd72b4a764df20cd0758479\nSigned-off-by: Liam Mark \u003clmark@codeaurora.org\u003e\nSigned-off-by: Mitchel Humpherys \u003cmitchelh@codeaurora.org\u003e\n"
    },
    {
      "commit": "039f2980c4f82d1b1c3e174ceaa56d514caffe35",
      "tree": "e64572ca200b2db400917574afe10d811ddb8928",
      "parents": [
        "630920b02b470e77b2832286f3791dbb43f4bc57"
      ],
      "author": {
        "name": "Laura Abbott",
        "email": "lauraa@codeaurora.org",
        "time": "Thu Nov 29 16:22:01 2012 -0800"
      },
      "committer": {
        "name": "Mitchel Humpherys",
        "email": "mitchelh@codeaurora.org",
        "time": "Tue Dec 11 21:45:13 2012 -0800"
      },
      "message": "mm: Don\u0027t use CMA pages for writes\n\nIf CMA pages are used for writes, the writes may not complete\nfast enough for CMA to be allocated within a reasonable amount\nof time. If we get a CMA page, get another one to use instead.\n\nChange-Id: I19d8ba655da7525d68d5947337d500566998971c\nSigned-off-by: Laura Abbott \u003clauraa@codeaurora.org\u003e\nSigned-off-by: Mitchel Humpherys \u003cmitchelh@codeaurora.org\u003e\n"
    },
    {
      "commit": "630920b02b470e77b2832286f3791dbb43f4bc57",
      "tree": "bf9d1e9bf20c0f5d0ecd2ee731908194c28514ef",
      "parents": [
        "5249a0554b29373a26f5f6bf7e19124a2bab143d"
      ],
      "author": {
        "name": "Heesub Shin",
        "email": "heesub.shin@samsung.com",
        "time": "Mon Dec 03 17:55:40 2012 -0800"
      },
      "committer": {
        "name": "Mitchel Humpherys",
        "email": "mitchelh@codeaurora.org",
        "time": "Tue Dec 11 21:45:12 2012 -0800"
      },
      "message": "cma: fix race condition on a page\n\ncruel, brute-force method for letting cma/migration to\nfinish its job without stealing the lock\nmigration_entry_wait() and creating a live-lock on the\nfaulted page. This patch solves the case of\npage-\u003e_count \u003d\u003d 2 migration failure.\n\nChange-Id: Ia94542a80e44a213831291af289bbf5ee6880bfd\nSigned-off-by: Heesub Shin \u003cheesub.shin@samsung.com\u003e\nReviewed-on: http://165.213.202.130:8080/39341\nTested-by: System S/W SCM \u003cscm.systemsw@samsung.com\u003e\nTested-by: Dongjun Shin \u003cd.j.shin@samsung.com\u003e\nReviewed-by: Hyunju Ahn \u003chyunju.ahn@samsung.com\u003e\nSigned-off-by: Laura Abbott \u003clauraa@codeaurora.org\u003e\nSigned-off-by: Mitchel Humpherys \u003cmitchelh@codeaurora.org\u003e\n"
    },
    {
      "commit": "fbfcd6fa25e08b96f28527da696a7b3250588df2",
      "tree": "8f2bf0cf48ef4ebe9fd1c81835fdd2103c73c0e3",
      "parents": [
        "2e781cd43f310a482c7d651a9d38de3459967fba"
      ],
      "author": {
        "name": "Rabin Vincent",
        "email": "rabin@rab.in",
        "time": "Thu Jul 05 15:52:23 2012 +0530"
      },
      "committer": {
        "name": "Laura Abbott",
        "email": "lauraa@codeaurora.org",
        "time": "Mon Jul 23 14:48:17 2012 -0700"
      },
      "message": "mm: cma: don\u0027t replace lowmem pages with highmem\n\nThe filesystem layer expects pages in the block device\u0027s mapping to not\nbe in highmem (the mapping\u0027s gfp mask is set in bdget()), but CMA can\ncurrently replace lowmem pages with highmem pages, leading to crashes in\nfilesystem code such as the one below:\n\n  Unable to handle kernel NULL pointer dereference at virtual address 00000400\n  pgd \u003d c0c98000\n  [00000400] *pgd\u003d00c91831, *pte\u003d00000000, *ppte\u003d00000000\n  Internal error: Oops: 817 [#1] PREEMPT SMP ARM\n  CPU: 0    Not tainted  (3.5.0-rc5+ #80)\n  PC is at __memzero+0x24/0x80\n  ...\n  Process fsstress (pid: 323, stack limit \u003d 0xc0cbc2f0)\n  Backtrace:\n  [\u003cc010e3f0\u003e] (ext4_getblk+0x0/0x180) from [\u003cc010e58c\u003e] (ext4_bread+0x1c/0x98)\n  [\u003cc010e570\u003e] (ext4_bread+0x0/0x98) from [\u003cc0117944\u003e] (ext4_mkdir+0x160/0x3bc)\n   r4:c15337f0\n  [\u003cc01177e4\u003e] (ext4_mkdir+0x0/0x3bc) from [\u003cc00c29e0\u003e] (vfs_mkdir+0x8c/0x98)\n  [\u003cc00c2954\u003e] (vfs_mkdir+0x0/0x98) from [\u003cc00c2a60\u003e] (sys_mkdirat+0x74/0xac)\n   r6:00000000 r5:c152eb40 r4:000001ff r3:c14b43f0\n  [\u003cc00c29ec\u003e] (sys_mkdirat+0x0/0xac) from [\u003cc00c2ab8\u003e] (sys_mkdir+0x20/0x24)\n   r6:beccdcf0 r5:00074000 r4:beccdbbc\n  [\u003cc00c2a98\u003e] (sys_mkdir+0x0/0x24) from [\u003cc000e3c0\u003e] (ret_fast_syscall+0x0/0x30)\n\nFix this by replacing only highmem pages with highmem.\n\nChange-Id: I6af2d509af48b5a586037be14bd3593b3f269d95\nReported-by: Laura Abbott \u003clauraa@codeaurora.org\u003e\nSigned-off-by: Rabin Vincent \u003crabin@rab.in\u003e\nAcked-by: Michal Nazarewicz \u003cmina86@mina86.com\u003e\nSigned-off-by: Marek Szyprowski \u003cm.szyprowski@samsung.com\u003e\nSigned-off-by: Laura Abbott \u003clauraa@codeaurora.org\u003e\n"
    },
    {
      "commit": "f398f30d1f34632d3c96758b5b19e65b056af072",
      "tree": "2b9e0d69cedefea5b8f127245e0ff37db4fe01dd",
      "parents": [
        "c4b646ff80f558010ee486421ee1b718db1a3193"
      ],
      "author": {
        "name": "Yong Wang",
        "email": "yong.y.wang@intel.com",
        "time": "Thu Apr 26 16:45:46 2012 +0530"
      },
      "committer": {
        "name": "Krishna Vanka",
        "email": "kvanka@codeaurora.org",
        "time": "Mon Jul 16 10:48:42 2012 +0530"
      },
      "message": "bdi: use deferable timer for sync_supers task\n\nsync_supers task currently wakes up periodically for superblock\nwriteback. This hurts power on battery driven devices. This patch\nturns this housekeeping timer into a deferable timer so that it\ndoes not fire when system is really idle.\n\nCRs-Fixed: 353700\nChange-Id: Idc7953b5d0580546808bc5832291ca570837ee7f\nSigned-off-by: Yong Wang \u003cyong.y.wang@intel.com\u003e\nSigned-off-by: Xia Wu \u003cxia.wu@intel.com\u003e\nSigned-off-by: Krishna Vanka \u003ckvanka@codeaurora.org\u003e\n"
    },
    {
      "commit": "f1f63887812a871f4a37842008bab4bdb7560011",
      "tree": "add9bb8720eeeace0bf747cb5efe06d7ed0b82d4",
      "parents": [
        "1ed36511162ddf23ccf3a834721c4fcfde8c9ff1"
      ],
      "author": {
        "name": "Marek Szyprowski",
        "email": "m.szyprowski@samsung.com",
        "time": "Wed Jan 25 12:49:24 2012 +0100"
      },
      "committer": {
        "name": "Laura Abbott",
        "email": "lauraa@codeaurora.org",
        "time": "Fri Jun 29 16:06:50 2012 -0700"
      },
      "message": "mm: trigger page reclaim in alloc_contig_range() to stabilise watermarks\n\nalloc_contig_range() performs memory allocation so it also should keep\ntrack on keeping the correct level of memory watermarks. This commit adds\na call to *_slowpath style reclaim to grab enough pages to make sure that\nthe final collection of contiguous pages from freelists will not starve\nthe system.\n\nChange-Id: I2d68d9ac2cfcd32ca6f515fc7e44e8d9d850dff1\nSigned-off-by: Marek Szyprowski \u003cm.szyprowski@samsung.com\u003e\nSigned-off-by: Kyungmin Park \u003ckyungmin.park@samsung.com\u003e\nCC: Michal Nazarewicz \u003cmina86@mina86.com\u003e\nTested-by: Rob Clark \u003crob.clark@linaro.org\u003e\nTested-by: Ohad Ben-Cohen \u003cohad@wizery.com\u003e\nTested-by: Benjamin Gaignard \u003cbenjamin.gaignard@linaro.org\u003e\nTested-by: Robert Nelson \u003crobertcnelson@gmail.com\u003e\nTested-by: Barry Song \u003cBaohua.Song@csr.com\u003e\nSigned-off-by: Laura Abbott \u003clauraa@codeaurora.org\u003e\n"
    },
    {
      "commit": "1ed36511162ddf23ccf3a834721c4fcfde8c9ff1",
      "tree": "3bc88974f90f8a7319d9b15fe3684327293e6886",
      "parents": [
        "e12aade2adf3c56764123c51af35ea74b221c4f1"
      ],
      "author": {
        "name": "Marek Szyprowski",
        "email": "m.szyprowski@samsung.com",
        "time": "Wed Jan 25 12:09:52 2012 +0100"
      },
      "committer": {
        "name": "Laura Abbott",
        "email": "lauraa@codeaurora.org",
        "time": "Fri Jun 29 16:06:49 2012 -0700"
      },
      "message": "mm: extract reclaim code from __alloc_pages_direct_reclaim()\n\nThis patch extracts common reclaim code from __alloc_pages_direct_reclaim()\nfunction to separate function: __perform_reclaim() which can be later used\nby alloc_contig_range().\n\nChange-Id: Ia9d8b82018d91dc669488955b20f69f1cba43147\nSigned-off-by: Marek Szyprowski \u003cm.szyprowski@samsung.com\u003e\nSigned-off-by: Kyungmin Park \u003ckyungmin.park@samsung.com\u003e\nCc: Michal Nazarewicz \u003cmina86@mina86.com\u003e\nAcked-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nTested-by: Rob Clark \u003crob.clark@linaro.org\u003e\nTested-by: Ohad Ben-Cohen \u003cohad@wizery.com\u003e\nTested-by: Benjamin Gaignard \u003cbenjamin.gaignard@linaro.org\u003e\nTested-by: Robert Nelson \u003crobertcnelson@gmail.com\u003e\nTested-by: Barry Song \u003cBaohua.Song@csr.com\u003e\nSigned-off-by: Laura Abbott \u003clauraa@codeaurora.org\u003e\n"
    },
    {
      "commit": "e12aade2adf3c56764123c51af35ea74b221c4f1",
      "tree": "7dabac1a6fc0b947e77c8d6a03f9d28fa7f2d32e",
      "parents": [
        "c80cd92bb7b152912b8d4487c18d040e1b4266b0"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mgorman@suse.de",
        "time": "Mon Apr 25 21:36:42 2011 +0000"
      },
      "committer": {
        "name": "Laura Abbott",
        "email": "lauraa@codeaurora.org",
        "time": "Fri Jun 29 16:06:49 2012 -0700"
      },
      "message": "mm: Serialize access to min_free_kbytes\n\nThere is a race between the min_free_kbytes sysctl, memory hotplug\nand transparent hugepage support enablement.  Memory hotplug uses a\nzonelists_mutex to avoid a race when building zonelists. Reuse it to\nserialise watermark updates.\n\nChange-Id: I31786592a8cc03e579ee01d99d7eba76e926263f\n[a.p.zijlstra@chello.nl: Older patch fixed the race with spinlock]\nSigned-off-by: Mel Gorman \u003cmgorman@suse.de\u003e\nSigned-off-by: Marek Szyprowski \u003cm.szyprowski@samsung.com\u003e\nReviewed-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nTested-by: Barry Song \u003cBaohua.Song@csr.com\u003e\nSigned-off-by: Laura Abbott \u003clauraa@codeaurora.org\u003e\n"
    },
    {
      "commit": "c80cd92bb7b152912b8d4487c18d040e1b4266b0",
      "tree": "1ec5588773c691c7d65c73bc8f8f946470cc3a2e",
      "parents": [
        "1d22dfa0b050d09fc589af90b8d35f32a5dc3056"
      ],
      "author": {
        "name": "Michal Nazarewicz",
        "email": "mina86@mina86.com",
        "time": "Tue Apr 03 15:06:15 2012 +0200"
      },
      "committer": {
        "name": "Laura Abbott",
        "email": "lauraa@codeaurora.org",
        "time": "Fri Jun 29 16:06:48 2012 -0700"
      },
      "message": "mm: page_isolation: MIGRATE_CMA isolation functions added\n\nThis commit changes various functions that change pages and\npageblocks migrate type between MIGRATE_ISOLATE and\nMIGRATE_MOVABLE in such a way as to allow to work with\nMIGRATE_CMA migrate type.\n\nChange-Id: Ib3a0b04cae49396b206a39bfced470e218ab1f90\nSigned-off-by: Michal Nazarewicz \u003cmina86@mina86.com\u003e\nSigned-off-by: Marek Szyprowski \u003cm.szyprowski@samsung.com\u003e\nReviewed-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nTested-by: Rob Clark \u003crob.clark@linaro.org\u003e\nTested-by: Ohad Ben-Cohen \u003cohad@wizery.com\u003e\nTested-by: Benjamin Gaignard \u003cbenjamin.gaignard@linaro.org\u003e\nTested-by: Robert Nelson \u003crobertcnelson@gmail.com\u003e\nTested-by: Barry Song \u003cBaohua.Song@csr.com\u003e\nSigned-off-by: Laura Abbott \u003clauraa@codeaurora.org\u003e\n"
    },
    {
      "commit": "d4158d253a1993af1faf103575045350313caeda",
      "tree": "531d46fbfc6a9d06c3cdd7f36ddc6dd9620efd93",
      "parents": [
        "c6114bf2a0c067ee77ce240e82694c88a4f31a7e"
      ],
      "author": {
        "name": "Michal Nazarewicz",
        "email": "mina86@mina86.com",
        "time": "Thu Dec 29 13:09:50 2011 +0100"
      },
      "committer": {
        "name": "Laura Abbott",
        "email": "lauraa@codeaurora.org",
        "time": "Tue Jun 26 10:32:20 2012 -0700"
      },
      "message": "mm: mmzone: MIGRATE_CMA migration type added\n\nThe MIGRATE_CMA migration type has two main characteristics:\n(i) only movable pages can be allocated from MIGRATE_CMA\npageblocks and (ii) page allocator will never change migration\ntype of MIGRATE_CMA pageblocks.\n\nThis guarantees (to some degree) that page in a MIGRATE_CMA page\nblock can always be migrated somewhere else (unless there\u0027s no\nmemory left in the system).\n\nIt is designed to be used for allocating big chunks (eg. 10MiB)\nof physically contiguous memory.  Once driver requests\ncontiguous memory, pages from MIGRATE_CMA pageblocks may be\nmigrated away to create a contiguous block.\n\nTo minimise number of migrations, MIGRATE_CMA migration type\nis the last type tried when page allocator falls back to other\nmigration types when requested.\n\nChange-Id: I2bb0954de8be4f212b03dea0e5a508048684bda2\nSigned-off-by: Michal Nazarewicz \u003cmina86@mina86.com\u003e\nSigned-off-by: Marek Szyprowski \u003cm.szyprowski@samsung.com\u003e\nSigned-off-by: Kyungmin Park \u003ckyungmin.park@samsung.com\u003e\nAcked-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nReviewed-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nTested-by: Rob Clark \u003crob.clark@linaro.org\u003e\nTested-by: Ohad Ben-Cohen \u003cohad@wizery.com\u003e\nTested-by: Benjamin Gaignard \u003cbenjamin.gaignard@linaro.org\u003e\nTested-by: Robert Nelson \u003crobertcnelson@gmail.com\u003e\nTested-by: Barry Song \u003cBaohua.Song@csr.com\u003e\nSigned-off-by: Laura Abbott \u003clauraa@codeaurora.org\u003e\n"
    },
    {
      "commit": "c6114bf2a0c067ee77ce240e82694c88a4f31a7e",
      "tree": "c889aaa7a6dc15362538105501e22a751b125a72",
      "parents": [
        "4c1ff37656a55618a00d3462bd1631f485a3ee8c"
      ],
      "author": {
        "name": "Michal Nazarewicz",
        "email": "mina86@mina86.com",
        "time": "Wed Jan 11 15:31:33 2012 +0100"
      },
      "committer": {
        "name": "Laura Abbott",
        "email": "lauraa@codeaurora.org",
        "time": "Tue Jun 26 10:32:20 2012 -0700"
      },
      "message": "mm: page_alloc: change fallbacks array handling\n\nThis commit adds a row for MIGRATE_ISOLATE type to the fallbacks array\nwhich was missing from it.  It also, changes the array traversal logic\na little making MIGRATE_RESERVE an end marker.  The letter change,\nremoves the implicit MIGRATE_UNMOVABLE from the end of each row which\nwas read by __rmqueue_fallback() function.\n\nChange-Id: Icdbbebb9eece2468c0b963964be9a4c579cbc775\nSigned-off-by: Michal Nazarewicz \u003cmina86@mina86.com\u003e\nSigned-off-by: Marek Szyprowski \u003cm.szyprowski@samsung.com\u003e\nAcked-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nReviewed-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nTested-by: Rob Clark \u003crob.clark@linaro.org\u003e\nTested-by: Ohad Ben-Cohen \u003cohad@wizery.com\u003e\nTested-by: Benjamin Gaignard \u003cbenjamin.gaignard@linaro.org\u003e\nTested-by: Robert Nelson \u003crobertcnelson@gmail.com\u003e\nTested-by: Barry Song \u003cBaohua.Song@csr.com\u003e\nSigned-off-by: Laura Abbott \u003clauraa@codeaurora.org\u003e\n"
    },
    {
      "commit": "4c1ff37656a55618a00d3462bd1631f485a3ee8c",
      "tree": "3fa7d31768f8a104bf4a1e0ae376e0a992961524",
      "parents": [
        "02ff1deb01f25ce3cdedb52d852974d0d2afe406"
      ],
      "author": {
        "name": "Michal Nazarewicz",
        "email": "mina86@mina86.com",
        "time": "Thu Dec 29 13:09:50 2011 +0100"
      },
      "committer": {
        "name": "Laura Abbott",
        "email": "lauraa@codeaurora.org",
        "time": "Tue Jun 26 10:32:20 2012 -0700"
      },
      "message": "mm: page_alloc: introduce alloc_contig_range()\n\nThis commit adds the alloc_contig_range() function which tries\nto allocate given range of pages.  It tries to migrate all\nalready allocated pages that fall in the range thus freeing them.\nOnce all pages in the range are freed they are removed from the\nbuddy system thus allocated for the caller to use.\n\nChange-Id: I659b133b1c9991568bfb6bd09c7792e15f2a2bfb\nSigned-off-by: Michal Nazarewicz \u003cmina86@mina86.com\u003e\nSigned-off-by: Marek Szyprowski \u003cm.szyprowski@samsung.com\u003e\nAcked-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nReviewed-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nTested-by: Rob Clark \u003crob.clark@linaro.org\u003e\nTested-by: Ohad Ben-Cohen \u003cohad@wizery.com\u003e\nTested-by: Benjamin Gaignard \u003cbenjamin.gaignard@linaro.org\u003e\nTested-by: Robert Nelson \u003crobertcnelson@gmail.com\u003e\nTested-by: Barry Song \u003cBaohua.Song@csr.com\u003e\nSigned-off-by: Laura Abbott \u003clauraa@codeaurora.org\u003e\n"
    },
    {
      "commit": "02ff1deb01f25ce3cdedb52d852974d0d2afe406",
      "tree": "4779f959959d1b3b33efe2ee52839d16c6c70a9c",
      "parents": [
        "61ee2fc958fa38c9b0cc834aef6a234b4376cff3"
      ],
      "author": {
        "name": "Michal Nazarewicz",
        "email": "mina86@mina86.com",
        "time": "Thu Dec 29 13:09:50 2011 +0100"
      },
      "committer": {
        "name": "Laura Abbott",
        "email": "lauraa@codeaurora.org",
        "time": "Tue Jun 26 10:32:20 2012 -0700"
      },
      "message": "mm: compaction: export some of the functions\n\nThis commit exports some of the functions from compaction.c file\noutside of it adding their declaration into internal.h header\nfile so that other mm related code can use them.\n\nThis forced compaction.c to always be compiled (as opposed to being\ncompiled only if CONFIG_COMPACTION is defined) but as to avoid\nintroducing code that user did not ask for, part of the compaction.c\nis now wrapped in on #ifdef.\n\nChange-Id: Id51bc882d1befd5afef2c8d1e5dcc7993496893c\nSigned-off-by: Michal Nazarewicz \u003cmina86@mina86.com\u003e\nSigned-off-by: Marek Szyprowski \u003cm.szyprowski@samsung.com\u003e\nAcked-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nReviewed-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nTested-by: Rob Clark \u003crob.clark@linaro.org\u003e\nTested-by: Ohad Ben-Cohen \u003cohad@wizery.com\u003e\nTested-by: Benjamin Gaignard \u003cbenjamin.gaignard@linaro.org\u003e\nTested-by: Robert Nelson \u003crobertcnelson@gmail.com\u003e\nTested-by: Barry Song \u003cBaohua.Song@csr.com\u003e\nSigned-off-by: Laura Abbott \u003clauraa@codeaurora.org\u003e\n"
    },
    {
      "commit": "61ee2fc958fa38c9b0cc834aef6a234b4376cff3",
      "tree": "a8b50b1d9b8ecc28dcaae5f063136da2d77b08ea",
      "parents": [
        "2770ccfd916e6167af0c6fae07228329f9c3abe9"
      ],
      "author": {
        "name": "Michal Nazarewicz",
        "email": "mina86@mina86.com",
        "time": "Mon Jan 30 13:24:03 2012 +0100"
      },
      "committer": {
        "name": "Laura Abbott",
        "email": "lauraa@codeaurora.org",
        "time": "Tue Jun 26 10:32:19 2012 -0700"
      },
      "message": "mm: compaction: introduce isolate_freepages_range()\n\nThis commit introduces isolate_freepages_range() function which\ngeneralises isolate_freepages_block() so that it can be used on\narbitrary PFN ranges.\n\nisolate_freepages_block() is left with only minor changes.\n\nChange-Id: I59917adce1fa71ef9f0534abb5ba07f84c6dcdc7\nSigned-off-by: Michal Nazarewicz \u003cmina86@mina86.com\u003e\nSigned-off-by: Marek Szyprowski \u003cm.szyprowski@samsung.com\u003e\nAcked-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nReviewed-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nTested-by: Rob Clark \u003crob.clark@linaro.org\u003e\nTested-by: Ohad Ben-Cohen \u003cohad@wizery.com\u003e\nTested-by: Benjamin Gaignard \u003cbenjamin.gaignard@linaro.org\u003e\nTested-by: Robert Nelson \u003crobertcnelson@gmail.com\u003e\nTested-by: Barry Song \u003cBaohua.Song@csr.com\u003e\nSigned-off-by: Laura Abbott \u003clauraa@codeaurora.org\u003e\n"
    },
    {
      "commit": "2770ccfd916e6167af0c6fae07228329f9c3abe9",
      "tree": "dd6bcf34233b58c297f3f1f23005d9736662bd56",
      "parents": [
        "a196a6ca54e51c35bc0b8392ff9a1c5599d8fc19"
      ],
      "author": {
        "name": "Michal Nazarewicz",
        "email": "mina86@mina86.com",
        "time": "Mon Jan 30 13:23:47 2012 +0100"
      },
      "committer": {
        "name": "Laura Abbott",
        "email": "lauraa@codeaurora.org",
        "time": "Tue Jun 26 10:32:19 2012 -0700"
      },
      "message": "mm: compaction: introduce map_pages()\n\nThis commit creates a map_pages() function which map pages freed\nusing split_free_pages().  This merely moves some code from\nisolate_freepages() so that it can be reused in other places.\n\nChange-Id: Ia67eaee00ca88a402f21a651de409bd93ae00312\nSigned-off-by: Michal Nazarewicz \u003cmina86@mina86.com\u003e\nSigned-off-by: Marek Szyprowski \u003cm.szyprowski@samsung.com\u003e\nAcked-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nReviewed-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nTested-by: Robert Nelson \u003crobertcnelson@gmail.com\u003e\nTested-by: Barry Song \u003cBaohua.Song@csr.com\u003e\nSigned-off-by: Laura Abbott \u003clauraa@codeaurora.org\u003e\n"
    },
    {
      "commit": "a196a6ca54e51c35bc0b8392ff9a1c5599d8fc19",
      "tree": "227a0aa6eb3989d67dbb70149cb2384de21a6bde",
      "parents": [
        "adc95fd67db3a93510c858f558f2e52d7571e1db"
      ],
      "author": {
        "name": "Michal Nazarewicz",
        "email": "mina86@mina86.com",
        "time": "Mon Jan 30 13:16:26 2012 +0100"
      },
      "committer": {
        "name": "Laura Abbott",
        "email": "lauraa@codeaurora.org",
        "time": "Tue Jun 26 10:32:19 2012 -0700"
      },
      "message": "mm: compaction: introduce isolate_migratepages_range()\n\nThis commit introduces isolate_migratepages_range() function which\nextracts functionality from isolate_migratepages() so that it can be\nused on arbitrary PFN ranges.\n\nisolate_migratepages() function is implemented as a simple wrapper\naround isolate_migratepages_range().\n\nChange-Id: I8e82434ba75d9862bec485392eb079c9d3b70ae0\nSigned-off-by: Michal Nazarewicz \u003cmina86@mina86.com\u003e\nSigned-off-by: Marek Szyprowski \u003cm.szyprowski@samsung.com\u003e\nAcked-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nReviewed-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nTested-by: Rob Clark \u003crob.clark@linaro.org\u003e\nTested-by: Ohad Ben-Cohen \u003cohad@wizery.com\u003e\nTested-by: Benjamin Gaignard \u003cbenjamin.gaignard@linaro.org\u003e\nTested-by: Robert Nelson \u003crobertcnelson@gmail.com\u003e\nTested-by: Barry Song \u003cBaohua.Song@csr.com\u003e\nSigned-off-by: Laura Abbott \u003clauraa@codeaurora.org\u003e\n"
    },
    {
      "commit": "adc95fd67db3a93510c858f558f2e52d7571e1db",
      "tree": "99764741d97c21f1d13d7df4fe46d2efbef5aa63",
      "parents": [
        "63e6e20a39c7636d81cd1912ccb114ed9830eeaa"
      ],
      "author": {
        "name": "Michal Nazarewicz",
        "email": "mina86@mina86.com",
        "time": "Wed Jan 11 15:16:11 2012 +0100"
      },
      "committer": {
        "name": "Laura Abbott",
        "email": "lauraa@codeaurora.org",
        "time": "Tue Jun 26 10:32:19 2012 -0700"
      },
      "message": "mm: page_alloc: remove trailing whitespace\n\nChange-Id: I1f112fa3be958d1f9d24ebd076ef4ddcf91fe868\nSigned-off-by: Michal Nazarewicz \u003cmina86@mina86.com\u003e\nSigned-off-by: Marek Szyprowski \u003cm.szyprowski@samsung.com\u003e\nAcked-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nSigned-off-by: Laura Abbott \u003clauraa@codeaurora.org\u003e\n"
    },
    {
      "commit": "5310349dc7cd8a900bb33934df103e86c65baea0",
      "tree": "171a74fa7f29fafd235751cb77b3d21c6874b3cc",
      "parents": [
        "26d45460e9699e041a399713f1524ceecf3df200"
      ],
      "author": {
        "name": "Shashank Mittal",
        "email": "mittals@codeaurora.org",
        "time": "Tue Jun 19 19:45:35 2012 -0700"
      },
      "committer": {
        "name": "Shashank Mittal",
        "email": "mittals@codeaurora.org",
        "time": "Tue Jun 19 19:51:08 2012 -0700"
      },
      "message": "mm: Fix a compiler warning.\n\nFix compiler warning for a variable not initialized.\n\nChange-Id: Ieedeb1cfb5a22eb5f671e6bfd1361315347a49af\nSigned-off-by: Shashank Mittal \u003cmittals@codeaurora.org\u003e\n"
    },
    {
      "commit": "fa002621c590c56e13cd86e944919a5771a6e03e",
      "tree": "cfd4cd60944226684e60737b02712414a4bc9d4d",
      "parents": [
        "e847911515edb5b1109be0e9e6e8206e42e048aa"
      ],
      "author": {
        "name": "KyongHo",
        "email": "pullip.cho@samsung.com",
        "time": "Tue May 29 15:06:49 2012 -0700"
      },
      "committer": {
        "name": "Steve Muckle",
        "email": "smuckle@codeaurora.org",
        "time": "Wed Jun 06 19:01:38 2012 -0700"
      },
      "message": "mm: fix faulty initialization in vmalloc_init()\n\nThe transfer of -\u003eflags causes some of the static mapping virtual\naddresses to be prematurely freed (before the mapping is removed) because\nVM_LAZY_FREE gets \"set\" if tmp-\u003eflags has VM_IOREMAP set.  This might\ncause subsequent vmalloc/ioremap calls to fail because it might allocate\none of the freed virtual address ranges that aren\u0027t unmapped.\n\nva-\u003eflags has different types of flags from tmp-\u003eflags.  If a region with\nVM_IOREMAP set is registered with vm_area_add_early(), it will be removed\nby __purge_vmap_area_lazy().\n\nFix vmalloc_init() to correctly initialize vmap_area for the given\nvm_struct.\n\nAlso initialise va-\u003evm.  If it is not set, find_vm_area() for the early\nvm regions will always fail.\n\nSigned-off-by: KyongHo Cho \u003cpullip.cho@samsung.com\u003e\nCc: \"Olav Haugan\" \u003cohaugan@codeaurora.org\u003e\nCc: \u003cstable@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nSigned-off-by: Steve Muckle \u003csmuckle@codeaurora.org\u003e\n"
    },
    {
      "commit": "f132c6cf77251e011e1dad0ec88c0b1fda16d5aa",
      "tree": "f04b469a3547a19b7bdbe110adc571eb71c93328",
      "parents": [
        "23016defd7db701a01dc49f972ad6b1bae9651c2",
        "3f6240f3e4e2608caf1a70d614ada658cbcbe7be"
      ],
      "author": {
        "name": "Steve Muckle",
        "email": "smuckle@codeaurora.org",
        "time": "Wed Jun 06 18:30:57 2012 -0700"
      },
      "committer": {
        "name": "Steve Muckle",
        "email": "smuckle@codeaurora.org",
        "time": "Wed Jun 06 18:45:28 2012 -0700"
      },
      "message": "Merge commit \u0027AU_LINUX_ANDROID_ICS.04.00.04.00.126\u0027 into msm-3.4\n\nAU_LINUX_ANDROID_ICS.04.00.04.00.126 from msm-3.0.\nFirst parent is from google/android-3.4.\n\n* commit \u0027AU_LINUX_ANDROID_ICS.04.00.04.00.126\u0027: (8712 commits)\n  PRNG: Device tree entry for qrng device.\n  vidc:1080p: Set video core timeout value for Thumbnail mode\n  msm: sps: improve the debugging support in SPS driver\n  board-8064 msm: Overlap secure and non secure video firmware heaps.\n  msm: clock: Add handoff ops for 7x30 and copper XO clocks\n  msm_fb: display: Wait for external vsync before DTV IOMMU unmap\n  msm: Fix ciruclar dependency in debug UART settings\n  msm: gdsc: Add GDSC regulator driver for msm-copper\n  defconfig: Enable Mobicore Driver.\n  mobicore: Add mobicore driver.\n  mobicore: rename variable to lower case.\n  mobicore: rename folder.\n  mobicore: add makefiles\n  mobicore: initial import of kernel driver\n  ASoC: msm: Add SLIMBUS_2_RX CPU DAI\n  board-8064-gpio: Update FUNC for EPM SPI CS\n  msm_fb: display: Remove chicken bit config during video playback\n  mmc: msm_sdcc: enable the sanitize capability\n  msm-fb: display: lm2 writeback support on mpq platfroms\n  msm_fb: display: Disable LVDS phy \u0026 pll during panel off\n  ...\n\nSigned-off-by: Steve Muckle \u003csmuckle@codeaurora.org\u003e\n"
    },
    {
      "commit": "5500e4fab219bf210f22d2334cc98f3ca8f8912d",
      "tree": "60f3edf480190ee60676348c1ca2730a699f8671",
      "parents": [
        "903f6c716db3d4e26952aae9717f81dd5bc9e4ba",
        "76e10d158efb6d4516018846f60c2ab5501900bc"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri May 25 13:56:28 2012 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri May 25 13:56:28 2012 -0700"
      },
      "message": "Merge commit \u0027v3.4\u0027 into android-3.4\n"
    },
    {
      "commit": "1aa4e5a974b3087d29510802810170c071df8546",
      "tree": "f2d984de7ce60ce31d933e51fcc24ddbd4bbf985",
      "parents": [
        "03bb493026b10388b5aea58f723d5c15d7ae77eb"
      ],
      "author": {
        "name": "Stephen Boyd",
        "email": "sboyd@codeaurora.org",
        "time": "Mon May 14 18:55:50 2012 -0700"
      },
      "committer": {
        "name": "Stephen Boyd",
        "email": "sboyd@codeaurora.org",
        "time": "Mon May 21 14:10:46 2012 -0700"
      },
      "message": "memblock: Add memblock_overlaps_memory()\n\nAdd a new function, memblock_overlaps_memory(), to check if a\nregion overlaps with a memory bank. This will be used by\nperipheral loader code to detect when kernel memory would be\noverwritten.\n\nChange-Id: I851f8f416a0f36e85c0e19536b5209f7d4bd431c\nSigned-off-by: Stephen Boyd \u003csboyd@codeaurora.org\u003e\n"
    },
    {
      "commit": "62ade86ab6c7e26409229ca45503cae97bf698cf",
      "tree": "569ce54e1fce1f985cc9525712c39b2b020e1fdf",
      "parents": [
        "b1dab2f0409c478fd2d9e227c2c018524eca9603"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hughd@google.com",
        "time": "Fri May 18 11:28:34 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat May 19 10:10:27 2012 -0700"
      },
      "message": "memcg,thp: fix res_counter:96 regression\n\nOccasionally, testing memcg\u0027s move_charge_at_immigrate on rc7 shows\na flurry of hundreds of warnings at kernel/res_counter.c:96, where\nres_counter_uncharge_locked() does WARN_ON(counter-\u003eusage \u003c val).\n\nThe first trace of each flurry implicates __mem_cgroup_cancel_charge()\nof mc.precharge, and an audit of mc.precharge handling points to\nmem_cgroup_move_charge_pte_range()\u0027s THP handling in commit 12724850e806\n(\"memcg: avoid THP split in task migration\").\n\nChecking !mc.precharge is good everywhere else, when a single page is to\nbe charged; but here the \"mc.precharge -\u003d HPAGE_PMD_NR\" likely to\nfollow, is liable to result in underflow (a lot can change since the\nprecharge was estimated).\n\nSimply check against HPAGE_PMD_NR: there\u0027s probably a better\nalternative, trying precharge for more, splitting if unsuccessful; but\nthis one-liner is safer for now - no kernel/res_counter.c:96 warnings\nseen in 26 hours.\n\nSigned-off-by: Hugh Dickins \u003chughd@google.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "02e1a9cd1ea99b67a668f13b61fdf5d42115db0a",
      "tree": "9b3bda333e113047b62f79681cad416259bee160",
      "parents": [
        "eb94cd96e05d6c65a07937e66a04ea265c1b767d"
      ],
      "author": {
        "name": "majianpeng",
        "email": "majianpeng@gmail.com",
        "time": "Thu May 17 17:03:26 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 17 18:00:51 2012 -0700"
      },
      "message": "slub: missing test for partial pages flush work in flush_all()\n\nI found some kernel messages such as:\n\n    SLUB raid5-md127: kmem_cache_destroy called for cache that still has objects.\n    Pid: 6143, comm: mdadm Tainted: G           O 3.4.0-rc6+        #75\n    Call Trace:\n    kmem_cache_destroy+0x328/0x400\n    free_conf+0x2d/0xf0 [raid456]\n    stop+0x41/0x60 [raid456]\n    md_stop+0x1a/0x60 [md_mod]\n    do_md_stop+0x74/0x470 [md_mod]\n    md_ioctl+0xff/0x11f0 [md_mod]\n    blkdev_ioctl+0xd8/0x7a0\n    block_ioctl+0x3b/0x40\n    do_vfs_ioctl+0x96/0x560\n    sys_ioctl+0x91/0xa0\n    system_call_fastpath+0x16/0x1b\n\nThen using kmemleak I found these messages:\n\n    unreferenced object 0xffff8800b6db7380 (size 112):\n      comm \"mdadm\", pid 5783, jiffies 4294810749 (age 90.589s)\n      hex dump (first 32 bytes):\n        01 01 db b6 ad 4e ad de ff ff ff ff ff ff ff ff  .....N..........\n        ff ff ff ff ff ff ff ff 98 40 4a 82 ff ff ff ff  .........@J.....\n      backtrace:\n        kmemleak_alloc+0x21/0x50\n        kmem_cache_alloc+0xeb/0x1b0\n        kmem_cache_open+0x2f1/0x430\n        kmem_cache_create+0x158/0x320\n        setup_conf+0x649/0x770 [raid456]\n        run+0x68b/0x840 [raid456]\n        md_run+0x529/0x940 [md_mod]\n        do_md_run+0x18/0xc0 [md_mod]\n        md_ioctl+0xba8/0x11f0 [md_mod]\n        blkdev_ioctl+0xd8/0x7a0\n        block_ioctl+0x3b/0x40\n        do_vfs_ioctl+0x96/0x560\n        sys_ioctl+0x91/0xa0\n        system_call_fastpath+0x16/0x1b\n\nThis bug was introduced by commit a8364d5555b (\"slub: only IPI CPUs that\nhave per cpu obj to flush\"), which did not include checks for per cpu\npartial pages being present on a cpu.\n\nSigned-off-by: majianpeng \u003cmajianpeng@gmail.com\u003e\nCc: Gilad Ben-Yossef \u003cgilad@benyossef.com\u003e\nAcked-by: Christoph Lameter \u003ccl@linux.com\u003e\nCc: Pekka Enberg \u003cpenberg@kernel.org\u003e\nTested-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ec0b571c19ac62ab0bb80d373a3d4922a48b4b75",
      "tree": "10c597f5227c969c3f2b909fbeb29725a0c5c6e8",
      "parents": [
        "7bb8b65407a519d3a90dd8cecdd1ccd10ee0c6cc",
        "36be50515fe2aef61533b516fa2576a2c7fe7664"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon May 14 16:41:02 2012 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon May 14 16:41:02 2012 -0700"
      },
      "message": "Merge commit \u0027v3.4-rc7\u0027 into android-3.4\n"
    },
    {
      "commit": "1b76b02f15c70d5f392ee2e231fbd20a26063a77",
      "tree": "5c7bee2e8a5333e9f99b64287d587a026386459e",
      "parents": [
        "d60b9c16d7bae49b75255520abd7dfd2e94627bc"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hughd@google.com",
        "time": "Fri May 11 01:00:07 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 11 09:23:39 2012 -0700"
      },
      "message": "mm: raise MemFree by reverting percpu_pagelist_fraction to 0\n\nWhy is there less MemFree than there used to be?  It perturbed a test,\nso I\u0027ve just been bisecting linux-next, and now find the offender went\nupstream yesterday.\n\nCommit 93278814d359 \"mm: fix division by 0 in percpu_pagelist_fraction()\"\nmistakenly initialized percpu_pagelist_fraction to the sysctl\u0027s minimum 8,\nwhich leaves 1/8th of memory on percpu lists (on each cpu??); but most of\nus expect it to be left unset at 0 (and it\u0027s not then used as a divisor).\n\n  MemTotal: 8061476kB  8061476kB  8061476kB  8061476kB  8061476kB  8061476kB\n  Repetitive test with percpu_pagelist_fraction 8:\n  MemFree:  6948420kB  6237172kB  6949696kB  6840692kB  6949048kB  6862984kB\n  Same test with percpu_pagelist_fraction back to 0:\n  MemFree:  7945000kB  7944908kB  7948568kB  7949060kB  7948796kB  7948812kB\n\nSigned-off-by: Hugh Dickins \u003chughd@google.com\u003e\n[ We really should fix the crazy sysctl interface too, but that\u0027s a\n  separate thing - Linus ]\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7c283324da366a3e6ffaad4352a51a3c71fcae17",
      "tree": "b4d02c340a17ac5134889c4eec7dcd06d407e3ca",
      "parents": [
        "9e5869f8d70d94850cf86163c57ba8d4daa29924",
        "17ff3c1fa4c7bd0c38d751715033023ebf32fc96"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 10 15:17:24 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 10 15:17:24 2012 -0700"
      },
      "message": "Merge branch \u0027akpm\u0027 (Andrew\u0027s patch-bomb)\n\nMerge misc fixes from Andrew Morton.\n\n* emailed from Andrew Morton \u003cakpm@linux-foundation.org\u003e: (8 patches)\n  MAINTAINERS: add maintainer for LED subsystem\n  mm: nobootmem: fix sign extend problem in __free_pages_memory()\n  drivers/leds: correct __devexit annotations\n  memcg: free spare array to avoid memory leak\n  namespaces, pid_ns: fix leakage on fork() failure\n  hugetlb: prevent BUG_ON in hugetlb_fault() -\u003e hugetlb_cow()\n  mm: fix division by 0 in percpu_pagelist_fraction()\n  proc/pid/pagemap: correctly report non-present ptes and holes between vmas\n"
    },
    {
      "commit": "6bc2e853c6b46a6041980d58200ad9b0a73a60ff",
      "tree": "8e36db26a891ee14f9341eaa77f698aeb44301d7",
      "parents": [
        "b8cd742acfd78a4689148fb80cf74bc26e7f1f3c"
      ],
      "author": {
        "name": "Russ Anderson",
        "email": "rja@sgi.com",
        "time": "Thu May 10 13:01:46 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 10 15:06:44 2012 -0700"
      },
      "message": "mm: nobootmem: fix sign extend problem in __free_pages_memory()\n\nSystems with 8 TBytes of memory or greater can hit a problem where only\nthe the first 8 TB of memory shows up.  This is due to \"int i\" being\nsmaller than \"unsigned long start_aligned\", causing the high bits to be\ndropped.\n\nThe fix is to change `i\u0027 to unsigned long to match start_aligned\nand end_aligned.\n\nThanks to Jack Steiner for assistance tracking this down.\n\nSigned-off-by: Russ Anderson \u003crja@sgi.com\u003e\nCc: Jack Steiner \u003csteiner@sgi.com\u003e\nCc: Johannes Weiner \u003channes@cmpxchg.org\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nCc: David S. Miller \u003cdavem@davemloft.net\u003e\nCc: Yinghai Lu \u003cyinghai@kernel.org\u003e\nCc: Gavin Shan \u003cshangw@linux.vnet.ibm.com\u003e\nCc: \u003cstable@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8c7577637ca31385e92769a77e2ab5b428e8b99c",
      "tree": "ecf350b4defdd9ad31a9d1eb6353b890c5951eb9",
      "parents": [
        "5e2bf0142231194d36fdc9596b36a261ed2b9fe7"
      ],
      "author": {
        "name": "Sha Zhengju",
        "email": "handai.szj@taobao.com",
        "time": "Thu May 10 13:01:45 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 10 15:06:44 2012 -0700"
      },
      "message": "memcg: free spare array to avoid memory leak\n\nWhen the last event is unregistered, there is no need to keep the spare\narray anymore.  So free it to avoid memory leak.\n\nSigned-off-by: Sha Zhengju \u003chandai.szj@taobao.com\u003e\nAcked-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nReviewed-by: Kirill A. Shutemov \u003ckirill@shutemov.name\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4998a6c0edce7fae9c0a5463f6ec3fa585258ee7",
      "tree": "d19a02785d8a5793abefb0ec3edb435c77e96a7e",
      "parents": [
        "93278814d3590eba0ee360b8d69a35c7f2203ea8"
      ],
      "author": {
        "name": "Chris Metcalf",
        "email": "cmetcalf@tilera.com",
        "time": "Thu May 10 13:01:44 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 10 15:06:44 2012 -0700"
      },
      "message": "hugetlb: prevent BUG_ON in hugetlb_fault() -\u003e hugetlb_cow()\n\nCommit 66aebce747eaf (\"hugetlb: fix race condition in hugetlb_fault()\")\nadded code to avoid a race condition by elevating the page refcount in\nhugetlb_fault() while calling hugetlb_cow().\n\nHowever, one code path in hugetlb_cow() includes an assertion that the\npage count is 1, whereas it may now also have the value 2 in this path.\n\nThe consensus is that this BUG_ON has served its purpose, so rather than\nextending it to cover both cases, we just remove it.\n\nSigned-off-by: Chris Metcalf \u003ccmetcalf@tilera.com\u003e\nAcked-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nAcked-by: Hillf Danton \u003cdhillf@gmail.com\u003e\nAcked-by: Hugh Dickins \u003chughd@google.com\u003e\nCc: Michal Hocko \u003cmhocko@suse.cz\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: \u003cstable@vger.kernel.org\u003e\t[3.0.29+, 3.2.16+, 3.3.3+]\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "93278814d3590eba0ee360b8d69a35c7f2203ea8",
      "tree": "17784192015e71464f1064af2b071c8cd7fe7f13",
      "parents": [
        "16fbdce62d9c89b794e303f4a232e4749b77e9ac"
      ],
      "author": {
        "name": "Sasha Levin",
        "email": "levinsasha928@gmail.com",
        "time": "Thu May 10 13:01:44 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 10 15:06:44 2012 -0700"
      },
      "message": "mm: fix division by 0 in percpu_pagelist_fraction()\n\npercpu_pagelist_fraction_sysctl_handler() has only considered -EINVAL as\na possible error from proc_dointvec_minmax().\n\nIf any other error is returned, it would proceed to divide by zero since\npercpu_pagelist_fraction wasn\u0027t getting initialized at any point.  For\nexample, writing 0 bytes into the proc file would trigger the issue.\n\nSigned-off-by: Sasha Levin \u003clevinsasha928@gmail.com\u003e\nReviewed-by: Minchan Kim \u003cminchan@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "100d13c3b5b9410f604b86f5e0a34da64b8cf659",
      "tree": "d28702d0290cd2da7e443d798baab10ac831c4fe",
      "parents": [
        "42b64281453249dac52861f9b97d18552a7ec62b"
      ],
      "author": {
        "name": "Catalin Marinas",
        "email": "catalin.marinas@arm.com",
        "time": "Wed May 09 16:55:19 2012 +0100"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed May 09 10:13:29 2012 -0700"
      },
      "message": "kmemleak: Fix the kmemleak tracking of the percpu areas with !SMP\n\nKmemleak tracks the percpu allocations via a specific API and the\noriginally allocated areas must be removed from kmemleak (via\nkmemleak_free). The code was already doing this for SMP systems.\n\nReported-by: Sami Liedes \u003csami.liedes@iki.fi\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nSigned-off-by: Catalin Marinas \u003ccatalin.marinas@arm.com\u003e\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\n"
    },
    {
      "commit": "42b64281453249dac52861f9b97d18552a7ec62b",
      "tree": "1a9ca6f44ee7834c5b0a9757631534452b0fc3bd",
      "parents": [
        "789505b05752239d957dbfa84b183e0d7a641952"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Fri Apr 27 08:42:53 2012 -0700"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed May 09 10:08:16 2012 -0700"
      },
      "message": "percpu: pcpu_embed_first_chunk() should free unused parts after all allocs are complete\n\npcpu_embed_first_chunk() allocates memory for each node, copies percpu\ndata and frees unused portions of it before proceeding to the next\ngroup.  This assumes that allocations for different nodes doesn\u0027t\noverlap; however, depending on memory topology, the bootmem allocator\nmay end up allocating memory from a different node than the requested\none which may overlap with the portion freed from one of the previous\npercpu areas.  This leads to percpu groups for different nodes\noverlapping which is a serious bug.\n\nThis patch separates out copy \u0026 partial free from the allocation loop\nsuch that all allocations are complete before partial frees happen.\n\nThis also fixes overlapping frees which could happen on allocation\nfailure path - out_free_areas path frees whole groups but the groups\ncould have portions freed at that point.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: stable@vger.kernel.org\nReported-by: \"Pavel V. Panteleev\" \u003cpp_84@mail.ru\u003e\nTested-by: \"Pavel V. Panteleev\" \u003cpp_84@mail.ru\u003e\nLKML-Reference: \u003cE1SNhwY-0007ui-V7.pp_84-mail-ru@f220.mail.ru\u003e\n"
    },
    {
      "commit": "e9b19cd43f3f55a7f1d1c9a033feda8dabce3be6",
      "tree": "2cb60b7af0bba9f69eb54db66f6e25f7c0fc898c",
      "parents": [
        "301cdf5c75695addaaf3b4857b6df7a1d764503e",
        "d5e28005a1d2e67833852f4c9ea8ec206ea3ff85"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 08 11:06:07 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 08 11:06:07 2012 -0700"
      },
      "message": "Merge branch \u0027for-3.4-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu\n\nPull two percpu fixes from Tejun Heo:\n \"One adds missing KERN_CONT on split printk()s and the other makes\n  the percpu allocator avoid using PMD_SIZE as atom_size on x86_32.\n\n  Using PMD_SIZE led to vmalloc area exhaustion on certain\n  configurations (x86_32 android) and the only cost of using PAGE_SIZE\n  instead is static percpu area not being aligned to large page\n  mapping.\"\n\n* \u0027for-3.4-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu:\n  percpu, x86: don\u0027t use PMD_SIZE as embedded atom_size on 32bit\n  percpu: use KERN_CONT in pcpu_dump_alloc_info()\n"
    },
    {
      "commit": "aadf030d84352a91cdadf50f947da739c5611450",
      "tree": "5f22ec57ee257776b4c157f0c91f3612f05ed6c5",
      "parents": [
        "aad2732ba0dddcf3446a4e3c4843496759c1c305",
        "69964ea4c7b68c9399f7977aa5b9aa6539a6a98a"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue May 01 15:47:09 2012 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue May 01 15:47:09 2012 -0700"
      },
      "message": "Merge commit \u0027v3.4-rc5\u0027 into android-3.4\n"
    },
    {
      "commit": "957265bd4fe182af757886f117416d66f68854aa",
      "tree": "177cee182ea61611f0b80db704203bf72ee4f3cb",
      "parents": [
        "60c98d9abbd1ff3274b904027690f3c33d656250",
        "66f75a5d028beaf67c931435fdc3e7823125730c"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Apr 27 14:03:45 2012 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Apr 27 14:03:45 2012 -0700"
      },
      "message": "Merge commit \u0027v3.4-rc4\u0027 into android-3.4\n"
    },
    {
      "commit": "110a5c8b389407e1e859c43293179f9089671a60",
      "tree": "83245c842a809ecd728f12814a344e7224109d7a",
      "parents": [
        "2300fd67b4f29eec19addb15a8571837228f63fc",
        "6e8b09eaf268bceac0c62e389b4bc0cb83dfb8e5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 26 15:24:45 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 26 15:24:45 2012 -0700"
      },
      "message": "Merge branch \u0027akpm\u0027 (Andrew\u0027s patch-bomb)\n\nMerge fixes from Andrew Morton:\n \"13 fixes.  The acerhdf patches aren\u0027t (really) fixes.  But they\u0027ve\n  been stuck in my tree for up to two years, sent to Matthew multiple\n  times and the developers are unhappy.\"\n\n* emailed from Andrew Morton \u003cakpm@linux-foundation.org\u003e: (13 patches)\n  mm: fix NULL ptr dereference in move_pages\n  mm: fix NULL ptr dereference in migrate_pages\n  revert \"proc: clear_refs: do not clear reserved pages\"\n  drivers/rtc/rtc-ds1307.c: fix BUG shown with lock debugging enabled\n  arch/arm/mach-ux500/mbox-db5500.c: world-writable sysfs fifo file\n  hugetlbfs: lockdep annotate root inode properly\n  acerhdf: lowered default temp fanon/fanoff values\n  acerhdf: add support for new hardware\n  acerhdf: add support for Aspire 1410 BIOS v1.3314\n  fs/buffer.c: remove BUG() in possible but rare condition\n  mm: fix up the vmscan stat in vmstat\n  epoll: clear the tfile_check_list on -ELOOP\n  mm/hugetlb: fix warning in alloc_huge_page/dequeue_huge_page_vma\n"
    },
    {
      "commit": "6e8b09eaf268bceac0c62e389b4bc0cb83dfb8e5",
      "tree": "8b284da8a79355ef631c8c418c369fd1ec83b251",
      "parents": [
        "f2a9ef880763d7fbd657a3af646e132a90d70d34"
      ],
      "author": {
        "name": "Sasha Levin",
        "email": "levinsasha928@gmail.com",
        "time": "Wed Apr 25 16:01:53 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 25 21:26:34 2012 -0700"
      },
      "message": "mm: fix NULL ptr dereference in move_pages\n\nCommit 3268c63 (\"mm: fix move/migrate_pages() race on task struct\") has\nadded an odd construct where \u0027mm\u0027 is checked for being NULL, and if it is,\nit would get dereferenced anyways by mput()ing it.\n\nSigned-off-by: Sasha Levin \u003clevinsasha928@gmail.com\u003e\nCc: Dave Hansen \u003cdave@linux.vnet.ibm.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Johannes Weiner \u003channes@cmpxchg.org\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Hugh Dickins \u003chughd@google.com\u003e\nAcked-by: Christoph Lameter \u003ccl@linux.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f2a9ef880763d7fbd657a3af646e132a90d70d34",
      "tree": "09df0c2a4b0572f44424f1e11aee655135082c94",
      "parents": [
        "63f61a6f4633ff34c17bea7a0ed827eaeb0733e1"
      ],
      "author": {
        "name": "Sasha Levin",
        "email": "levinsasha928@gmail.com",
        "time": "Wed Apr 25 16:01:52 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 25 21:26:34 2012 -0700"
      },
      "message": "mm: fix NULL ptr dereference in migrate_pages\n\nCommit 3268c63 (\"mm: fix move/migrate_pages() race on task struct\") has\nadded an odd construct where \u0027mm\u0027 is checked for being NULL, and if it is,\nit would get dereferenced anyways by mput()ing it.\n\nThis would lead to the following NULL ptr deref and BUG() when calling\nmigrate_pages() with a pid that has no mm struct:\n\n[25904.193704] BUG: unable to handle kernel NULL pointer dereference at 0000000000000050\n[25904.194235] IP: [\u003cffffffff810b0de7\u003e] mmput+0x27/0xf0\n[25904.194235] PGD 773e6067 PUD 77da0067 PMD 0\n[25904.194235] Oops: 0002 [#1] PREEMPT SMP\n[25904.194235] CPU 2\n[25904.194235] Pid: 31608, comm: trinity Tainted: G        W    3.4.0-rc2-next-20120412-sasha #69\n[25904.194235] RIP: 0010:[\u003cffffffff810b0de7\u003e]  [\u003cffffffff810b0de7\u003e] mmput+0x27/0xf0\n[25904.194235] RSP: 0018:ffff880077d49e08  EFLAGS: 00010202\n[25904.194235] RAX: 0000000000000286 RBX: 0000000000000000 RCX: 0000000000000000\n[25904.194235] RDX: ffff880075ef8000 RSI: 000000000000023d RDI: 0000000000000286\n[25904.194235] RBP: ffff880077d49e18 R08: 0000000000000001 R09: 0000000000000001\n[25904.194235] R10: 0000000000000000 R11: 0000000000000000 R12: 0000000000000000\n[25904.194235] R13: 00000000ffffffea R14: ffff880034287740 R15: ffff8800218d3010\n[25904.194235] FS:  00007fc8b244c700(0000) GS:ffff880029800000(0000) knlGS:0000000000000000\n[25904.194235] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033\n[25904.194235] CR2: 0000000000000050 CR3: 00000000767c6000 CR4: 00000000000406e0\n[25904.194235] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000\n[25904.194235] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400\n[25904.194235] Process trinity (pid: 31608, threadinfo ffff880077d48000, task ffff880075ef8000)\n[25904.194235] Stack:\n[25904.194235]  ffff8800342876c0 0000000000000000 ffff880077d49f78 ffffffff811b8020\n[25904.194235]  ffffffff811b7d91 ffff880075ef8000 ffff88002256d200 0000000000000000\n[25904.194235]  00000000000003ff 0000000000000000 0000000000000000 0000000000000000\n[25904.194235] Call Trace:\n[25904.194235]  [\u003cffffffff811b8020\u003e] sys_migrate_pages+0x340/0x3a0\n[25904.194235]  [\u003cffffffff811b7d91\u003e] ? sys_migrate_pages+0xb1/0x3a0\n[25904.194235]  [\u003cffffffff8266cbb9\u003e] system_call_fastpath+0x16/0x1b\n[25904.194235] Code: c9 c3 66 90 55 31 d2 48 89 e5 be 3d 02 00 00 48 83 ec 10 48 89 1c 24 4c 89 64 24 08 48 89 fb 48 c7 c7 cf 0e e1 82 e8 69 18 03 00 \u003cf0\u003e ff 4b 50 0f 94 c0 84 c0 0f 84 aa 00 00 00 48 89 df e8 72 f1\n[25904.194235] RIP  [\u003cffffffff810b0de7\u003e] mmput+0x27/0xf0\n[25904.194235]  RSP \u003cffff880077d49e08\u003e\n[25904.194235] CR2: 0000000000000050\n[25904.348999] ---[ end trace a307b3ed40206b4b ]---\n\nSigned-off-by: Sasha Levin \u003clevinsasha928@gmail.com\u003e\nCc: Dave Hansen \u003cdave@linux.vnet.ibm.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Johannes Weiner \u003channes@cmpxchg.org\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Hugh Dickins \u003chughd@google.com\u003e\nCc: Christoph Lameter \u003ccl@linux.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "904249aa68010c8e223263c922fcbb840a3f42e4",
      "tree": "5476bdf728cd77ac6fcaaeb986df1ddd5c9527d7",
      "parents": [
        "13d518074a952d33d47c428419693f63389547e9"
      ],
      "author": {
        "name": "Ying Han",
        "email": "yinghan@google.com",
        "time": "Wed Apr 25 16:01:48 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 25 21:26:33 2012 -0700"
      },
      "message": "mm: fix up the vmscan stat in vmstat\n\nThe \"pgsteal\" stat is confusing because it counts both direct reclaim as\nwell as background reclaim.  However, we have \"kswapd_steal\" which also\ncounts background reclaim value.\n\nThis patch fixes it and also makes it match the existng \"pgscan_\" stats.\n\nTest:\npgsteal_kswapd_dma32 447623\npgsteal_kswapd_normal 42272677\npgsteal_kswapd_movable 0\npgsteal_direct_dma32 2801\npgsteal_direct_normal 44353270\npgsteal_direct_movable 0\n\nSigned-off-by: Ying Han \u003cyinghan@google.com\u003e\nReviewed-by: Rik van Riel \u003criel@redhat.com\u003e\nAcked-by: Christoph Lameter \u003ccl@linux.com\u003e\nCc: Johannes Weiner \u003channes@cmpxchg.org\u003e\nCc: Michal Hocko \u003cmhocko@suse.cz\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nAcked-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Hillf Danton \u003cdhillf@gmail.com\u003e\nCc: Hugh Dickins \u003chughd@google.com\u003e\nCc: Dan Magenheimer \u003cdan.magenheimer@oracle.com\u003e\nReviewed-by: Minchan Kim \u003cminchan@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b1c12cbcd0a02527c180a862e8971e249d3b347d",
      "tree": "f1c6c3ae42641cf89e8e2d7b731595550960e5d0",
      "parents": [
        "66f75a5d028beaf67c931435fdc3e7823125730c"
      ],
      "author": {
        "name": "Konstantin Khlebnikov",
        "email": "khlebnikov@openvz.org",
        "time": "Wed Apr 25 16:01:46 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 25 21:26:33 2012 -0700"
      },
      "message": "mm/hugetlb: fix warning in alloc_huge_page/dequeue_huge_page_vma\n\nFix a gcc warning (and bug?) introduced in cc9a6c877 (\"cpuset: mm: reduce\nlarge amounts of memory barrier related damage v3\")\n\nLocal variable \"page\" can be uninitialized if the nodemask from vma policy\ndoes not intersects with nodemask from cpuset.  Even if it doesn\u0027t happens\nit is better to initialize this variable explicitly than to introduce\na kernel oops in a weird corner case.\n\nmm/hugetlb.c: In function `alloc_huge_page\u0027:\nmm/hugetlb.c:1135:5: warning: `page\u0027 may be used uninitialized in this function\n\nSigned-off-by: Konstantin Khlebnikov \u003ckhlebnikov@openvz.org\u003e\nAcked-by: Mel Gorman \u003cmgorman@suse.de\u003e\nAcked-by: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ce587e65e8c669eec61df7fb1c515720302e3cc0",
      "tree": "fcda8e91609e1a74f629c1a7b0e95c3e76cab75e",
      "parents": [
        "4e1c2b284461fd8aa8d7b295a1e911fc4390755b"
      ],
      "author": {
        "name": "Johannes Weiner",
        "email": "hannes@cmpxchg.org",
        "time": "Tue Apr 24 20:22:33 2012 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 25 21:22:35 2012 -0700"
      },
      "message": "mm: memcg: move pc lookup point to commit_charge()\n\nNone of the callsites actually need the page_cgroup descriptor\nthemselves, so just pass the page and do the look up in there.\n\nWe already had two bugs (6568d4a \u0027mm: memcg: update the correct soft\nlimit tree during migration\u0027 and \u0027memcg: fix Bad page state after\nreplace_page_cache\u0027) where the passed page and pc were not referring\nto the same page frame.\n\nSigned-off-by: Johannes Weiner \u003channes@cmpxchg.org\u003e\nAcked-by: Hugh Dickins \u003chughd@google.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4e1c2b284461fd8aa8d7b295a1e911fc4390755b",
      "tree": "f51ab604d23af8ac0f6087516f877af5604c3477",
      "parents": [
        "af3a3ab2966112c0d0a44df7eeb1e95fe32d4495"
      ],
      "author": {
        "name": "David Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Apr 25 16:10:50 2012 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 25 21:18:01 2012 -0700"
      },
      "message": "mm: nobootmem: Correct alloc_bootmem semantics.\n\nThe comments above __alloc_bootmem_node() claim that the code will\nfirst try the allocation using \u0027goal\u0027 and if that fails it will\ntry again but with the \u0027goal\u0027 requirement dropped.\n\nUnfortunately, this is not what the code does, so fix it to do so.\n\nThis is important for nobootmem conversions to architectures such\nas sparc where MAX_DMA_ADDRESS is infinity.\n\nOn such architectures all of the allocations done by generic spots,\nsuch as the sparse-vmemmap implementation, will pass in:\n\n\t__pa(MAX_DMA_ADDRESS)\n\nas the goal, and with the limit given as \"-1\" this will always fail\nunless we add the appropriate fallback logic here.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\nAcked-by: Yinghai Lu \u003cyinghai@kernel.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "aca50bd3b4c4bb5528a1878158ba7abce41de534",
      "tree": "697c1d89d8d8a75878dc5c5c70aeb14cd72f80fa",
      "parents": [
        "e895bd7992df1ebd1e0c28f7965520482bc83b74"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hughd@google.com",
        "time": "Mon Apr 23 11:14:50 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 23 18:19:22 2012 -0700"
      },
      "message": "mm: fix s390 BUG by __set_page_dirty_no_writeback on swap\n\nMel reports a BUG_ON(slot \u003d\u003d NULL) in radix_tree_tag_set() on s390\n3.0.13: called from __set_page_dirty_nobuffers() when page_remove_rmap()\ntries to transfer dirty flag from s390 storage key to struct page and\nradix_tree.\n\nThat would be because of reclaim\u0027s shrink_page_list() calling\nadd_to_swap() on this page at the same time: first PageSwapCache is set\n(causing page_mapping(page) to appear as \u0026swapper_space), then\npage-\u003eprivate set, then tree_lock taken, then page inserted into\nradix_tree - so there\u0027s an interval before taking the lock when the\nradix_tree slot is empty.\n\nWe could fix this by moving __add_to_swap_cache()\u0027s spin_lock_irq up\nbefore the SetPageSwapCache.  But a better fix is simply to do what\u0027s\nfive years overdue: Ken Chen introduced __set_page_dirty_no_writeback()\n(if !PageDirty TestSetPageDirty) for tmpfs to skip all the radix_tree\noverhead, and swap is just the same - it ignores the radix_tree tag, and\ndoes not participate in dirty page accounting, so should be using\n__set_page_dirty_no_writeback() too.\n\ns390 testing now confirms that this does indeed fix the problem.\n\nReported-by: Mel Gorman \u003cmgorman@suse.de\u003e\nSigned-off-by: Hugh Dickins \u003chughd@google.com\u003e\nAcked-by: Mel Gorman \u003cmgorman@suse.de\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nCc: Ken Chen \u003ckenchen@google.com\u003e\nCc: stable@vger.kernel.org\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "bfce281c287a427d0841fadf5d59242757b4e620",
      "tree": "abca9ebeef4c668021e85e4d54e6e779121e92cc",
      "parents": [
        "9f3a4afb276e4d8b3be7f3e678d4dbd11470416f"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Apr 20 21:57:04 2012 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Apr 21 01:58:20 2012 -0400"
      },
      "message": "kill mm argument of vm_munmap()\n\nit\u0027s always current-\u003emm\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "6be5ceb02e98eaf6cfc4f8b12a896d04023f340d",
      "tree": "f34de1392300bbf63549f4eeb20f7606d6f7b1f9",
      "parents": [
        "a46ef99d80817a167477ed1c8b4d90ee0c2e726f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 20 17:13:58 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 20 17:29:13 2012 -0700"
      },
      "message": "VM: add \"vm_mmap()\" helper function\n\nThis continues the theme started with vm_brk() and vm_munmap():\nvm_mmap() does the same thing as do_mmap(), but additionally does the\nrequired VM locking.\n\nThis uninlines (and rewrites it to be clearer) do_mmap(), which sadly\nduplicates it in mm/mmap.c and mm/nommu.c.  But that way we don\u0027t have\nto export our internal do_mmap_pgoff() function.\n\nSome day we hopefully don\u0027t have to export do_mmap() either, if all\nmodular users can become the simpler vm_mmap() instead.  We\u0027re actually\nvery close to that already, with the notable exception of the (broken)\nuse in i810, and a couple of stragglers in binfmt_elf.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a46ef99d80817a167477ed1c8b4d90ee0c2e726f",
      "tree": "3d8c980c627e8b9c009dbf63628a9be8b8d1069f",
      "parents": [
        "e4eb1ff61b323d6141614e5458a1f53c7046ff8e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 20 16:20:01 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 20 17:29:13 2012 -0700"
      },
      "message": "VM: add \"vm_munmap()\" helper function\n\nLike the vm_brk() function, this is the same as \"do_munmap()\", except it\ndoes the VM locking for the caller.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e4eb1ff61b323d6141614e5458a1f53c7046ff8e",
      "tree": "7a0251509c169b0df1a6bf4bc47c5bca709e06da",
      "parents": [
        "3b422e9c2c020a1137349c614da7f9c9761a0922"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 20 15:35:40 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 20 17:28:17 2012 -0700"
      },
      "message": "VM: add \"vm_brk()\" helper function\n\nIt does the same thing as \"do_brk()\", except it handles the VM locking\ntoo.\n\nIt turns out that all external callers want that anyway, so we can make\ndo_brk() static to just mm/mmap.c while at it.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b3dc627cabb33fc95f93da78457770c1b2a364d2",
      "tree": "e37cae7a574b808b6da48e4c93e81f170efce078",
      "parents": [
        "310eb776501af8412c570c4bcddc9ab5cecf3d7a"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Fri Apr 20 08:31:34 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 20 11:18:46 2012 -0700"
      },
      "message": "memblock: memblock should be able to handle zero length operations\n\nCommit 24aa07882b (\"memblock, x86: Replace memblock_x86_reserve/\nfree_range() with generic ones\") replaced x86 specific memblock\noperations with the generic ones; unfortunately, it lost zero length\noperation handling in the process making the kernel panic if somebody\ntries to reserve zero length area.\n\nThere isn\u0027t much to be gained by being cranky to zero length operations\nand panicking is almost the worst response.  Drop the BUG_ON() in\nmemblock_reserve() and update memblock_add_region/isolate_range() so\nthat all zero length operations are handled as noops.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: stable@vger.kernel.org\nReported-by: Valere Monseur \u003cvalere.monseur@ymail.com\u003e\nBisected-by: Joseph Freeman \u003cjfree143dev@gmail.com\u003e\nTested-by: Joseph Freeman \u003cjfree143dev@gmail.com\u003e\nBugzilla: https://bugzilla.kernel.org/show_bug.cgi?id\u003d43098\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ab2965eefef95a2eecfd54c12b0eb243162862e9",
      "tree": "c947fdc158e144c2d060486b65d10ee67d254039",
      "parents": [
        "a0ec4361e4539e30cf1c5de7ddfd2dadcd8e1595",
        "e816b57a337ea3b755de72bec38c10c864f23015"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Apr 19 14:42:22 2012 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Apr 19 14:42:22 2012 -0700"
      },
      "message": "Merge commit \u0027v3.4-rc3\u0027 into android-3.4\n\nConflicts:\n\tdrivers/staging/android/lowmemorykiller.c\n\nChange-Id: Ia3ffcfc702e28c4fce0e91b363f4afd5f1c40306\n"
    },
    {
      "commit": "9b7f43afd417a6feb80841d30ced4051c362eb5d",
      "tree": "695f97a4d028a3463c8e7edaa4c6d410a941d0bb",
      "parents": [
        "932e9f352b5d685725076f21b237f7c7d804b29c"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hughd@google.com",
        "time": "Wed Apr 18 23:34:46 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 18 23:40:57 2012 -0700"
      },
      "message": "memcg: fix Bad page state after replace_page_cache\n\nMy 9ce70c0240d0 \"memcg: fix deadlock by inverting lrucare nesting\" put a\nnasty little bug into v3.3\u0027s version of mem_cgroup_replace_page_cache(),\nsometimes used for FUSE.  Replacing __mem_cgroup_commit_charge_lrucare()\nby __mem_cgroup_commit_charge(), I used the \"pc\" pointer set up earlier:\nbut it\u0027s for oldpage, and needs now to be for newpage.  Once oldpage was\nfreed, its PageCgroupUsed bit (cleared above but set again here) caused\n\"Bad page state\" messages - and perhaps worse, being missed from newpage.\n(I didn\u0027t find this by using FUSE, but in reusing the function for tmpfs.)\n\nSigned-off-by: Hugh Dickins \u003chughd@google.com\u003e\nCc: stable@vger.kernel.org [v3.3 only]\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "41c93088127df2579e8ca64010929ec9e41d5543",
      "tree": "5bbfded1934fc94facbfa892a59874703aa6922a",
      "parents": [
        "66aebce747eaf9bc456bf1f1b217d8db843031d0"
      ],
      "author": {
        "name": "Ying Han",
        "email": "yinghan@google.com",
        "time": "Thu Apr 12 12:49:16 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 12 13:12:12 2012 -0700"
      },
      "message": "Revert \"mm: vmscan: fix misused nr_reclaimed in shrink_mem_cgroup_zone()\"\n\nThis reverts commit c38446cc65e1f2b3eb8630c53943b94c4f65f670.\n\nBefore the commit, the code makes senses to me but not after the commit.\nThe \"nr_reclaimed\" is the number of pages reclaimed by scanning through\nthe memcg\u0027s lru lists.  The \"nr_to_reclaim\" is the target value for the\nwhole function.  For example, we like to early break the reclaim if\nreclaimed 32 pages under direct reclaim (not DEF_PRIORITY).\n\nAfter the reverted commit, the target \"nr_to_reclaim\" is decremented each\ntime by \"nr_reclaimed\" but we still use it to compare the \"nr_reclaimed\".\nIt just doesn\u0027t make sense to me...\n\nSigned-off-by: Ying Han \u003cyinghan@google.com\u003e\nAcked-by: Hugh Dickins \u003chughd@google.com\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nCc: Hillf Danton \u003cdhillf@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "66aebce747eaf9bc456bf1f1b217d8db843031d0",
      "tree": "460c0268105191b2d581f42d5534dc952d565a17",
      "parents": [
        "f3ec434c69ac7f447ff6e6389c19727c9f002087"
      ],
      "author": {
        "name": "Chris Metcalf",
        "email": "cmetcalf@tilera.com",
        "time": "Thu Apr 12 12:49:15 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 12 13:12:12 2012 -0700"
      },
      "message": "hugetlb: fix race condition in hugetlb_fault()\n\nThe race is as follows:\n\nSuppose a multi-threaded task forks a new process (on cpu A), thus\nbumping up the ref count on all the pages.  While the fork is occurring\n(and thus we have marked all the PTEs as read-only), another thread in\nthe original process (on cpu B) tries to write to a huge page, taking an\naccess violation from the write-protect and calling hugetlb_cow().  Now,\nsuppose the fork() fails.  It will undo the COW and decrement the ref\ncount on the pages, so the ref count on the huge page drops back to 1.\nMeanwhile hugetlb_cow() also decrements the ref count by one on the\noriginal page, since the original address space doesn\u0027t need it any\nmore, having copied a new page to replace the original page.  This\nleaves the ref count at zero, and when we call unlock_page(), we panic.\n\n\tfork on CPU A\t\t\t\tfault on CPU B\n\t\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\t\t\t\t\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\t...\n\tdown_write(\u0026parent-\u003emmap_sem);\n\tdown_write_nested(\u0026child-\u003emmap_sem);\n\t...\n\twhile duplicating vmas\n\t\tif error\n\t\t\tbreak;\n\t...\n\tup_write(\u0026child-\u003emmap_sem);\n\tup_write(\u0026parent-\u003emmap_sem);\t\t...\n\t\t\t\t\t\tdown_read(\u0026parent-\u003emmap_sem);\n\t\t\t\t\t\t...\n\t\t\t\t\t\tlock_page(page);\n\t\t\t\t\t\thandle COW\n\t\t\t\t\t\tpage_mapcount(old_page) \u003d\u003d 2\n\t\t\t\t\t\talloc and prepare new_page\n\t...\n\thandle error\n\tpage_remove_rmap(page);\n\tput_page(page);\n\t...\n\t\t\t\t\t\tfold new_page into pte\n\t\t\t\t\t\tpage_remove_rmap(page);\n\t\t\t\t\t\tput_page(page);\n\t\t\t\t\t\t...\n\t\t\t\toops \u003d\u003d\u003e\tunlock_page(page);\n\t\t\t\t\t\tup_read(\u0026parent-\u003emmap_sem);\n\nThe solution is to take an extra reference to the page while we are\nholding the lock on it.\n\nSigned-off-by: Chris Metcalf \u003ccmetcalf@tilera.com\u003e\nCc: Hillf Danton \u003cdhillf@gmail.com\u003e\nCc: Michal Hocko \u003cmhocko@suse.cz\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Hugh Dickins \u003chughd@google.com\u003e\nCc: \u003cstable@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "569530fb1b40ab2d2ca147ee79898ac807ebdf90",
      "tree": "e9f4f9a04a9a8f2a94a919aff55629f8946b30f4",
      "parents": [
        "32050017cf3bf2b983571a90351328b4f66e463d"
      ],
      "author": {
        "name": "Glauber Costa",
        "email": "glommer@parallels.com",
        "time": "Thu Apr 12 12:49:13 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 12 13:12:12 2012 -0700"
      },
      "message": "memcg: do not open code accesses to res_counter members\n\nWe should use the accessor res_counter_read_u64 for that.\n\nAlthough a purely cosmetic change is sometimes better delayed, to avoid\nconflicting with other people\u0027s work, we are starting to have people\ntouching this code as well, and reproducing the open code behavior\nbecause that\u0027s the standard \u003d)\n\nTime to fix it, then.\n\nSigned-off-by: Glauber Costa \u003cglommer@parallels.com\u003e\nCc: Johannes Weiner \u003channes@cmpxchg.org\u003e\nAcked-by: Michal Hocko \u003cmhocko@suse.cz\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d833049bd20570cbbadeb5228c579f9f3aaa4e03",
      "tree": "2995af0705ce161cba50739048e90b89ea3991e2",
      "parents": [
        "6252efcc3626bdcde1c1c2d8a83be0bc66b8cc2c"
      ],
      "author": {
        "name": "Kirill A. Shutemov",
        "email": "kirill@shutemov.name",
        "time": "Thu Apr 12 12:49:11 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 12 13:12:11 2012 -0700"
      },
      "message": "memcg: fix broken boolen expression\n\naction !\u003d CPU_DEAD || action !\u003d CPU_DEAD_FROZEN is always true.\n\nSigned-off-by: Kirill A. Shutemov \u003ckirill@shutemov.name\u003e\nAcked-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nAcked-by: Michal Hocko \u003cmhocko@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d92aa582e4cf5c378defc14b892ae056c9db65b6",
      "tree": "d3cd1ff19186370eb2f8757a11ecd005621c4b01",
      "parents": [
        "8d9e6aca1f6042e53123be3eda327a955a509a35"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Thu Dec 15 18:51:04 2011 -0800"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon Apr 09 13:53:14 2012 -0700"
      },
      "message": "ashmem: Add shmem_set_file to mm/shmem.c\n\nNOT FOR STAGING\nThis patch re-adds the original shmem_set_file to mm/shmem.c\nand converts ashmem.c back to using it.\n\nCC: Brian Swetland \u003cswetland@google.com\u003e\nCC: Colin Cross \u003cccross@android.com\u003e\nCC: Arve Hjønnevåg \u003carve@android.com\u003e\nCC: Dima Zavin \u003cdima@android.com\u003e\nCC: Robert Love \u003crlove@google.com\u003e\nCC: Greg KH \u003cgreg@kroah.com\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "cde8949795629dc5e9e3781fad26afc8dd8d767b",
      "tree": "f9fda0a83fb6111bd50dbe8fb1d4663319fe8400",
      "parents": [
        "ed275aa26f3bcde6da3356755ae5ad8eeab7444f"
      ],
      "author": {
        "name": "Arve Hjønnevåg",
        "email": "arve@android.com",
        "time": "Tue Feb 17 14:51:02 2009 -0800"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon Apr 09 13:53:12 2012 -0700"
      },
      "message": "mm: Add min_free_order_shift tunable.\n\nBy default the kernel tries to keep half as much memory free at each\norder as it does for one order below. This can be too agressive when\nrunning without swap.\n\nChange-Id: I5efc1a0b50f41ff3ac71e92d2efd175dedd54ead\nSigned-off-by: Arve Hjønnevåg \u003carve@android.com\u003e\n"
    },
    {
      "commit": "a76e99abc558aed633ba28ff61c5328116292bf3",
      "tree": "60f7677f0baafa00825accc1214839246b3e78dd",
      "parents": [
        "a54734678ff9cb97938b9f7648547174f3b118e4",
        "1d05f993784973189395051cc711fdd6dd5eb389"
      ],
      "author": {
        "name": "Rohit Vaswani",
        "email": "rvaswani@codeaurora.org",
        "time": "Fri Mar 30 00:09:34 2012 -0700"
      },
      "committer": {
        "name": "Rohit Vaswani",
        "email": "rvaswani@codeaurora.org",
        "time": "Fri Mar 30 00:09:34 2012 -0700"
      },
      "message": "Merge branch \u0027Linux 3.0.21\u0027 into msm-3.0\n\nMerge Upstream\u0027s stable 3.0.21 branch into msm-3.0\nThis consists 814 commits and some merge conflicts.\n\nThe merge conflicts are because of some local changes to\nmsm-3.0 as well as some conflicts between google\u0027s tree and\nthe upstream tree.\n\nConflicts:\n\tarch/arm/kernel/head.S\n\tdrivers/bluetooth/ath3k.c\n\tdrivers/bluetooth/btusb.c\n\tdrivers/mmc/core/core.c\n\tdrivers/tty/serial/serial_core.c\n\tdrivers/usb/host/ehci-hub.c\n\tdrivers/usb/serial/qcserial.c\n\tfs/namespace.c\n\tfs/proc/base.c\n\nChange-Id: I62e2edbe213f84915e27f8cd6e4f6ce23db22a21\nSigned-off-by: Rohit Vaswani \u003crvaswani@codeaurora.org\u003e\n"
    },
    {
      "commit": "cb129820f1e6ccf309510f4eb28df45cb0742005",
      "tree": "bc87b3d13e1103b37206cc011da526389a74310c",
      "parents": [
        "b5174fa3a7f4f8f150bfa3b917c92608953dfa0f"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Mar 29 09:45:58 2012 -0700"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Mar 29 09:45:58 2012 -0700"
      },
      "message": "percpu: use KERN_CONT in pcpu_dump_alloc_info()\n\npcpu_dump_alloc_info() was printing continued lines without KERN_CONT.\nUse it.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nReported-by: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\n"
    },
    {
      "commit": "532bfc851a7475fb6a36c1e953aa395798a7cca7",
      "tree": "a7892e5a31330dd59f31959efbe9fda1803784fd",
      "parents": [
        "0195c00244dc2e9f522475868fa278c473ba7339",
        "8da00edc1069f01c34510fa405dc15d96c090a3f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 28 17:19:27 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 28 17:19:28 2012 -0700"
      },
      "message": "Merge branch \u0027akpm\u0027 (Andrew\u0027s patch-bomb)\n\nMerge third batch of patches from Andrew Morton:\n - Some MM stragglers\n - core SMP library cleanups (on_each_cpu_mask)\n - Some IPI optimisations\n - kexec\n - kdump\n - IPMI\n - the radix-tree iterator work\n - various other misc bits.\n\n \"That\u0027ll do for -rc1.  I still have ~10 patches for 3.4, will send\n  those along when they\u0027ve baked a little more.\"\n\n* emailed from Andrew Morton \u003cakpm@linux-foundation.org\u003e: (35 commits)\n  backlight: fix typo in tosa_lcd.c\n  crc32: add help text for the algorithm select option\n  mm: move hugepage test examples to tools/testing/selftests/vm\n  mm: move slabinfo.c to tools/vm\n  mm: move page-types.c from Documentation to tools/vm\n  selftests/Makefile: make `run_tests\u0027 depend on `all\u0027\n  selftests: launch individual selftests from the main Makefile\n  radix-tree: use iterators in find_get_pages* functions\n  radix-tree: rewrite gang lookup using iterator\n  radix-tree: introduce bit-optimized iterator\n  fs/proc/namespaces.c: prevent crash when ns_entries[] is empty\n  nbd: rename the nbd_device variable from lo to nbd\n  pidns: add reboot_pid_ns() to handle the reboot syscall\n  sysctl: use bitmap library functions\n  ipmi: use locks on watchdog timeout set on reboot\n  ipmi: simplify locking\n  ipmi: fix message handling during panics\n  ipmi: use a tasklet for handling received messages\n  ipmi: increase KCS timeouts\n  ipmi: decrease the IPMI message transaction time in interrupt mode\n  ...\n"
    },
    {
      "commit": "0fc9d1040313047edf6a39fd4d7c7defdca97c62",
      "tree": "4503c084da1097e1cf66d8bac1ec548bc69ce69a",
      "parents": [
        "cebbd29e1c2f7a969919f19f74583070840163d7"
      ],
      "author": {
        "name": "Konstantin Khlebnikov",
        "email": "khlebnikov@openvz.org",
        "time": "Wed Mar 28 14:42:54 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 28 17:14:37 2012 -0700"
      },
      "message": "radix-tree: use iterators in find_get_pages* functions\n\nReplace radix_tree_gang_lookup_slot() and\nradix_tree_gang_lookup_tag_slot() in page-cache lookup functions with\nbrand-new radix-tree direct iterating.  This avoids the double-scanning\nand pointer copying.\n\nIterator don\u0027t stop after nr_pages page-get fails in a row, it continue\nlookup till the radix-tree end.  Thus we can safely remove these restart\nconditions.\n\nUnfortunately, old implementation didn\u0027t forbid nr_pages \u003d\u003d 0, this corner\ncase does not fit into new code, so the patch adds an extra check at the\nbeginning.\n\nSigned-off-by: Konstantin Khlebnikov \u003ckhlebnikov@openvz.org\u003e\nTested-by: Hugh Dickins \u003chughd@google.com\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "74046494ea68676d29ef6501a4bd950f08112a2c",
      "tree": "4fb862c2ebeba25b089ed64d5cc36437ad9e3df2",
      "parents": [
        "42be35d0390b966253136a285f507f5ad00fd9e8"
      ],
      "author": {
        "name": "Gilad Ben-Yossef",
        "email": "gilad@benyossef.com",
        "time": "Wed Mar 28 14:42:45 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 28 17:14:35 2012 -0700"
      },
      "message": "mm: only IPI CPUs to drain local pages if they exist\n\nCalculate a cpumask of CPUs with per-cpu pages in any zone and only send\nan IPI requesting CPUs to drain these pages to the buddy allocator if they\nactually have pages when asked to flush.\n\nThis patch saves 85%+ of IPIs asking to drain per-cpu pages in case of\nsevere memory pressure that leads to OOM since in these cases multiple,\npossibly concurrent, allocation requests end up in the direct reclaim code\npath so when the per-cpu pages end up reclaimed on first allocation\nfailure for most of the proceeding allocation attempts until the memory\npressure is off (possibly via the OOM killer) there are no per-cpu pages\non most CPUs (and there can easily be hundreds of them).\n\nThis also has the side effect of shortening the average latency of direct\nreclaim by 1 or more order of magnitude since waiting for all the CPUs to\nACK the IPI takes a long time.\n\nTested by running \"hackbench 400\" on a 8 CPU x86 VM and observing the\ndifference between the number of direct reclaim attempts that end up in\ndrain_all_pages() and those were more then 1/2 of the online CPU had any\nper-cpu page in them, using the vmstat counters introduced in the next\npatch in the series and using proc/interrupts.\n\nIn the test sceanrio, this was seen to save around 3600 global\nIPIs after trigerring an OOM on a concurrent workload:\n\n$ cat /proc/vmstat | tail -n 2\npcp_global_drain 0\npcp_global_ipi_saved 0\n\n$ cat /proc/interrupts | grep CAL\nCAL:          1          2          1          2\n          2          2          2          2   Function call interrupts\n\n$ hackbench 400\n[OOM messages snipped]\n\n$ cat /proc/vmstat | tail -n 2\npcp_global_drain 3647\npcp_global_ipi_saved 3642\n\n$ cat /proc/interrupts | grep CAL\nCAL:          6         13          6          3\n          3          3         1 2          7   Function call interrupts\n\nPlease note that if the global drain is removed from the direct reclaim\npath as a patch from Mel Gorman currently suggests this should be replaced\nwith an on_each_cpu_cond invocation.\n\nSigned-off-by: Gilad Ben-Yossef \u003cgilad@benyossef.com\u003e\nAcked-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nAcked-by: Christoph Lameter \u003ccl@linux.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Pekka Enberg \u003cpenberg@kernel.org\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nAcked-by: Michal Nazarewicz \u003cmina86@mina86.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a8364d5555b2030d093cde0f07951628e55454e1",
      "tree": "a0fa097e39d103644d9f82269eea419b2a604f74",
      "parents": [
        "b3a7e98e024ffa9f7e4554dd720c508015c4a831"
      ],
      "author": {
        "name": "Gilad Ben-Yossef",
        "email": "gilad@benyossef.com",
        "time": "Wed Mar 28 14:42:44 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 28 17:14:35 2012 -0700"
      },
      "message": "slub: only IPI CPUs that have per cpu obj to flush\n\nflush_all() is called for each kmem_cache_destroy().  So every cache being\ndestroyed dynamically ends up sending an IPI to each CPU in the system,\nregardless if the cache has ever been used there.\n\nFor example, if you close the Infinband ipath driver char device file, the\nclose file ops calls kmem_cache_destroy().  So running some infiniband\nconfig tool on one a single CPU dedicated to system tasks might interrupt\nthe rest of the 127 CPUs dedicated to some CPU intensive or latency\nsensitive task.\n\nI suspect there is a good chance that every line in the output of \"git\ngrep kmem_cache_destroy linux/ | grep \u0027\\-\u003e\u0027\" has a similar scenario.\n\nThis patch attempts to rectify this issue by sending an IPI to flush the\nper cpu objects back to the free lists only to CPUs that seem to have such\nobjects.\n\nThe check which CPU to IPI is racy but we don\u0027t care since asking a CPU\nwithout per cpu objects to flush does no damage and as far as I can tell\nthe flush_all by itself is racy against allocs on remote CPUs anyway, so\nif you required the flush_all to be determinstic, you had to arrange for\nlocking regardless.\n\nWithout this patch the following artificial test case:\n\n$ cd /sys/kernel/slab\n$ for DIR in *; do cat $DIR/alloc_calls \u003e /dev/null; done\n\nproduces 166 IPIs on an cpuset isolated CPU. With it it produces none.\n\nThe code path of memory allocation failure for CPUMASK_OFFSTACK\u003dy\nconfig was tested using fault injection framework.\n\nSigned-off-by: Gilad Ben-Yossef \u003cgilad@benyossef.com\u003e\nAcked-by: Christoph Lameter \u003ccl@linux.com\u003e\nCc: Chris Metcalf \u003ccmetcalf@tilera.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Russell King \u003clinux@arm.linux.org.uk\u003e\nCc: Pekka Enberg \u003cpenberg@kernel.org\u003e\nCc: Matt Mackall \u003cmpm@selenic.com\u003e\nCc: Sasha Levin \u003clevinsasha928@gmail.com\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Alexander Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Avi Kivity \u003cavi@redhat.com\u003e\nCc: Michal Nazarewicz \u003cmina86@mina86.org\u003e\nCc: Kosaki Motohiro \u003ckosaki.motohiro@gmail.com\u003e\nCc: Milton Miller \u003cmiltonm@bga.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d15cab975459fb6092eeba1be72c13621337784f",
      "tree": "5c1d8d18c65a34eb738c97d75f2c44becdff1de3",
      "parents": [
        "29fd66d289f2981e11c550f8b411a6d3d38be0cf"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hughd@google.com",
        "time": "Wed Mar 28 14:42:42 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 28 17:14:35 2012 -0700"
      },
      "message": "swapon: check validity of swap_flags\n\nMost system calls taking flags first check that the flags passed in are\nvalid, and that helps userspace to detect when new flags are supported.\n\nBut swapon never did so: start checking now, to help if we ever want to\nsupport more swap_flags in future.\n\nIt\u0027s difficult to get stray bits set in an int, and swapon is not widely\nused, so this is most unlikely to break any userspace; but we can just\nrevert if it turns out to do so.\n\nSigned-off-by: Hugh Dickins \u003chughd@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "29fd66d289f2981e11c550f8b411a6d3d38be0cf",
      "tree": "cc9931d0ee891ccfe9114bfd977da47f47175dbe",
      "parents": [
        "45f83cefe3a5f0476ac3f96382ebfdc3fe4caab2"
      ],
      "author": {
        "name": "David Rientjes",
        "email": "rientjes@google.com",
        "time": "Wed Mar 28 14:42:41 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 28 17:14:35 2012 -0700"
      },
      "message": "mm, coredump: fail allocations when coredumping instead of oom killing\n\nThe size of coredump files is limited by RLIMIT_CORE, however, allocating\nlarge amounts of memory results in three negative consequences:\n\n - the coredumping process may be chosen for oom kill and quickly deplete\n   all memory reserves in oom conditions preventing further progress from\n   being made or tasks from exiting,\n\n - the coredumping process may cause other processes to be oom killed\n   without fault of their own as the result of a SIGSEGV, for example, in\n   the coredumping process, or\n\n - the coredumping process may result in a livelock while writing to the\n   dump file if it needs memory to allocate while other threads are in\n   the exit path waiting on the coredumper to complete.\n\nThis is fixed by implying __GFP_NORETRY in the page allocator for\ncoredumping processes when reclaim has failed so the allocations fail and\nthe process continues to exit.\n\nSigned-off-by: David Rientjes \u003crientjes@google.com\u003e\nCc: Mel Gorman \u003cmgorman@suse.de\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "45f83cefe3a5f0476ac3f96382ebfdc3fe4caab2",
      "tree": "b2f7d3c02923d89db5a551c6a7923121db9610c4",
      "parents": [
        "623e3db9f9b7d6e7b2a99180f9cf0825c936ab7a"
      ],
      "author": {
        "name": "Andrea Arcangeli",
        "email": "aarcange@redhat.com",
        "time": "Wed Mar 28 14:42:40 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 28 17:14:35 2012 -0700"
      },
      "message": "mm: thp: fix up pmd_trans_unstable() locations\n\npmd_trans_unstable() should be called before pmd_offset_map() in the\nlocations where the mmap_sem is held for reading.\n\nSigned-off-by: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nCc: Mel Gorman \u003cmgorman@suse.de\u003e\nCc: Hugh Dickins \u003chughd@google.com\u003e\nCc: Larry Woodman \u003clwoodman@redhat.com\u003e\nCc: Ulrich Obergfell \u003cuobergfe@redhat.com\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nCc: Mark Salter \u003cmsalter@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "623e3db9f9b7d6e7b2a99180f9cf0825c936ab7a",
      "tree": "d8eaa8f1665a048c4318ccd0759775e057792823",
      "parents": [
        "3748b2f15b06ea1861df39d5e9693dcd6e9542b1"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hughd@google.com",
        "time": "Wed Mar 28 14:42:40 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 28 17:14:35 2012 -0700"
      },
      "message": "mm for fs: add truncate_pagecache_range()\n\nHolepunching filesystems ext4 and xfs are using truncate_inode_pages_range\nbut forgetting to unmap pages first (ocfs2 remembers).  This is not really\na bug, since races already require truncate_inode_page() to handle that\ncase once the page is locked; but it can be very inefficient if the file\nbeing punched happens to be mapped into many vmas.\n\nProvide a drop-in replacement truncate_pagecache_range() which does the\nunmapping pass first, handling the awkward mismatch between arguments to\ntruncate_inode_pages_range() and arguments to unmap_mapping_range().\n\nNote that holepunching does not unmap privately COWed pages in the range:\nPOSIX requires that we do so when truncating, but it\u0027s hard to justify,\ndifficult to implement without an i_size cutoff, and no filesystem is\nattempting to implement it.\n\nSigned-off-by: Hugh Dickins \u003chughd@google.com\u003e\nCc: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nCc: Andreas Dilger \u003cadilger.kernel@dilger.ca\u003e\nCc: Mark Fasheh \u003cmfasheh@suse.com\u003e\nCc: Joel Becker \u003cjlbec@evilplan.org\u003e\nCc: Ben Myers \u003cbpm@sgi.com\u003e\nCc: Alex Elder \u003celder@kernel.org\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Dave Chinner \u003cdavid@fromorbit.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0c9aac08261512d70d7d4817bd222abca8b6bdd6",
      "tree": "41bbfed632bfc6233eac3e936cfdce75c5bd3a8f",
      "parents": [
        "ed0bb8ea059764c3fc882fb135473afd347335e9",
        "8bdec192b40cf7f7eec170b317c76089eb5eeddb"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 28 15:04:26 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 28 15:04:26 2012 -0700"
      },
      "message": "Merge branch \u0027slab/for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/linux\n\nPull SLAB changes from Pekka Enberg:\n \"There\u0027s the new kmalloc_array() API, minor fixes and performance\n  improvements, but quite honestly, nothing terribly exciting.\"\n\n* \u0027slab/for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/linux:\n  mm: SLAB Out-of-memory diagnostics\n  slab: introduce kmalloc_array()\n  slub: per cpu partial statistics change\n  slub: include include for prefetch\n  slub: Do not hold slub_lock when calling sysfs_slab_add()\n  slub: prefetch next freelist pointer in slab_alloc()\n  slab, cleanup: remove unneeded return\n"
    },
    {
      "commit": "69e1aaddd63104f37021d0b0f6abfd9623c9134c",
      "tree": "14ad49741b428d270b681694bb2df349465455b9",
      "parents": [
        "56b59b429b4c26e5e730bc8c3d837de9f7d0a966",
        "9d547c35799a4ddd235f1565cec2fff6c9263504"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 28 10:02:55 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 28 10:02:55 2012 -0700"
      },
      "message": "Merge tag \u0027ext4_for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4\n\nPull ext4 updates for 3.4 from Ted Ts\u0027o:\n \"Ext4 commits for 3.3 merge window; mostly cleanups and bug fixes\n\n  The changes to export dirty_writeback_interval are from Artem\u0027s s_dirt\n  cleanup patch series.  The same is true of the change to remove the\n  s_dirt helper functions which never got used by anyone in-tree.  I\u0027ve\n  run these changes by Al Viro, and am carrying them so that Artem can\n  more easily fix up the rest of the file systems during the next merge\n  window.  (Originally we had hopped to remove the use of s_dirt from\n  ext4 during this merge window, but his patches had some bugs, so I\n  ultimately ended dropping them from the ext4 tree.)\"\n\n* tag \u0027ext4_for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4: (66 commits)\n  vfs: remove unused superblock helpers\n  mm: export dirty_writeback_interval\n  ext4: remove useless s_dirt assignment\n  ext4: write superblock only once on unmount\n  ext4: do not mark superblock as dirty unnecessarily\n  ext4: correct ext4_punch_hole return codes\n  ext4: remove restrictive checks for EOFBLOCKS_FL\n  ext4: always set then trimmed blocks count into len\n  ext4: fix trimmed block count accunting\n  ext4: fix start and len arguments handling in ext4_trim_fs()\n  ext4: update s_free_{inodes,blocks}_count during online resize\n  ext4: change some printk() calls to use ext4_msg() instead\n  ext4: avoid output message interleaving in ext4_error_\u003cfoo\u003e()\n  ext4: remove trailing newlines from ext4_msg() and ext4_error() messages\n  ext4: add no_printk argument validation, fix fallout\n  ext4: remove redundant \"EXT4-fs: \" from uses of ext4_msg\n  ext4: give more helpful error message in ext4_ext_rm_leaf()\n  ext4: remove unused code from ext4_ext_map_blocks()\n  ext4: rewrite punch hole to use ext4_ext_remove_space()\n  jbd2: cleanup journal tail after transaction commit\n  ...\n"
    },
    {
      "commit": "496b919b3bdd957d4b1727df79bfa3751bced1c1",
      "tree": "5585608ebdce5a7eca8f5ef334e6b167fcd5aab1",
      "parents": [
        "250f6715a4112d6686670c5a62ceb9305da94616"
      ],
      "author": {
        "name": "Rik van Riel",
        "email": "riel@redhat.com",
        "time": "Sat Mar 24 10:26:21 2012 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 24 12:18:32 2012 -0700"
      },
      "message": "Fix potential endless loop in kswapd when compaction is not enabled\n\nWe should only test compaction_suitable if the kernel is built with\nCONFIG_COMPACTION, otherwise the stub compaction_suitable function will\nalways return COMPACT_SKIPPED and send kswapd into an infinite loop.\n\nReported-by: Anton Blanchard \u003canton@samba.org\u003e\nSigned-off-by: Rik van Riel \u003criel@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "accb61fe7bb0f5c2a4102239e4981650f9048519",
      "tree": "5e7120b80944d9719684b94e0c419761ba2d59e1",
      "parents": [
        "909af768e88867016f427264ae39d27a57b6a8ed"
      ],
      "author": {
        "name": "Jason Baron",
        "email": "jbaron@redhat.com",
        "time": "Fri Mar 23 15:02:51 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 16:58:42 2012 -0700"
      },
      "message": "coredump: add VM_NODUMP, MADV_NODUMP, MADV_CLEAR_NODUMP\n\nSince we no longer need the VM_ALWAYSDUMP flag, let\u0027s use the freed bit\nfor \u0027VM_NODUMP\u0027 flag.  The idea is is to add a new madvise() flag:\nMADV_DONTDUMP, which can be set by applications to specifically request\nmemory regions which should not dump core.\n\nThe specific application I have in mind is qemu: we can add a flag there\nthat wouldn\u0027t dump all of guest memory when qemu dumps core.  This flag\nmight also be useful for security sensitive apps that want to absolutely\nmake sure that parts of memory are not dumped.  To clear the flag use:\nMADV_DODUMP.\n\n[akpm@linux-foundation.org: s/MADV_NODUMP/MADV_DONTDUMP/, s/MADV_CLEAR_NODUMP/MADV_DODUMP/, per Roland]\n[akpm@linux-foundation.org: fix up the architectures which broke]\nSigned-off-by: Jason Baron \u003cjbaron@redhat.com\u003e\nAcked-by: Roland McGrath \u003croland@hack.frob.com\u003e\nCc: Chris Metcalf \u003ccmetcalf@tilera.com\u003e\nCc: Avi Kivity \u003cavi@redhat.com\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: Richard Henderson \u003crth@twiddle.net\u003e\nCc: Ivan Kokshaysky \u003cink@jurassic.park.msu.ru\u003e\nCc: Matt Turner \u003cmattst88@gmail.com\u003e\nCc: \"James E.J. Bottomley\" \u003cjejb@parisc-linux.org\u003e\nCc: Helge Deller \u003cdeller@gmx.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "909af768e88867016f427264ae39d27a57b6a8ed",
      "tree": "5068b4d98e4bedecde89d9113dc7ef8c69633f45",
      "parents": [
        "1cc684ab75123efe7ff446eb821d44375ba8fa30"
      ],
      "author": {
        "name": "Jason Baron",
        "email": "jbaron@redhat.com",
        "time": "Fri Mar 23 15:02:51 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 16:58:42 2012 -0700"
      },
      "message": "coredump: remove VM_ALWAYSDUMP flag\n\nThe motivation for this patchset was that I was looking at a way for a\nqemu-kvm process, to exclude the guest memory from its core dump, which\ncan be quite large.  There are already a number of filter flags in\n/proc/\u003cpid\u003e/coredump_filter, however, these allow one to specify \u0027types\u0027\nof kernel memory, not specific address ranges (which is needed in this\ncase).\n\nSince there are no more vma flags available, the first patch eliminates\nthe need for the \u0027VM_ALWAYSDUMP\u0027 flag.  The flag is used internally by\nthe kernel to mark vdso and vsyscall pages.  However, it is simple\nenough to check if a vma covers a vdso or vsyscall page without the need\nfor this flag.\n\nThe second patch then replaces the \u0027VM_ALWAYSDUMP\u0027 flag with a new\n\u0027VM_NODUMP\u0027 flag, which can be set by userspace using new madvise flags:\n\u0027MADV_DONTDUMP\u0027, and unset via \u0027MADV_DODUMP\u0027.  The core dump filters\ncontinue to work the same as before unless \u0027MADV_DONTDUMP\u0027 is set on the\nregion.\n\nThe qemu code which implements this features is at:\n\n  http://people.redhat.com/~jbaron/qemu-dump/qemu-dump.patch\n\nIn my testing the qemu core dump shrunk from 383MB -\u003e 13MB with this\npatch.\n\nI also believe that the \u0027MADV_DONTDUMP\u0027 flag might be useful for\nsecurity sensitive apps, which might want to select which areas are\ndumped.\n\nThis patch:\n\nThe VM_ALWAYSDUMP flag is currently used by the coredump code to\nindicate that a vma is part of a vsyscall or vdso section.  However, we\ncan determine if a vma is in one these sections by checking it against\nthe gate_vma and checking for a non-NULL return value from\narch_vma_name().  Thus, freeing a valuable vma bit.\n\nSigned-off-by: Jason Baron \u003cjbaron@redhat.com\u003e\nAcked-by: Roland McGrath \u003croland@hack.frob.com\u003e\nCc: Chris Metcalf \u003ccmetcalf@tilera.com\u003e\nCc: Avi Kivity \u003cavi@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d2d393099de21eda91c5ec6a05d60e5dee4d5175",
      "tree": "92f2f5eaed87e35c43d8461a86f618b6f2a28406",
      "parents": [
        "def8cf72562e17ec8316ce0cb5697c7afd6400e3"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Fri Mar 23 15:02:45 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 16:58:41 2012 -0700"
      },
      "message": "signal: oom_kill_task: use SEND_SIG_FORCED instead of force_sig()\n\nChange oom_kill_task() to use do_send_sig_info(SEND_SIG_FORCED) instead\nof force_sig(SIGKILL).  With the recent changes we do not need force_ to\nkill the CLONE_NEWPID tasks.\n\nAnd this is more correct.  force_sig() can race with the exiting thread\neven if oom_kill_task() checks p-\u003emm !\u003d NULL, while\ndo_send_sig_info(group \u003d\u003e true) kille the whole process.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Anton Vorontsov \u003canton.vorontsov@linaro.org\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@gmail.com\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6629326b89b6e69cc44276e1649a31158bb2c819",
      "tree": "ca9463de7f327189cece1111112d2641114f3acc",
      "parents": [
        "934e18b5cb4531cc6e81865bf54115cfd21d1ac6"
      ],
      "author": {
        "name": "Hillf Danton",
        "email": "dhillf@gmail.com",
        "time": "Fri Mar 23 15:01:48 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 16:58:31 2012 -0700"
      },
      "message": "mm: hugetlb: cleanup duplicated code in unmapping vm range\n\nFix code duplication in __unmap_hugepage_range(), such as pte_page() and\nhuge_pte_none().\n\nSigned-off-by: Hillf Danton \u003cdhillf@gmail.com\u003e\nCc: Michal Hocko \u003cmhocko@suse.cz\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Hugh Dickins \u003chughd@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "643ac9fc5429e85b8b7f534544b80bcc4f34c367",
      "tree": "f6db7d7e8a08761119d478ef7adf5bef4402f786",
      "parents": [
        "437538267b672f9320833907f1b5acbb2605f4be"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hughd@google.com",
        "time": "Fri Mar 23 02:57:31 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 08:34:40 2012 -0700"
      },
      "message": "mm: fix testorder interaction between two kswapd patches\n\nAdjusting cc715d99e529 \"mm: vmscan: forcibly scan highmem if there are\ntoo many buffer_heads pinning highmem\" for -stable reveals that it was\nslightly wrong once on top of fe2c2a106663 \"vmscan: reclaim at order 0\nwhen compaction is enabled\", which specifically adds testorder for the\nzone_watermark_ok_safe() test.\n\nSigned-off-by: Hugh Dickins \u003chughd@google.com\u003e\nAcked-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "aab008db8063364dc3c8ccf4981c21124866b395",
      "tree": "72914203f4decb023efdaabd0301a62d742dfa8c",
      "parents": [
        "4f5b1affdda3e0c48cac674182f52004137b0ffc",
        "16c0cfa425b8e1488f7a1873bd112a7a099325f0"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 22 19:52:47 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 22 19:52:47 2012 -0700"
      },
      "message": "Merge tag \u0027stable/for-linus-3.4\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/mm\n\nPull cleancache changes from Konrad Rzeszutek Wilk:\n \"This has some patches for the cleancache API that should have been\n  submitted a _long_ time ago.  They are basically cleanups:\n\n   - rename of flush to invalidate\n\n   - moving reporting of statistics into debugfs\n\n   - use __read_mostly as necessary.\n\n  Oh, and also the MAINTAINERS file change.  The files (except the\n  MAINTAINERS file) have been in #linux-next for months now.  The late\n  addition of MAINTAINERS file is a brain-fart on my side - didn\u0027t\n  realize I needed that just until I was typing this up - and I based\n  that patch on v3.3 - so the tree is on top of v3.3.\"\n\n* tag \u0027stable/for-linus-3.4\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/mm:\n  MAINTAINERS: Adding cleancache API to the list.\n  mm: cleancache: Use __read_mostly as appropiate.\n  mm: cleancache: report statistics via debugfs instead of sysfs.\n  mm: zcache/tmem/cleancache: s/flush/invalidate/\n  mm: cleancache: s/flush/invalidate/\n"
    },
    {
      "commit": "754b9800779402924fffe456b49d557e15260cbf",
      "tree": "0e0441eca766616fccd8fc37a3885397efc6063a",
      "parents": [
        "35cb8d9e18c0bb33b90d7e574abadbe23b65427d",
        "ea281a9ebaba3287130dbe15bb0aad6f798bb06b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 22 09:42:04 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 22 09:42:04 2012 -0700"
      },
      "message": "Merge branch \u0027x86-mce-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull MCE changes from Ingo Molnar.\n\n* \u0027x86-mce-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  x86/mce: Fix return value of mce_chrdev_read() when erst is disabled\n  x86/mce: Convert static array of pointers to per-cpu variables\n  x86/mce: Replace hard coded hex constants with symbolic defines\n  x86/mce: Recognise machine check bank signature for data path error\n  x86/mce: Handle \"action required\" errors\n  x86/mce: Add mechanism to safely save information in MCE handler\n  x86/mce: Create helper function to save addr/misc when needed\n  HWPOISON: Add code to handle \"action required\" errors.\n  HWPOISON: Clean up memory_failure() vs. __memory_failure()\n"
    },
    {
      "commit": "95211279c5ad00a317c98221d7e4365e02f20836",
      "tree": "2ddc8625378d2915b8c96392f3cf6663b705ed55",
      "parents": [
        "5375871d432ae9fc581014ac117b96aaee3cd0c7",
        "12724850e8064f64b6223d26d78c0597c742c65a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 22 09:04:48 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 22 09:04:48 2012 -0700"
      },
      "message": "Merge branch \u0027akpm\u0027 (Andrew\u0027s patch-bomb)\n\nMerge first batch of patches from Andrew Morton:\n \"A few misc things and all the MM queue\"\n\n* emailed from Andrew Morton \u003cakpm@linux-foundation.org\u003e: (92 commits)\n  memcg: avoid THP split in task migration\n  thp: add HPAGE_PMD_* definitions for !CONFIG_TRANSPARENT_HUGEPAGE\n  memcg: clean up existing move charge code\n  mm/memcontrol.c: remove unnecessary \u0027break\u0027 in mem_cgroup_read()\n  mm/memcontrol.c: remove redundant BUG_ON() in mem_cgroup_usage_unregister_event()\n  mm/memcontrol.c: s/stealed/stolen/\n  memcg: fix performance of mem_cgroup_begin_update_page_stat()\n  memcg: remove PCG_FILE_MAPPED\n  memcg: use new logic for page stat accounting\n  memcg: remove PCG_MOVE_LOCK flag from page_cgroup\n  memcg: simplify move_account() check\n  memcg: remove EXPORT_SYMBOL(mem_cgroup_update_page_stat)\n  memcg: kill dead prev_priority stubs\n  memcg: remove PCG_CACHE page_cgroup flag\n  memcg: let css_get_next() rely upon rcu_read_lock()\n  cgroup: revert ss_id_lock to spinlock\n  idr: make idr_get_next() good for rcu_read_lock()\n  memcg: remove unnecessary thp check in page stat accounting\n  memcg: remove redundant returns\n  memcg: enum lru_list lru\n  ...\n"
    },
    {
      "commit": "91913a2942d2b582c40673956dec1a9c71d32fe4",
      "tree": "b055ae821b46fa7e11e1f7035a3da7b1e711f5e4",
      "parents": [
        "182f514f883abb5f942c94e61c371c4b406352d4"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Wed Mar 21 22:33:00 2012 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Mar 21 22:33:00 2012 -0400"
      },
      "message": "mm: export dirty_writeback_interval\n\nExport \u0027dirty_writeback_interval\u0027 to make it visible to\nfile-systems. We are going to push superblock management down to\nfile-systems and get rid of the \u0027sync_supers\u0027 kernel thread completly.\n\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\nCc: Al Viro \u003cviro@ZenIV.linux.org.uk\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    }
  ],
  "next": "12724850e8064f64b6223d26d78c0597c742c65a"
}
