)]}'
{
  "log": [
    {
      "commit": "e00e431612c3a6e437a01f2129fd3843da0c982a",
      "tree": "4f838123d0b295ab3608380ce803c8960a8ebfd0",
      "parents": [
        "b9f9d4706cb1b706f89f98ea6ead41ebecdefbc2"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Wed Nov 11 14:26:26 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Nov 12 07:25:56 2009 -0800"
      },
      "message": "memcg: fix wrong pointer initialization at page migration when memcg is disabled.\n\nLee Schermerhorn reported that he saw bad pointer dereference in\nmem_cgroup_end_migration() when he disabled memcg by boot option.\n\nmemcg\u0027s page migration logic works as\n\n\tmem_cgroup_prepare_migration(page, \u0026ptr);\n\tdo page migration\n\tmem_cgroup_end_migration(page, ptr);\n\nNow, ptr is not initialized in prepare_migration when memcg is disabled\nby boot option. This causes panic in end_migration. This patch fixes it.\n\nReported-by: Lee Schermerhorn \u003cLee.Schermerhorn@hp.com\u003e\nCc: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nReviewed-by: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nCc: \u003cstable@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": "9d0ed60fe9cd1fbf57f755cd27a23ae9114d7210",
      "tree": "71ecabae46aa132545ca39dd0da62c483d69c20b",
      "parents": [
        "cc4a6851466039a8a688c843962a05689059ff3b"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mel@csn.ul.ie",
        "time": "Wed Nov 11 14:26:17 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Nov 12 07:25:56 2009 -0800"
      },
      "message": "page allocator: Do not allow interrupts to use ALLOC_HARDER\n\nCommit 341ce06f69abfafa31b9468410a13dbd60e2b237 (\"page allocator:\ncalculate the alloc_flags for allocation only once\") altered watermark\nlogic slightly by allowing rt_tasks that are handling an interrupt to set\nALLOC_HARDER.  This patch brings the watermark logic more in line with\n2.6.30.\n\nThis change results in a reduction of the number high-order GFP_ATOMIC\nallocation failures reported.  See\nhttp://www.gossamer-threads.com/lists/linux/kernel/1144153\n\n[rientjes@google.com: Spotted the problem]\nSigned-off-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nReviewed-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nReviewed-by: Rik van Riel \u003criel@redhat.com\u003e\nReviewed-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: \u003cstable@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": "cc4a6851466039a8a688c843962a05689059ff3b",
      "tree": "23e3f6c4797179d6bea91890f5784c1c0cb47aa9",
      "parents": [
        "b0c9065324b7c1242b97b27a1407da18471b9b23"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mel@csn.ul.ie",
        "time": "Wed Nov 11 14:26:14 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Nov 12 07:25:56 2009 -0800"
      },
      "message": "page allocator: always wake kswapd when restarting an allocation attempt after direct reclaim failed\n\nIf a direct reclaim makes no forward progress, it considers whether it\nshould go OOM or not.  Whether OOM is triggered or not, it may retry the\nallocation afterwards.  In times past, this would always wake kswapd as\nwell but currently, kswapd is not woken up after direct reclaim fails.\nFor order-0 allocations, this makes little difference but if there is a\nheavy mix of higher-order allocations that direct reclaim is failing for,\nit might mean that kswapd is not rewoken for higher orders as much as it\ndid previously.\n\nThis patch wakes up kswapd when an allocation is being retried after a\ndirect reclaim failure.  It would be expected that kswapd is already\nawake, but this has the effect of telling kswapd to reclaim at the higher\norder as well.\n\nSigned-off-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nReviewed-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nReviewed-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nReviewed-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: \u003cstable@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": "961767b75d63c21aa60ee3ccf940288c3c1afde6",
      "tree": "2ba45f33bcd7998fd52a1f423e76265370953054",
      "parents": [
        "1fd18a871a0761633d02d0536ecb4a311d92a3d3",
        "d4515646699b6ad7b1a98ceb871296b957f3ef47"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Nov 11 11:30:15 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Nov 11 11:30:15 2009 -0800"
      },
      "message": "Merge branch \u0027core-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  highmem: Fix debug_kmap_atomic() to also handle KM_IRQ_PTE, KM_NMI, and KM_NMI_PTE\n  highmem: Fix race in debug_kmap_atomic() which could cause warn_count to underflow\n  rcu: Fix long-grace-period race between forcing and initialization\n  uids: Prevent tear down race\n"
    },
    {
      "commit": "d4515646699b6ad7b1a98ceb871296b957f3ef47",
      "tree": "e29bc0bd1eb291b45f58709c06d7c9c072aed6f6",
      "parents": [
        "5ebd4c22897dce65845807a9bd3a31cc4e142b53"
      ],
      "author": {
        "name": "Soeren Sandmann",
        "email": "sandmann@daimi.au.dk",
        "time": "Wed Oct 28 18:56:35 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Nov 10 04:15:47 2009 +0100"
      },
      "message": "highmem: Fix debug_kmap_atomic() to also handle KM_IRQ_PTE, KM_NMI, and KM_NMI_PTE\n\nPreviously calling debug_kmap_atomic() with these types would\ncause spurious warnings.\n\n(triggered by SysProf using perf events)\n\nSigned-off-by: Soeren Sandmann Pedersen \u003csandmann@redhat.com\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: a.p.zijlstra@chello.nl\nCc: \u003cstable@kernel.org\u003e # .31.x\nLKML-Reference: \u003cye8vdhz8krw.fsf@camel23.daimi.au.dk\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "5ebd4c22897dce65845807a9bd3a31cc4e142b53",
      "tree": "d56865116e9961450c48c46ae3d346956f66b180",
      "parents": [
        "83f5b01ffbbaea6f97c9a79d21e240dbfb69f2f1"
      ],
      "author": {
        "name": "Soeren Sandmann",
        "email": "sandmann@daimi.au.dk",
        "time": "Wed Oct 28 18:55:36 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Nov 10 04:15:32 2009 +0100"
      },
      "message": "highmem: Fix race in debug_kmap_atomic() which could cause warn_count to underflow\n\ndebug_kmap_atomic() tries to prevent ever printing more than 10\nwarnings, but it does so by testing whether an unsigned integer\nis equal to 0. However, if the warning is caused by a nested\nIRQ, then this counter may underflow and the stream of warnings\nwill never end.\n\nFix that by using a signed integer instead.\n\nSigned-off-by: Soeren Sandmann Pedersen \u003csandmann@redhat.com\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: a.p.zijlstra@chello.nl\nCc: \u003cstable@kernel.org\u003e # .31.x\nLKML-Reference: \u003cye8zl7b8ktj.fsf@camel23.daimi.au.dk\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d178f27fc5150d680d9df865ea9dfe3269cf00a6",
      "tree": "c2e87a755ce78765a8dd7752d7608c57ace29bec",
      "parents": [
        "b7b69c7e97bc0a6694e7052a200609fd48baafc2"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh.dickins@tiscali.co.uk",
        "time": "Mon Nov 09 15:58:23 2009 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Nov 09 09:55:44 2009 -0800"
      },
      "message": "ksm: cond_resched in unstable tree\n\nKSM needs a cond_resched() for CONFIG_PREEMPT_NONE, in its unbounded\nsearch of the unstable tree.  The stable tree cases already have one,\nand originally there was one down inside get_user_pages();\nbut I missed it when I converted to follow_page() instead.\n\nSigned-off-by: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nAcked-by: Izik Eidus \u003cieidus@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "51bb296b09a83ee1aae025778db38f9d2cc7bb1a",
      "tree": "739f445b953aa77e82a429fe3a939d0b4cb3d222",
      "parents": [
        "dc79d2f21a2dc19df26f0cb0b46be2d6241b627b",
        "4b27e1bb442e964903f8a3fa6bdf33a602dc0941"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Nov 03 18:16:21 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Nov 03 18:16:21 2009 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block\n\n* \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block:\n  cfq-iosched: limit coop preemption\n  cfq-iosched: fix bad return value cfq_should_preempt()\n  backing-dev: bdi sb prune should be in the unregister path, not destroy\n  Fix bio_alloc() and bio_kmalloc() documentation\n  bio_put(): add bio_clone() to the list of functions in the comment\n"
    },
    {
      "commit": "8c4db3355b0fcc9ad77431f15b955efa0645b5d0",
      "tree": "59182683545e9ca548d0e17e52d6326bb24b44cf",
      "parents": [
        "5f04eeb8a76521dec371ceb05e8263889a8af2bc"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Nov 03 20:18:44 2009 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Nov 03 20:18:44 2009 +0100"
      },
      "message": "backing-dev: bdi sb prune should be in the unregister path, not destroy\n\nCommit 592b09a42fc3ae6737a0f3ecf4fee42ecd0296f8 was different from\nthe tested path, in that it moved the bdi super_block prune from\nunregister to destroy context. This doesn\u0027t fully fix the sync hang\nbug on unexpected device removal, as need to prune the bdi cache\npointer before killing flusher thread.\n\nTested-by: Artur Skawina \u003cart.08.09@gmail.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "32c5fc10e79a7053ac5728b01a0bff55cbcb9d49",
      "tree": "7a392ac3196770c49622d5d5cb41f77c46a35f83",
      "parents": [
        "c9354c85c1c7bac788ce57d3c17f2016c1c45b1d"
      ],
      "author": {
        "name": "Bo Liu",
        "email": "bo-liu@hotmail.com",
        "time": "Mon Nov 02 16:50:33 2009 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Nov 02 09:44:41 2009 -0800"
      },
      "message": "mm: remove incorrect swap_count() from try_to_unuse()\n\nIn try_to_unuse(), swcount is a local copy of *swap_map, including the\nSWAP_HAS_CACHE bit; but a wrong comparison against swap_count(*swap_map),\nwhich masks off the SWAP_HAS_CACHE bit, succeeded where it should fail.\n\nThat had the effect of resetting the mm from which to start searching\nfor the next swap page, to an irrelevant mm instead of to an mm in which\nthis swap page had been found: which may increase search time by ~20%.\nBut we\u0027re used to swapoff being slow, so never noticed the slowdown.\n\nRemove that one spurious use of swap_count(): Bo Liu thought it merely\nredundant, Hugh rewrote the description since it was measurably wrong.\n\nSigned-off-by: Bo Liu \u003cbo-liu@hotmail.com\u003e\nSigned-off-by: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nReviewed-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: stable@kernel.org\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "89a8640279f8bb78aaf778d1fc5c4a6778f18064",
      "tree": "c768adbc88d0482d4fdd0ff8385fe77c01ae1534",
      "parents": [
        "2e2ec952350f25242f2e0539db16b1e46f9eb01b"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Fri Oct 30 13:13:26 2009 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Oct 31 12:11:37 2009 -0700"
      },
      "message": "NOMMU: Don\u0027t pass NULL pointers to fput() in do_mmap_pgoff()\n\nDon\u0027t pass NULL pointers to fput() in the error handling paths of the NOMMU\ndo_mmap_pgoff() as it can\u0027t handle it.\n\nThe following can be used as a test program:\n\n\tint main() { static long long a[1024 * 1024 * 20] \u003d { 0 }; return a;}\n\nWithout the patch, the code oopses in atomic_long_dec_and_test() as called by\nfput() after the kernel complains that it can\u0027t allocate that big a chunk of\nmemory.  With the patch, the kernel just complains about the allocation size\nand then the program segfaults during execve() as execve() can\u0027t complete the\nallocation of all the new ELF program segments.\n\nReported-by: Robin Getz \u003crgetz@blackfin.uclinux.org\u003e\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: Robin Getz \u003crgetz@blackfin.uclinux.org\u003e\nCc: stable@kernel.org\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8633322c5fd5b2a986b279f88a7559d8409f7da3",
      "tree": "2db612751e9fa5c3624f008c7e4d520e77944852",
      "parents": [
        "9532faeb293f5a5f0ff06f567de14e557698dbde",
        "4a6cc4bd32e580722882115d4c8b964d732c11e4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 29 09:19:29 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 29 09:19:29 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu:\n  sched: move rq_weight data array out of .percpu\n  percpu: allow pcpu_alloc() to be called with IRQs off\n"
    },
    {
      "commit": "68e71d1902a820c9bc7a5a6c23260841caafff33",
      "tree": "a9ba52bdfef99e7bdc5f8623772d76789f7b7c8b",
      "parents": [
        "066455d471e997adbcc98dda62eaf461e8b6556e",
        "592b09a42fc3ae6737a0f3ecf4fee42ecd0296f8"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 29 09:17:19 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 29 09:17:19 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block\n\n* \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block:\n  backing-dev: ensure that a removed bdi no longer has super_block referencing it\n  block: use after free bug in __blkdev_get\n  block: silently error unsupported empty barriers too\n"
    },
    {
      "commit": "0a53f1693cb956ebd8ba0a9acca6adb2dcb99d5f",
      "tree": "c5028752d115e4cebd90864ffd99c2564bc7e12b",
      "parents": [
        "7fecf0a1f2f0dc334d41f1044198fb5aa6be1905",
        "40578fca24e7f777f3da7a693b030ae28ef7e486"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 29 08:59:06 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 29 08:59:06 2009 -0700"
      },
      "message": "Merge branch \u0027merge\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc\n\n* \u0027merge\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc:\n  powerpc/ppc64: Use preempt_schedule_irq instead of preempt_schedule\n  powerpc: Minor cleanup to lib/Kconfig.debug\n  powerpc: Minor cleanup to sound/ppc/Kconfig\n  powerpc: Minor cleanup to init/Kconfig\n  powerpc: Limit memory hotplug support to PPC64 Book-3S machines\n  powerpc: Limit hugetlbfs support to PPC64 Book-3S machines\n  powerpc: Fix compile errors found by new ppc64e_defconfig\n  powerpc: Add a Book-3E 64-bit defconfig\n  powerpc/booke: Fix xmon single step on PowerPC Book-E\n  powerpc: Align vDSO base address\n  powerpc: Fix segment mapping in vdso32\n  powerpc/iseries: Remove compiler version dependent hack\n  powerpc/perf_events: Fix priority of MSR HV vs PR bits\n  powerpc/5200: Update defconfigs\n  drivers/serial/mpc52xx_uart.c: Use UPIO_MEM rather than SERIAL_IO_MEM\n  powerpc/boot/dts: drop obsolete \u0027fsl5200-clocking\u0027\n  of: Remove nested function\n  mpc5200: support for the MAN mpc5200 based board mucmc52\n  mpc5200: support for the MAN mpc5200 based board uc101\n"
    },
    {
      "commit": "3242f9804ba992c867360e2b57efc268b8e4e175",
      "tree": "96fbdbc1344aa67588ce26765f308c674b91a75f",
      "parents": [
        "23756692147c5dfd3328afd42e16e9d943ff756c",
        "7456b0405d8fc063c49628f969cdb23be060fc80"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 29 08:20:00 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 29 08:20:00 2009 -0700"
      },
      "message": "Merge branch \u0027hwpoison-2.6.32\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ak/linux-mce-2.6\n\n* \u0027hwpoison-2.6.32\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ak/linux-mce-2.6:\n  HWPOISON: fix invalid page count in printk output\n  HWPOISON: Allow schedule_on_each_cpu() from keventd\n  HWPOISON: fix/proc/meminfo alignment\n  HWPOISON: fix oops on ksm pages\n  HWPOISON: Fix page count leak in hwpoison late kill in do_swap_page\n  HWPOISON: return early on non-LRU pages\n  HWPOISON: Add brief hwpoison description to Documentation\n  HWPOISON: Clean up PR_MCE_KILL interface\n"
    },
    {
      "commit": "c36987e2ef32e1bb7850379515f21187cba44754",
      "tree": "0b0a6b6a54c2a80de86426a74367ec4b1f089b61",
      "parents": [
        "2545f038f4af0ff9945d47c10f988418dda50140"
      ],
      "author": {
        "name": "Daisuke Nishimura",
        "email": "nishimura@mxp.nes.nec.co.jp",
        "time": "Mon Oct 26 16:50:23 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 29 07:39:32 2009 -0700"
      },
      "message": "mm: don\u0027t call pte_unmap() against an improper pte\n\nThere are some places where we do like:\n\n\tpte \u003d pte_map();\n\tdo {\n\t\t(do break in some conditions)\n\t} while (pte++, ...);\n\tpte_unmap(pte - 1);\n\nBut if the loop breaks at the first loop, pte_unmap() unmaps invalid pte.\n\nThis patch is a fix for this problem.\n\nSigned-off-by: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nReviewd-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nAcked-by: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1a83e175dc2c7be931a3ea9c7fb0769e6de55e90",
      "tree": "8a5001cf6bd6a2c3a4d43a60af7a3fb23d396902",
      "parents": [
        "c2494ace990c5d37cfe66911b85d28e6945eadfc"
      ],
      "author": {
        "name": "Russell King",
        "email": "rmk+lkml@arm.linux.org.uk",
        "time": "Mon Oct 26 16:50:12 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 29 07:39:31 2009 -0700"
      },
      "message": "mm: fix sparsemem configuration\n\nCurrently, sparsemem is only available if EXPERIMENTAL is enabled.\nHowever, it hasn\u0027t ever been marked experimental.\n\nIt\u0027s been about four years since sparsemem was merged, and we have\nplatforms which depend on it; allow architectures to decide whether\nsparsemem should be the default memory model.\n\nSigned-off-by: Russell King \u003crmk+kernel@arm.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": "6a7b95481d49f73991d3dbf8c1e696a24684ac05",
      "tree": "32f80d8839daf939bcae8d7711e64b8e96d89ce1",
      "parents": [
        "b05ca7385a2848abdc72051f832722641daed8b0"
      ],
      "author": {
        "name": "Johannes Weiner",
        "email": "hannes@cmpxchg.org",
        "time": "Mon Oct 26 16:50:00 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 29 07:39:30 2009 -0700"
      },
      "message": "vmscan: order evictable rescue in LRU putback\n\nIsolators putting a page back to the LRU do not hold the page lock, and if\nthe page is mlocked, another thread might munlock it concurrently.\n\nExpecting this, the putback code re-checks the evictability of a page when\nit just moved it to the unevictable list in order to correct its decision.\n\nThe problem, however, is that ordering is not garuanteed between setting\nPG_lru when moving the page to the list and checking PG_mlocked\nafterwards:\n\n\t#0:\t\t\t\t#1\n\n\tspin_lock()\n\t\t\t\t\tif (TestClearPageMlocked())\n\t\t\t\t\t  if (PageLRU())\n\t\t\t\t\t    move to evictable list\n\tSetPageLRU()\n\tspin_unlock()\n\tif (!PageMlocked())\n\t  move to evictable list\n\nThe PageMlocked() check may get reordered before SetPageLRU() in #0,\nresulting in #0 not moving the still mlocked page, and in #1 failing to\nisolate and move the page as well.  The page is now stranded on the\nunevictable list.\n\nThe race condition is very unlikely.  The consequence currently is one\npage falling off the reclaim grid and eventually getting freed with\nPG_unevictable set, which triggers a warning in the page allocator.\n\nTestClearPageMlocked() in #1 already provides full memory barrier\nsemantics.\n\nThis patch adds an explicit full barrier to force ordering between\nSetPageLRU() and PageMlocked() so that either one of the competitors\nrescues the page.\n\nSigned-off-by: Johannes Weiner \u003channes@cmpxchg.org\u003e\nReviewed-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Lee Schermerhorn \u003cLee.Schermerhorn@hp.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nReviewed-by: Rik van Riel \u003criel@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": "b05ca7385a2848abdc72051f832722641daed8b0",
      "tree": "ce0463be127434f25f23025142f2313d2dae21ab",
      "parents": [
        "ab8a3e14e6f8e567560f664bbd29aefb306a274e"
      ],
      "author": {
        "name": "KOSAKI Motohiro",
        "email": "kosaki.motohiro@jp.fujitsu.com",
        "time": "Mon Oct 26 16:49:59 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 29 07:39:29 2009 -0700"
      },
      "message": "do_mbind(): fix memory leak\n\nIf migrate_prep is failed, new variable is leaked.  This patch fixes it.\n\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nAcked-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: \u003cstable@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": "ab8a3e14e6f8e567560f664bbd29aefb306a274e",
      "tree": "72de6b1c5a9130a0503ecc4d9e16db236f6884a0",
      "parents": [
        "47f365eb575735c6b2edf5d08e0d16d26a9c23bd"
      ],
      "author": {
        "name": "KOSAKI Motohiro",
        "email": "kosaki.motohiro@jp.fujitsu.com",
        "time": "Mon Oct 26 16:49:58 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 29 07:39:29 2009 -0700"
      },
      "message": "mbind(): fix leak of never putback pages\n\nIf mbind() receives an invalid address, do_mbind leaks a page.  The\nfollowing test program detects this leak.\n\nThis patch fixes it.\n\nmigrate_efault.c\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n #include \u003cnumaif.h\u003e\n #include \u003cnuma.h\u003e\n #include \u003csys/mman.h\u003e\n #include \u003cstdio.h\u003e\n #include \u003cunistd.h\u003e\n #include \u003cstdlib.h\u003e\n #include \u003cstring.h\u003e\n\nstatic unsigned long pagesize;\n\nstatic void* make_hole_mapping(void)\n{\n\n\tvoid* addr;\n\n\taddr \u003d mmap(NULL, pagesize*3, PROT_READ|PROT_WRITE,\n\t\t    MAP_ANON|MAP_PRIVATE, 0, 0);\n\tif (addr \u003d\u003d MAP_FAILED)\n\t\treturn NULL;\n\n\t/* make page populate */\n\tmemset(addr, 0, pagesize*3);\n\n\t/* make memory hole */\n\tmunmap(addr+pagesize, pagesize);\n\n\treturn addr;\n}\n\nint main(int argc, char** argv)\n{\n\tvoid* addr;\n\tint ch;\n\tint node;\n\tstruct bitmask *nmask \u003d numa_allocate_nodemask();\n\tint err;\n\tint node_set \u003d 0;\n\n\twhile ((ch \u003d getopt(argc, argv, \"n:\")) !\u003d -1){\n\t\tswitch (ch){\n\t\tcase \u0027n\u0027:\n\t\t\tnode \u003d strtol(optarg, NULL, 0);\n\t\t\tnuma_bitmask_setbit(nmask, node);\n\t\t\tnode_set \u003d 1;\n\t\t\tbreak;\n\t\tdefault:\n\t\t\t;\n\t\t}\n\t}\n\targc -\u003d optind;\n\targv +\u003d optind;\n\n\tif (!node_set)\n\t\tnuma_bitmask_setbit(nmask, 0);\n\n\tpagesize \u003d getpagesize();\n\n\taddr \u003d make_hole_mapping();\n\n\terr \u003d mbind(addr, pagesize*3, MPOL_BIND, nmask-\u003emaskp, nmask-\u003esize, MPOL_MF_MOVE_ALL);\n\tif (err)\n\t\tperror(\"mbind \");\n\n\treturn 0;\n}\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nAcked-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: \u003cstable@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": "41e20983fe553b39bc2b00e07c7a379f0c86a4bc",
      "tree": "685433b37a7ebe5a61ac7315dc8017706227345b",
      "parents": [
        "b76146ed1ae7d7acae1d51f9342e31d00c8d5a12"
      ],
      "author": {
        "name": "Wu Fengguang",
        "email": "fengguang.wu@intel.com",
        "time": "Mon Oct 26 16:49:53 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 29 07:39:27 2009 -0700"
      },
      "message": "vmscan: limit VM_EXEC protection to file pages\n\nIt is possible to have !Anon but SwapBacked pages, and some apps could\ncreate huge number of such pages with MAP_SHARED|MAP_ANONYMOUS.  These\npages go into the ANON lru list, and hence shall not be protected: we only\ncare mapped executable files.  Failing to do so may trigger OOM.\n\nTested-by: Christian Borntraeger \u003cborntraeger@de.ibm.com\u003e\nReviewed-by: Rik van Riel \u003criel@redhat.com\u003e\nSigned-off-by: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nCc: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b76146ed1ae7d7acae1d51f9342e31d00c8d5a12",
      "tree": "ea8d8923070cb8fdf6eeb50ee9e21fd085b2ac73",
      "parents": [
        "5c36fe3d87b3f0c85894a49193c66096a3d6b26f"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Mon Oct 26 16:49:52 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 29 07:39:27 2009 -0700"
      },
      "message": "revert \"mm: oom analysis: add buffer cache information to show_free_areas()\"\n\nRevert\n\n    commit 71de1ccbe1fb40203edd3beb473f8580d917d2ca\n    Author:     KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\n    AuthorDate: Mon Sep 21 17:01:31 2009 -0700\n    Commit:     Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n    CommitDate: Tue Sep 22 07:17:27 2009 -0700\n\n        mm: oom analysis: add buffer cache information to show_free_areas()\n\nshow_free_areas() is called during page allocation failures, and page\nallocation failures can occur in any calling context.\n\nBut nr_blockdev_pages() takes VFS locks which should not be taken from\nhard IRQ context (at least).  The result is lockdep warnings (and\ndeadlockability) during page allocation failures.\n\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: Alexey Dobriyan \u003cadobriyan@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": "58355c7876a0754377c37c8af948b4cd423410e2",
      "tree": "9e49dfe20538307d2c4c8fc92c88432c4298f63b",
      "parents": [
        "0d0df599f1f11f12d589318bacb59a50fb5c0310"
      ],
      "author": {
        "name": "KOSAKI Motohiro",
        "email": "kosaki.motohiro@jp.fujitsu.com",
        "time": "Mon Oct 26 16:49:35 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 29 07:39:25 2009 -0700"
      },
      "message": "congestion_wait(): don\u0027t use WRITE\n\ncommit 8aa7e847d (Fix congestion_wait() sync/async vs read/write\nconfusion) replace WRITE with BLK_RW_ASYNC.  Unfortunately, concurrent mm\ndevelopment made the unchanged place accidentally.\n\nThis patch fixes it too.\n\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nAcked-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nAcked-by: Rik van Riel \u003criel@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": "92f7ba70eecf4da8264a767b181cc2090f62d4ad",
      "tree": "c8e0fe4239efcf114a01896e3836b30cddf0ba1b",
      "parents": [
        "2eca40a8ccd4160dbfaa5cbd61038d921d0e5f13"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh.dickins@tiscali.co.uk",
        "time": "Mon Oct 26 16:49:31 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 29 07:39:24 2009 -0700"
      },
      "message": "hwpoison: fix oops on ksm pages\n\nMemory failure on a KSM page currently oopses on its NULL anon_vma in\npage_lock_anon_vma(): that may not be much worse than the consequence of\nignoring it, but it is better to be consistent with how ZERO_PAGE and\nhugetlb pages and other awkward cases are treated.  Just skip it.\n\nWe could fix it for 2.6.32 at the KSM end, by putting a dummy anon_vma\npointer in there; but that would get harder next time, when KSM will put a\npointer to something else there (and I\u0027m not currently planning to do any\nwork to open that up to memory_failure).  So I would prefer this simple\nPageKsm test, until the other exceptions are handled.\n\nSigned-off-by: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "592b09a42fc3ae6737a0f3ecf4fee42ecd0296f8",
      "tree": "d06ca7165c5dfc5224910993b36a50e54a896831",
      "parents": [
        "960cc0f4fef607baabc2232fbd7cce5368a9dcfd"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 29 11:46:12 2009 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 29 11:46:12 2009 +0100"
      },
      "message": "backing-dev: ensure that a removed bdi no longer has super_block referencing it\n\nWhen the bdi is being removed, we have to ensure that no super_blocks\ncurrently have that cached in sb-\u003es_bdi. Normally this is ensured by\nthe sb having a longer life span than the bdi, but if the device is\nsuddenly yanked, we have to kill this reference. sb-\u003es_bdi is pointed\nto freed memory at that point.\n\nThis fixes a problem with sync(1) hanging when a USB stick is pulled\nwithout cleanly umounting it first.\n\nReported-by: Pavel Machek \u003cpavel@ucw.cz\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "403a91b1659cb149dbddc5885f892734ae4542d8",
      "tree": "c953c271057033b5fbc47b8ddb77c78d926c221e",
      "parents": [
        "1a0c3298d6c6bfc357c38772e7f32d193c60c77d"
      ],
      "author": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Thu Oct 29 00:25:59 2009 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Oct 29 00:25:59 2009 +0900"
      },
      "message": "percpu: allow pcpu_alloc() to be called with IRQs off\n\npcpu_alloc() and pcpu_extend_area_map() perform a series of\nspin_lock_irq()/spin_unlock_irq() calls, which make them unsafe\nwith respect to being called from contexts which have IRQs off.\n\nThis patch converts the code to perform save/restore of flags instead,\nmaking pcpu_alloc() (or __alloc_percpu() respectively) to be called\nfrom early kernel startup stage, where IRQs are off.\n\nThis is needed for proper initialization of per-cpu rq_weight data from\nsched_init().\n\ntj: added comment explaining why irqsave/restore is used in alloc path.\n\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\n"
    },
    {
      "commit": "ed84a07a124bf3b1aab2fd7fdb6e9534838087ac",
      "tree": "4fb1c63d6ab91b8d5f47fdcaa9a0bef5f244bb2e",
      "parents": [
        "0cd9ad73b8d181737005ff4e506b9b6bd043f4dd"
      ],
      "author": {
        "name": "Kumar Gala",
        "email": "galak@kernel.crashing.org",
        "time": "Fri Oct 16 07:21:36 2009 +0000"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Tue Oct 27 16:42:41 2009 +1100"
      },
      "message": "powerpc: Limit memory hotplug support to PPC64 Book-3S machines\n\nSigned-off-by: Kumar Gala \u003cgalak@kernel.crashing.org\u003e\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "7456b0405d8fc063c49628f969cdb23be060fc80",
      "tree": "b1216354d6940b800128b224e2d801ed9232fa02",
      "parents": [
        "65a64464349883891e21e74af16c05d6e1eeb4e9"
      ],
      "author": {
        "name": "Wu Fengguang",
        "email": "fengguang.wu@intel.com",
        "time": "Mon Oct 19 08:15:01 2009 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "ak@linux.intel.com",
        "time": "Mon Oct 19 08:15:01 2009 +0200"
      },
      "message": "HWPOISON: fix invalid page count in printk output\n\nThe madvise injector already holds a reference when passing in a page\nto the memory-failure code. The code corrects for this additional reference\nfor its checks, but the final printk output didn\u0027t. Fix that.\n\nSigned-off-by: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nSigned-off-by: Andi Kleen \u003cak@linux.intel.com\u003e\n"
    },
    {
      "commit": "01e00f880ca700376e1845cf7a2524ebe68e47d6",
      "tree": "6e15c363298dd01dd44d5c96afd9ef36078a1247",
      "parents": [
        "4779cb31c0ee3b355116745edca3f3e5fe865553"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh.dickins@tiscali.co.uk",
        "time": "Tue Oct 13 15:02:11 2009 +0100"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "ak@linux.intel.com",
        "time": "Mon Oct 19 07:29:20 2009 +0200"
      },
      "message": "HWPOISON: fix oops on ksm pages\n\nMemory failure on a KSM page currently oopses on its NULL anon_vma in\npage_lock_anon_vma(): that may not be much worse than the consequence\nof ignoring it, but it is better to be consistent with how ZERO_PAGE\nand hugetlb pages and other awkward cases are treated.  Just skip it.\n\nSigned-off-by: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nSigned-off-by: Andi Kleen \u003cak@linux.intel.com\u003e\n"
    },
    {
      "commit": "4779cb31c0ee3b355116745edca3f3e5fe865553",
      "tree": "7409cb0762ca55afe11aa981db4624d3496ed6fb",
      "parents": [
        "e43c3afb367112a5b357f9adfac7817255129c88"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@linux.intel.com",
        "time": "Wed Oct 14 01:51:41 2009 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "ak@linux.intel.com",
        "time": "Mon Oct 19 07:29:20 2009 +0200"
      },
      "message": "HWPOISON: Fix page count leak in hwpoison late kill in do_swap_page\n\nWhen returning due to a poisoned page drop the page count.\n\nIt wasn\u0027t a fatal problem because noone cares about the page count\non a poisoned page (except when it wraps), but it\u0027s cleaner to fix it.\n\nPointed out by Linus.\n\nSigned-off-by: Andi Kleen \u003cak@linux.intel.com\u003e\n"
    },
    {
      "commit": "e43c3afb367112a5b357f9adfac7817255129c88",
      "tree": "b85f21b23ab3a3c38a37cb192bd9a845e964c501",
      "parents": [
        "f58ee00f1547ceb17b610ecfce2aa9097f1f9737"
      ],
      "author": {
        "name": "Wu Fengguang",
        "email": "fengguang.wu@intel.com",
        "time": "Tue Sep 29 13:16:20 2009 +0800"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "ak@linux.intel.com",
        "time": "Mon Oct 19 07:28:24 2009 +0200"
      },
      "message": "HWPOISON: return early on non-LRU pages\n\nRight now we have some trouble with non atomic access\nto page flags when locking the page. To plug this hole\nfor now, limit error recovery to LRU pages for now.\n\nThis could be better fixed by defining a suitable protocol,\nbut let\u0027s go this simple way for now\n\nThis avoids unnecessary races with __set_page_locked() and\n__SetPageSlab*() and maybe more non-atomic page flag operations.\n\nThis loses isolated pages which are currently in page reclaim, but these\nare relatively limited compared to the total memory.\n\nSigned-off-by: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nSigned-off-by: Andi Kleen \u003cak@linux.intel.com\u003e\n[AK: new description, bug fixes, cleanups]\n"
    },
    {
      "commit": "80f506918fdaaca6b574ba931536a58ce015c7be",
      "tree": "938bddf32e8c5dca114cb1a5f3ca2a62960accc8",
      "parents": [
        "a3bafbbbb5ac49355aa35e6a722eac6ef1dff19a",
        "2ec24ff1d1875defa742c76c9c7d74dca06b7e1f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 13 10:21:33 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 13 10:21:33 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block\n\n* \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block:\n  cciss: Add cciss_allow_hpsa module parameter\n  cciss: Fix multiple calls to pci_release_regions\n  blk-settings: fix function parameter kernel-doc notation\n  writeback: kill space in debugfs item name\n  writeback: account IO throttling wait as iowait\n  elv_iosched_store(): fix strstrip() misuse\n  cfq-iosched: avoid probable slice overrun when idling\n  cfq-iosched: apply bool value where we return 0/1\n  cfq-iosched: fix think time allowed for seekers\n  cfq-iosched: fix the slice residual sign\n  cfq-iosched: abstract out the \u0027may this cfqq dispatch\u0027 logic\n  block: use proper BLK_RW_ASYNC in blk_queue_start_tag()\n  block: Seperate read and write statistics of in_flight requests v2\n  block: get rid of kblock_schedule_delayed_work()\n  cfq-iosched: fix possible problem with jiffies wraparound\n  cfq-iosched: fix issue with rq-rq merging and fifo list ordering\n"
    },
    {
      "commit": "a3bafbbbb5ac49355aa35e6a722eac6ef1dff19a",
      "tree": "445f7f2b241793210ca38a5a56f1f1381537ecdc",
      "parents": [
        "25d591587d3b0676fb89c29e7e55fe4a08597ec1",
        "1a0c3298d6c6bfc357c38772e7f32d193c60c77d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 13 10:21:12 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 13 10:21:12 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu:\n  percpu: fix compile warnings\n"
    },
    {
      "commit": "1a0c3298d6c6bfc357c38772e7f32d193c60c77d",
      "tree": "dc39e4615cb321689176b75b6ddb6bf70c7ff569",
      "parents": [
        "f2badb0c950ed308be9b321203b9c8d341690cd4"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Sun Oct 04 09:31:05 2009 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Oct 12 17:04:42 2009 +0900"
      },
      "message": "percpu: fix compile warnings\n\nFix the following two compile warnings which show up on i386.\n\nmm/percpu.c:1873: warning: comparison of distinct pointer types lacks a cast\nmm/percpu.c:1879: warning: format \u0027%lx\u0027 expects type \u0027long unsigned int\u0027, but argument 2 has type \u0027size_t\u0027\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nReported-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\n"
    },
    {
      "commit": "d43c36dc6b357fa1806800f18aa30123c747a6d1",
      "tree": "339ce510073ecbe9b3592008f7dece7b277035ef",
      "parents": [
        "69585dd69e663a40729492c7b52eb82477a2027a"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Wed Oct 07 17:09:06 2009 +0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Oct 11 11:20:58 2009 -0700"
      },
      "message": "headers: remove sched.h from interrupt.h\n\nAfter m68k\u0027s task_thread_info() doesn\u0027t refer to current,\nit\u0027s possible to remove sched.h from interrupt.h and not break m68k!\nMany thanks to Heiko Carstens for allowing this.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\n"
    },
    {
      "commit": "0d5d1aadc8e299874a6a014d65b6bb903b12424d",
      "tree": "dedab8048ff8a62cdbc879960ff994f2b1856368",
      "parents": [
        "c1bcd6b327a0c0d5077eb158a600947aac7d124a"
      ],
      "author": {
        "name": "Catalin Marinas",
        "email": "catalin.marinas@arm.com",
        "time": "Fri Oct 09 10:30:34 2009 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 09 13:28:47 2009 -0700"
      },
      "message": "kmemleak: Check for NULL pointer returned by create_object()\n\nThis patch adds NULL pointer checking in the early_alloc() function.\n\nReported-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nSigned-off-by: Catalin Marinas \u003ccatalin.marinas@arm.com\u003e\nAcked-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nAcked-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c1bcd6b327a0c0d5077eb158a600947aac7d124a",
      "tree": "220d81fbabf491fa0e2461104d36137474c35697",
      "parents": [
        "084d3200d523fc24d95e97797b6cdf1256bf0d1b"
      ],
      "author": {
        "name": "Tetsuo Handa",
        "email": "penguin-kernel@I-love.SAKURA.ne.jp",
        "time": "Fri Oct 09 10:39:24 2009 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 09 13:28:47 2009 -0700"
      },
      "message": "kmemleak: Use GFP_ATOMIC for early_alloc().\n\nWe can\u0027t use GFP_KERNEL inside rcu_read_lock().\n\nSigned-off-by: Tetsuo Handa \u003cpenguin-kernel@I-love.SAKURA.ne.jp\u003e\nSigned-off-by: Catalin Marinas \u003ccatalin.marinas@arm.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "961515f613f26b7958c56c5c71061a8231e02be7",
      "tree": "136d6cc71141a66368bfd121f4ab84a47ad715cc",
      "parents": [
        "d25105e8911bff1dbd68e387f12901c5b1a15fe8"
      ],
      "author": {
        "name": "Wu Fengguang",
        "email": "fengguang.wu@intel.com",
        "time": "Fri Oct 09 13:01:27 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Oct 09 13:01:27 2009 +0200"
      },
      "message": "writeback: kill space in debugfs item name\n\nThe space is not script friendly, kill it.\n\nSigned-off-by: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "d25105e8911bff1dbd68e387f12901c5b1a15fe8",
      "tree": "bcb94e898b9f3b0322db74473e4dd319a16308e2",
      "parents": [
        "8c279598585e4992a41016bb973993ed15888cb3"
      ],
      "author": {
        "name": "Wu Fengguang",
        "email": "fengguang.wu@intel.com",
        "time": "Fri Oct 09 12:40:42 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Oct 09 12:40:42 2009 +0200"
      },
      "message": "writeback: account IO throttling wait as iowait\n\nIt makes sense to do IOWAIT when someone is blocked\ndue to IO throttle, as suggested by Kame and Peter.\n\nThere is an old comment for not doing IOWAIT on throttle,\nhowever it has been mismatching the code for a long time.\n\nIf we stop accounting IOWAIT for 2.6.32, it could be an\nundesirable behavior change. So restore the io_schedule.\n\nCC: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCC: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "b924f9599dfd4a604761e84b1e920e480fb57f66",
      "tree": "a1456ef8aea8beb8415d8258a978e072467d8ff6",
      "parents": [
        "b9d40b7b1e349bdc5c174b4ef1a333e62f7d749c",
        "2dca6999eed58d44b67e9de7d6ec230f6250553d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 08 12:05:50 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 08 12:05:50 2009 -0700"
      },
      "message": "Merge branch \u0027sparc-perf-events-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027sparc-perf-events-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  mm, perf_event: Make vmalloc_user() align base kernel virtual address to SHMLBA\n  perf_event: Provide vmalloc() based mmap() backing\n"
    },
    {
      "commit": "2dca6999eed58d44b67e9de7d6ec230f6250553d",
      "tree": "6b6f1e2c07291fba968e6a72c095ca6526be88d5",
      "parents": [
        "906010b2134e14a2e377decbadd357b3d0ab9c6a"
      ],
      "author": {
        "name": "David Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Sep 21 12:22:34 2009 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Oct 08 17:02:31 2009 +0200"
      },
      "message": "mm, perf_event: Make vmalloc_user() align base kernel virtual address to SHMLBA\n\nWhen a vmalloc\u0027d area is mmap\u0027d into userspace, some kind of\nco-ordination is necessary for this to work on platforms with cpu\nD-caches which can have aliases.\n\nOtherwise kernel side writes won\u0027t be seen properly in userspace\nand vice versa.\n\nIf the kernel side mapping and the user side one have the same\nalignment, modulo SHMLBA, this can work as long as VM_SHARED is\nshared of VMA and for all current users this is true.  VM_SHARED\nwill force SHMLBA alignment of the user side mmap on platforms with\nD-cache aliasing matters.\n\nThe bulk of this patch is just making it so that a specific\nalignment can be passed down into __get_vm_area_node().  All\nexisting callers pass in \u00271\u0027 which preserves existing behavior.\nvmalloc_user() gives SHMLBA for the alignment.\n\nAs a side effect this should get the video media drivers and other\nvmalloc_user() users into more working shape on such systems.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nLKML-Reference: \u003c200909211922.n8LJMYjw029425@imap1.linux-foundation.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "3700c155af56b54adfc737ba3164a41de2c59d41",
      "tree": "034c53a8c573339076a7a5d7d77bc133280a24ff",
      "parents": [
        "c73602ad31cdcf7e6651f43d12f65b5b9b825b6f"
      ],
      "author": {
        "name": "Jaswinder Singh Rajput",
        "email": "jaswinder@kernel.org",
        "time": "Wed Oct 07 16:32:23 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 08 07:36:38 2009 -0700"
      },
      "message": "mm: includecheck fix: vmalloc.c\n\nfix the following \u0027make includecheck\u0027 warning:\n\n  mm/vmalloc.c: linux/highmem.h is included more than once.\n\nSigned-off-by: Jaswinder Singh Rajput \u003cjaswinderrajput@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": "c73602ad31cdcf7e6651f43d12f65b5b9b825b6f",
      "tree": "e9af7ebc13854e03e9ea0ee1c4e7e00475506fa7",
      "parents": [
        "0eca52a92735f43462165efe00a7e394345fb38e"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh.dickins@tiscali.co.uk",
        "time": "Wed Oct 07 16:32:22 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 08 07:36:38 2009 -0700"
      },
      "message": "ksm: more on default values\n\nAdjust the max_kernel_pages default to a quarter of totalram_pages,\ninstead of nr_free_buffer_pages() / 4: the KSM pages themselves come from\nhighmem, and even on a 16GB PAE machine, 4GB of KSM pages would only be\npinning 32MB of lowmem with their rmap_items, so no need for the more\nobscure calculation (nor for its own special init function).\n\nThere is no way for the user to switch KSM on if CONFIG_SYSFS is not\nenabled, so in that case default run to KSM_RUN_MERGE.\n\nUpdate KSM Documentation and Kconfig to reflect the new defaults.\n\nSigned-off-by: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nCc: Izik Eidus \u003cieidus@redhat.com\u003e\nCc: Andrea Arcangeli \u003caarcange@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": "58e57fbd1c7e8833314459555e337364fe5521f3",
      "tree": "242a3859387588889c9dcc45915b0dec951f84c3",
      "parents": [
        "8a0382f6fceaf0c6479e582e1054f36333ea3d24",
        "0f78ab9899e9d6acb09d5465def618704255963b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Oct 04 12:39:14 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Oct 04 12:39:14 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block\n\n* \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block: (41 commits)\n  Revert \"Seperate read and write statistics of in_flight requests\"\n  cfq-iosched: don\u0027t delay async queue if it hasn\u0027t dispatched at all\n  block: Topology ioctls\n  cfq-iosched: use assigned slice sync value, not default\n  cfq-iosched: rename \u0027desktop\u0027 sysfs entry to \u0027low_latency\u0027\n  cfq-iosched: implement slower async initiate and queue ramp up\n  cfq-iosched: delay async IO dispatch, if sync IO was just done\n  cfq-iosched: add a knob for desktop interactiveness\n  Add a tracepoint for block request remapping\n  block: allow large discard requests\n  block: use normal I/O path for discard requests\n  swapfile: avoid NULL pointer dereference in swapon when s_bdev is NULL\n  fs/bio.c: move EXPORT* macros to line after function\n  Add missing blk_trace_remove_sysfs to be in pair with blk_trace_init_sysfs\n  cciss: fix build when !PROC_FS\n  block: Do not clamp max_hw_sectors for stacking devices\n  block: Set max_sectors correctly for stacking devices\n  cciss: cciss_host_attr_groups should be const\n  cciss: Dynamically allocate the drive_info_struct for each logical drive.\n  cciss: Add usage_count attribute to each logical drive in /sys\n  ...\n"
    },
    {
      "commit": "ef8745c1e7fc5413d760b3b958f3fd3a0beaad72",
      "tree": "a1f1998dbcf06e84fe3539192e440e9d1bb876f2",
      "parents": [
        "4e649152cbaa1aedd01821d200ab9d597fe469e4"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Thu Oct 01 15:44:12 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 01 16:11:13 2009 -0700"
      },
      "message": "memcg: reduce check for softlimit excess\n\nIn charge/uncharge/reclaim path, usage_in_excess is calculated repeatedly\nand it takes res_counter\u0027s spin_lock every time.\n\nThis patch removes unnecessary calls for res_count_soft_limit_excess.\n\nReviewed-by: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4e649152cbaa1aedd01821d200ab9d597fe469e4",
      "tree": "635fa7d75acda929e81b8b0db7e641b7d4e07b35",
      "parents": [
        "3dece8347df6a16239fab10dadb370854f1c969c"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Thu Oct 01 15:44:11 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 01 16:11:13 2009 -0700"
      },
      "message": "memcg: some modification to softlimit under hierarchical memory reclaim.\n\nThis patch clean up/fixes for memcg\u0027s uncharge soft limit path.\n\nProblems:\n  Now, res_counter_charge()/uncharge() handles softlimit information at\n  charge/uncharge and softlimit-check is done when event counter per memcg\n  goes over limit. Now, event counter per memcg is updated only when\n  memory usage is over soft limit. Here, considering hierarchical memcg\n  management, ancesotors should be taken care of.\n\n  Now, ancerstors(hierarchy) are handled in charge() but not in uncharge().\n  This is not good.\n\n  Prolems:\n  1. memcg\u0027s event counter incremented only when softlimit hits. That\u0027s bad.\n     It makes event counter hard to be reused for other purpose.\n\n  2. At uncharge, only the lowest level rescounter is handled. This is bug.\n     Because ancesotor\u0027s event counter is not incremented, children should\n     take care of them.\n\n  3. res_counter_uncharge()\u0027s 3rd argument is NULL in most case.\n     ops under res_counter-\u003elock should be small. No \"if\" sentense is better.\n\nFixes:\n  * Removed soft_limit_xx poitner and checks in charge and uncharge.\n    Do-check-only-when-necessary scheme works enough well without them.\n\n  * make event-counter of memcg incremented at every charge/uncharge.\n    (per-cpu area will be accessed soon anyway)\n\n  * All ancestors are checked at soft-limit-check. This is necessary because\n    ancesotor\u0027s event counter may never be modified. Then, they should be\n    checked at the same time.\n\nReviewed-by: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "26251eaf98e26dc2ce2dc26d63bc502700760704",
      "tree": "f783cab10c5244c170e7d1a92b6a80c574cdf114",
      "parents": [
        "447e4460a4ef44a275f81d992d227f34673be2a8"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Thu Oct 01 15:44:08 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 01 16:11:12 2009 -0700"
      },
      "message": "memcg: fix refcnt going negative\n\n__mem_cgroup_largest_soft_limit_node() returns a mem_cgroup_per_zone \"mz\"\nwith incremnted mz-\u003emem-\u003ecss\u0027s refcnt.  Then, the caller of this function\nhas to call css_put(mz-\u003emem-\u003ecss).\n\nBut, mz can be !NULL even if \"not found\" i.e.  without css_get().  By\nthis, css-\u003erefcnt will go down to minus.\n\nThis may cause various things...one of results will be\ninitite-loop in css_tryget()  as this.\n\nINFO: RCU detected CPU 0 stall (t\u003d10000 jiffies)\nsending NMI to all CPUs:\nNMI backtrace for cpu 0\nCPU 0:\n\u003csnip\u003e\n\n \u003c\u003cEOE\u003e\u003e  \u003cIRQ\u003e  [\u003cffffffff810884bd\u003e] trace_hardirqs_off+0xd/0x10\n  [\u003cffffffff8102a940\u003e] flat_send_IPI_mask+0x90/0xb0\n  [\u003cffffffff8102a9c9\u003e] flat_send_IPI_all+0x69/0x70\n  [\u003cffffffff81027372\u003e] arch_trigger_all_cpu_backtrace+0x62/0xa0\n  [\u003cffffffff810bff8e\u003e] __rcu_pending+0x7e/0x370\n  [\u003cffffffff810c02c7\u003e] rcu_check_callbacks+0x47/0x130\n  [\u003cffffffff81063a26\u003e] update_process_times+0x46/0x70\n  [\u003cffffffff81085930\u003e] tick_sched_timer+0x60/0x160\n  [\u003cffffffff810858d0\u003e] ? tick_sched_timer+0x0/0x160\n  [\u003cffffffff8107a03a\u003e] __run_hrtimer+0xba/0x150\n  [\u003cffffffff8107a325\u003e] hrtimer_interrupt+0xd5/0x1b0\n  [\u003cffffffff81426dfe\u003e] ? trace_hardirqs_off_thunk+0x3a/0x3c\n  [\u003cffffffff8142cacd\u003e] smp_apic_timer_interrupt+0x6d/0x9b\n  [\u003cffffffff8100cb33\u003e] apic_timer_interrupt+0x13/0x20\n  \u003cEOI\u003e  [\u003cffffffff811317b6\u003e] ? mem_cgroup_walk_tree+0x156/0x180\n  [\u003cffffffff811316d3\u003e] ? mem_cgroup_walk_tree+0x73/0x180\n  [\u003cffffffff81131692\u003e] ? mem_cgroup_walk_tree+0x32/0x180\n  [\u003cffffffff81131a00\u003e] ? mem_cgroup_get_local_stat+0x0/0x110\n  [\u003cffffffff81131d5b\u003e] ? mem_control_stat_show+0x14b/0x330\n  [\u003cffffffff810a57fd\u003e] ? cgroup_seqfile_show+0x3d/0x60\n\nAbove shows CPU0 caught in css_tryget()\u0027s inifinite loop because\nof bad refcnt.\n\nThis is a fix to set mz\u003dNULL at the top of retry path.\n\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nAcked-by: Paul Menage \u003cmenage@google.com\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nCc: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "bf89c8c867322338f3f2b1255f280a3236b61a69",
      "tree": "8a6193d4e0b86851a49ac417cd81dffb95eb925a",
      "parents": [
        "392d814daf460a9564d29b2cebc51e1ea34e0504"
      ],
      "author": {
        "name": "Huang Shijie",
        "email": "shijie8@gmail.com",
        "time": "Thu Oct 01 15:44:04 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 01 16:11:12 2009 -0700"
      },
      "message": "mm/rmap.c: fix comment\n\nThe page_address_in_vma() is not only used in unuse_vma().\n\nSigned-off-by: Huang Shijie \u003cshijie8@gmail.com\u003e\nAcked-by: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3bd0f0c763e497c8674b28e3df2732f48683dabd",
      "tree": "fd3bb8635291ad8c0b4e302e40cc776fd1644ada",
      "parents": [
        "a112a71d45b5e40c3cf07371d20a4a5079a72610"
      ],
      "author": {
        "name": "Suresh Jayaraman",
        "email": "sjayaraman@suse.de",
        "time": "Wed Sep 30 10:53:48 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 01 21:15:46 2009 +0200"
      },
      "message": "swapfile: avoid NULL pointer dereference in swapon when s_bdev is NULL\n\nWhile testing Swap over NFS patchset, I noticed an oops that was triggered\nduring swapon. Investigating further, the NULL pointer deference is due to the\nSSD device check/optimization in the swapon code that assumes s_bdev could never\nbe NULL.\n\ninode-\u003ei_sb-\u003es_bdev could be NULL in a few cases. For e.g. one such case is\nloopback NFS mount, there could be others as well. Fix this by ensuring s_bdev\nis not NULL before we try to deference s_bdev.\n\nSigned-off-by: Suresh Jayaraman \u003csjayaraman@suse.de\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "f2badb0c950ed308be9b321203b9c8d341690cd4",
      "tree": "5da0e7493192f97be604e257fd10847ae3a27504",
      "parents": [
        "635b75fc18858d3522e481c043de764766db923c"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Sep 29 09:17:58 2009 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Sep 29 09:17:58 2009 +0900"
      },
      "message": "percpu: make allocation failures more verbose\n\nWarn and dump stack when percpu allocation fails.  percpu allocator is\nstill young and unchecked NULL percpu pointer usage can result in\nrandom memory corruption when combined with the pointer shifting in\naccess macros.  Allocation failures should be rare and the warning\nmessage will be disabled after certain times.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\n"
    },
    {
      "commit": "635b75fc18858d3522e481c043de764766db923c",
      "tree": "0bd2dc916bac8d0188bdd3ba15d0a1b00aa86e48",
      "parents": [
        "6ea529a2037ce662fc6bfa572b46d47407d08805"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Sep 24 09:43:11 2009 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Sep 29 09:17:57 2009 +0900"
      },
      "message": "percpu: make pcpu_setup_first_chunk() failures more verbose\n\nThe parameters to pcpu_setup_first_chunk() come from different sources\ndepending on architecture and can be quite complex.  The function runs\nvarious sanity checks on the parameters and triggers BUG() if\nsomething isn\u0027t right.  However, this is very early during the boot\nand not reporting exactly what the problem is makes debugging even\nharder.\n\nAdd PCPU_SETUP_BUG() macro which prints out enough information about\nthe parameters.  As the macro still puts separate BUG() for each\ncheck, it won\u0027t lose any information even on the situations where only\nthe program counter can be retrieved.\n\nWhile at it, also bump pcpu_dump_alloc_info() message to KERN_INFO so\nthat it\u0027s visible on the console if boot fails to complete.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\n"
    },
    {
      "commit": "6ea529a2037ce662fc6bfa572b46d47407d08805",
      "tree": "b9e8721eb4edc563ae0e40500a58dfa053ceed39",
      "parents": [
        "a70c691376c7c7f94af41395848066f59501fffd"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Sep 24 18:46:01 2009 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Sep 29 09:17:57 2009 +0900"
      },
      "message": "percpu: make embedding first chunk allocator check vmalloc space size\n\nEmbedding first chunk allocator maintains the distances between units\nin the vmalloc area and thus needs vmalloc space to be larger than the\nmaximum distances between units; otherwise, it wouldn\u0027t be able to\ncreate any dynamic chunks.  This patch makes the embedding first chunk\nallocator check vmalloc space size and if the maximum distance between\nunits is larger than 75% of it, print warning and, if page mapping\nallocator is available, fail initialization so that the system falls\nback onto it.\n\nThis should work around percpu allocation failure problems on certain\nsparc64 configurations where distances between NUMA nodes are larger\nthan the vmalloc area and makes percpu allocator more robust for\nfuture configurations.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\n"
    },
    {
      "commit": "fb59e72e7e10fd9d31f4e522f1b28254c2cc8a6c",
      "tree": "56d4dccd4bafd1fbd61744cd09888f6d4c80abb5",
      "parents": [
        "ffe0d5a575459ffe664b0762130b557f826fcace"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Sep 24 18:50:34 2009 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Sep 29 09:17:57 2009 +0900"
      },
      "message": "percpu: make pcpu_build_alloc_info() clear static buffers\n\npcpu_build_alloc_info() may be called multiple times when percpu is\nfalling back to different first chunk allocator.  Make it clear static\nbuffers so that they don\u0027t contain values from previous runs.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\n"
    },
    {
      "commit": "ffe0d5a575459ffe664b0762130b557f826fcace",
      "tree": "af581934a717c510a2c6897ca4ed7fcefd440578",
      "parents": [
        "17d857be649a21ca90008c6dc425d849fa83db5c"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Sep 29 09:17:56 2009 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Sep 29 09:17:56 2009 +0900"
      },
      "message": "percpu: fix unit_map[] verification in pcpu_setup_first_chunk()\n\npcpu_setup_first_chunk() incorrectly used NR_CPUS as the impossible\nunit number while unit number can equal and go over NR_CPUS with\nsparse unit map.  This triggers BUG_ON() spuriously on machines which\nhave non-power-of-two number of cpus.  Use UINT_MAX instead.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nReported-and-tested-by: Tony Vroon \u003ctony@linx.net\u003e\n"
    },
    {
      "commit": "f0f37e2f77731b3473fa6bd5ee53255d9a9cdb40",
      "tree": "3c26d3ed1a453156e9c208ccb5567a8954dba064",
      "parents": [
        "6f5071020d5ec89b5d095aa488db604adb921aec"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Sun Sep 27 22:29:37 2009 +0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Sep 27 11:39:25 2009 -0700"
      },
      "message": "const: mark struct vm_struct_operations\n\n* mark struct vm_area_struct::vm_ops as const\n* mark vm_ops in AGP code\n\nBut leave TTM code alone, something is fishy there with global vm_ops\nbeing used.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d949f36f1865c60239d4265b50c4b75354fcb8f3",
      "tree": "176a784ce7f6a71dc3ff544b70606f71025a13d8",
      "parents": [
        "0d9df2515dbceb67d343c0f10fd3ff218380d524"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Sep 26 09:35:07 2009 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Sep 27 09:55:11 2009 +0200"
      },
      "message": "x86: Fix hwpoison code related build failure on 32-bit NUMAQ\n\nThis build failure triggers:\n\n In file included from include/linux/suspend.h:8,\n                 from arch/x86/kernel/asm-offsets_32.c:11,\n                 from arch/x86/kernel/asm-offsets.c:2:\n include/linux/mm.h:503:2: error: #error SECTIONS_WIDTH+NODES_WIDTH+ZONES_WIDTH \u003e BITS_PER_LONG - NR_PAGEFLAGS\n\nBecause due to the hwpoison page flag we ran out of page\nflags on 32-bit.\n\nDont turn on hwpoison on 32-bit NUMA (it\u0027s rare in any\ncase).\n\nAlso clean up the Kconfig dependencies in the generic MM\ncode by introducing ARCH_SUPPORTS_MEMORY_FAILURE.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "a72bfd4dea053bb8e2233902c3f1893ef5485802",
      "tree": "1246fc000adfee6d2874b9324eaf7383ad4413bb",
      "parents": [
        "6d7f18f6ea3a13af95bdf507fc54d42b165e1712"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Sat Sep 26 00:07:46 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Sat Sep 26 00:10:40 2009 +0200"
      },
      "message": "writeback: pass in super_block to bdi_start_writeback()\n\nSometimes we only want to write pages from a specific super_block,\nso allow that to be passed in.\n\nThis fixes a problem with commit 56a131dcf7ed36c3c6e36bea448b674ea85ed5bb\ncausing writeback on all super_blocks on a bdi, where we only really\nwant to sync a specific sb from writeback_inodes_sb().\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "6d7f18f6ea3a13af95bdf507fc54d42b165e1712",
      "tree": "8f6f3a6d46835aa767823fa7049609408a87afc2",
      "parents": [
        "53cddfcc0e760d2b364878b6dadbd0c6d087cfae",
        "56a131dcf7ed36c3c6e36bea448b674ea85ed5bb"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Sep 25 09:27:30 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Sep 25 09:27:30 2009 -0700"
      },
      "message": "Merge branch \u0027writeback\u0027 of git://git.kernel.dk/linux-2.6-block\n\n* \u0027writeback\u0027 of git://git.kernel.dk/linux-2.6-block:\n  writeback: writeback_inodes_sb() should use bdi_start_writeback()\n  writeback: don\u0027t delay inodes redirtied by a fast dirtier\n  writeback: make the super_block pinning more efficient\n  writeback: don\u0027t resort for a single super_block in move_expired_inodes()\n  writeback: move inodes from one super_block together\n  writeback: get rid to incorrect references to pdflush in comments\n  writeback: improve readability of the wb_writeback() continue/break logic\n  writeback: cleanup writeback_single_inode()\n  writeback: kupdate writeback shall not stop when more io is possible\n  writeback: stop background writeback when below background threshold\n  writeback: balance_dirty_pages() shall write more than dirtied pages\n  fs: Fix busyloop in wb_writeback()\n"
    },
    {
      "commit": "5b0830cb9085f4b69f9d57d7f3aaff322ffbec26",
      "tree": "10040eb359269d4cd05487790b758144a69e8e39",
      "parents": [
        "71fd05a887e0f3f6bfff76ff81b33776177d0606"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Wed Sep 23 19:37:09 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Sep 25 18:08:25 2009 +0200"
      },
      "message": "writeback: get rid to incorrect references to pdflush in comments\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "d3ddec7635b6fb37cb49e3553bdeea59642be653",
      "tree": "662a1ea9c0eac6aa9bb07d4f67b6aad84709600c",
      "parents": [
        "3a2e9a5a2afc1a2d2c548b8987f133235cebe933"
      ],
      "author": {
        "name": "Wu Fengguang",
        "email": "fengguang.wu@intel.com",
        "time": "Wed Sep 23 20:33:40 2009 +0800"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Sep 25 18:08:24 2009 +0200"
      },
      "message": "writeback: stop background writeback when below background threshold\n\nTreat bdi_start_writeback(0) as a special request to do background write,\nand stop such work when we are below the background dirty threshold.\n\nAlso simplify the (nr_pages \u003c\u003d 0) checks. Since we already pass in\nnr_pages\u003dLONG_MAX for WB_SYNC_ALL and background writes, we don\u0027t\nneed to worry about it being decreased to zero.\n\nReported-by: Richard Kennedy \u003crichard@rsk.demon.co.uk\u003e\nCC: Jan Kara \u003cjack@suse.cz\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "3a2e9a5a2afc1a2d2c548b8987f133235cebe933",
      "tree": "cb05d2873b2701ded758a7087de5af2932a97736",
      "parents": [
        "a5989bdc981ec85e0734ac22519cc0b780813d7b"
      ],
      "author": {
        "name": "Wu Fengguang",
        "email": "fengguang.wu@intel.com",
        "time": "Wed Sep 23 21:56:00 2009 +0800"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Sep 25 18:08:24 2009 +0200"
      },
      "message": "writeback: balance_dirty_pages() shall write more than dirtied pages\n\nSome filesystem may choose to write much more than ratelimit_pages\nbefore calling balance_dirty_pages_ratelimited_nr(). So it is safer to\ndetermine number to write based on real number of dirtied pages.\n\nOtherwise it is possible that\n  loop {\n    btrfs_file_write():     dirty 1024 pages\n    balance_dirty_pages():  write up to 48 pages (\u003d ratelimit_pages * 1.5)\n  }\nin which the writeback rate cannot keep up with dirty rate, and the\ndirty pages go all the way beyond dirty_thresh.\n\nThe increased write_chunk may make the dirtier more bumpy.\nSo filesystems shall be take care not to dirty too much at\na time (eg. \u003e 4MB) without checking the ratelimit.\n\nSigned-off-by: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "06aab5a3084e1d825384fa353e6df4c7949c8683",
      "tree": "f4db2f267151e2173b86ee4b945bf07688d6ffd2",
      "parents": [
        "934831d060ccd5471ecbc562804a8d3ccd6e562c"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Sep 24 12:33:48 2009 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Sep 24 17:20:29 2009 -0700"
      },
      "message": "NOMMU: Ignore mmap() address param as it is a hint\n\nIgnore the address parameter given to NOMMU mmap() as it is a hint, rather\nthan giving an error if it\u0027s non-zero.  MAP_FIXED still gets an error.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "645d83c5db970a1c57225e155113b4aa2451e920",
      "tree": "c86d3fb382e0ebabd8b96bb7883a8258c1cfe9d7",
      "parents": [
        "c775197d59995228909957e9f0ec128de2590682"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Sep 24 15:13:10 2009 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Sep 24 17:18:38 2009 -0700"
      },
      "message": "NOMMU: Fix MAP_PRIVATE mmap() of objects where the data can be mapped directly\n\nFix MAP_PRIVATE mmap() of files and devices where the data in the backing store\nmight be mapped directly.  Use the BDI_CAP_MAP_DIRECT capability flag to govern\nwhether or not we should be trying to map a file directly.  This can be used to\ndetermine whether or not a region has been filled in at the point where we call\ndo_mmap_shared() or do_mmap_private().\n\nThe BDI_CAP_MAP_DIRECT capability flag is cleared by validate_mmap_request() if\nthere\u0027s any reason we can\u0027t use it.  It\u0027s also cleared in do_mmap_pgoff() if\nf_op-\u003eget_unmapped_area() fails.\n\nWithout this fix, attempting to run a program from a RomFS image on a\nnon-mappable MTD partition results in a BUG as the kernel attempts XIP, and\nthis can be caught in gdb:\n\nProgram received signal SIGABRT, Aborted.\n0xc005dce8 in add_nommu_region (region\u003d\u003cvalue optimized out\u003e) at mm/nommu.c:547\n(gdb) bt\n#0  0xc005dce8 in add_nommu_region (region\u003d\u003cvalue optimized out\u003e) at mm/nommu.c:547\n#1  0xc005f168 in do_mmap_pgoff (file\u003d0xc31a6620, addr\u003d\u003cvalue optimized out\u003e, len\u003d3808, prot\u003d3, flags\u003d6146, pgoff\u003d0) at mm/nommu.c:1373\n#2  0xc00a96b8 in elf_fdpic_map_file (params\u003d0xc33fbbec, file\u003d0xc31a6620, mm\u003d0xc31bef60, what\u003d0xc0213144 \"executable\") at mm.h:1145\n#3  0xc00aa8b4 in load_elf_fdpic_binary (bprm\u003d0xc316cb00, regs\u003d\u003cvalue optimized out\u003e) at fs/binfmt_elf_fdpic.c:343\n#4  0xc006b588 in search_binary_handler (bprm\u003d0x6, regs\u003d0xc33fbce0) at fs/exec.c:1234\n#5  0xc006c648 in do_execve (filename\u003d\u003cvalue optimized out\u003e, argv\u003d0xc3ad14cc, envp\u003d0xc3ad1460, regs\u003d0xc33fbce0) at fs/exec.c:1356\n#6  0xc0008cf0 in sys_execve (name\u003d\u003cvalue optimized out\u003e, argv\u003d0xc3ad14cc, envp\u003d0xc3ad1460) at arch/frv/kernel/process.c:263\n#7  0xc00075dc in __syscall_call () at arch/frv/kernel/entry.S:897\n\nNote that this fix does the following commit differently:\n\n\tcommit a190887b58c32d19c2eee007c5eb8faa970a69ba\n\tAuthor: David Howells \u003cdhowells@redhat.com\u003e\n\tDate:   Sat Sep 5 11:17:07 2009 -0700\n\tnommu: fix error handling in do_mmap_pgoff()\n\nReported-by: Graff Yang \u003cgraff.yang@gmail.com\u003e\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Greg Ungerer \u003cgerg@snapgear.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c44972f1782124f945ec8bea8a78f30f1a3538bd",
      "tree": "f804afc972b794100547383b5ca8e1936a91c3aa",
      "parents": [
        "b9b9df62e7fd6b5f099c24bc867100ab86e1da5a"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Thu Sep 24 14:47:43 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Sep 24 17:11:24 2009 -0700"
      },
      "message": "procfs: disable per-task stack usage on NOMMU\n\nIt needs walk_page_range().\n\nReported-by: Michal Simek \u003cmonstr@monstr.eu\u003e\nTested-by: Michal Simek \u003cmonstr@monstr.eu\u003e\nCc: Stefani Seibold \u003cstefani@seibold.net\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nCc: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nCc: Greg Ungerer \u003cgerg@snapgear.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6c5daf012c9155aafd2c7973e4278766c30dfad0",
      "tree": "33959d7b36d03e1610615641a2940cb2de5e8603",
      "parents": [
        "6d39b27f0ac7e805ae3bd9efa51d7da04bec0360",
        "c08d3b0e33edce28e9cfa7b64f7fe5bdeeb29248"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Sep 24 08:32:11 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Sep 24 08:32:11 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6:\n  truncate: use new helpers\n  truncate: new helpers\n  fs: fix overflow in sys_mount() for in-kernel calls\n  fs: Make unload_nls() NULL pointer safe\n  freeze_bdev: grab active reference to frozen superblocks\n  freeze_bdev: kill bd_mount_sem\n  exofs: remove BKL from super operations\n  fs/romfs: correct error-handling code\n  vfs: seq_file: add helpers for data filling\n  vfs: remove redundant position check in do_sendfile\n  vfs: change sb-\u003es_maxbytes to a loff_t\n  vfs: explicitly cast s_maxbytes in fiemap_check_ranges\n  libfs: return error code on failed attr set\n  seq_file: return a negative error code when seq_path_root() fails.\n  vfs: optimize touch_time() too\n  vfs: optimization for touch_atime()\n  vfs: split generic_forget_inode() so that hugetlbfs does not have to copy it\n  fs/inode.c: add dev-id and inode number for debugging in init_special_inode()\n  libfs: make simple_read_from_buffer conventional\n"
    },
    {
      "commit": "db16826367fefcb0ddb93d76b66adc52eb4e6339",
      "tree": "626224c1eb1eb79c522714591f208b4fdbdcd9d4",
      "parents": [
        "cd6045138ed1bb5d8773e940d51c34318eef3ef2",
        "465fdd97cbe16ef8727221857e96ef62dd352017"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Sep 24 07:53:22 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Sep 24 07:53:22 2009 -0700"
      },
      "message": "Merge branch \u0027hwpoison\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ak/linux-mce-2.6\n\n* \u0027hwpoison\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ak/linux-mce-2.6: (21 commits)\n  HWPOISON: Enable error_remove_page on btrfs\n  HWPOISON: Add simple debugfs interface to inject hwpoison on arbitary PFNs\n  HWPOISON: Add madvise() based injector for hardware poisoned pages v4\n  HWPOISON: Enable error_remove_page for NFS\n  HWPOISON: Enable .remove_error_page for migration aware file systems\n  HWPOISON: The high level memory error handler in the VM v7\n  HWPOISON: Add PR_MCE_KILL prctl to control early kill behaviour per process\n  HWPOISON: shmem: call set_page_dirty() with locked page\n  HWPOISON: Define a new error_remove_page address space op for async truncation\n  HWPOISON: Add invalidate_inode_page\n  HWPOISON: Refactor truncate to allow direct truncating of page v2\n  HWPOISON: check and isolate corrupted free pages v2\n  HWPOISON: Handle hardware poisoned pages in try_to_unmap\n  HWPOISON: Use bitmask/action code for try_to_unmap behaviour\n  HWPOISON: x86: Add VM_FAULT_HWPOISON handling to x86 page fault handler v2\n  HWPOISON: Add poison check to page fault handling\n  HWPOISON: Add basic support for poisoned pages in fault handler v3\n  HWPOISON: Add new SIGBUS error codes for hardware poison signals\n  HWPOISON: Add support for poison swap entries v2\n  HWPOISON: Export some rmap vma locking to outside world\n  ...\n"
    },
    {
      "commit": "8d65af789f3e2cf4cfbdbf71a0f7a61ebcd41d38",
      "tree": "121df3bfffc7853ac6d2c514ad514d4a748a0933",
      "parents": [
        "c0d0787b6d47d9f4d5e8bd321921104e854a9135"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Wed Sep 23 15:57:19 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Sep 24 07:21:04 2009 -0700"
      },
      "message": "sysctl: remove \"struct file *\" argument of -\u003eproc_handler\n\nIt\u0027s unused.\n\nIt isn\u0027t needed -- read or write flag is already passed and sysctl\nshouldn\u0027t care about the rest.\n\nIt _was_ used in two places at arch/frv for some reason.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1dd3a27326d307952f8ad2499478c84dc7311517",
      "tree": "ae59d52935c790dd3fd0c8e12af5855cfe1abfcb",
      "parents": [
        "0c3e73e84fe3f64cf1c2e8bb4e91e8901cbcdc38"
      ],
      "author": {
        "name": "Daisuke Nishimura",
        "email": "nishimura@mxp.nes.nec.co.jp",
        "time": "Wed Sep 23 15:56:43 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Sep 24 07:20:59 2009 -0700"
      },
      "message": "memcg: show swap usage in stat file\n\nWe now count MEM_CGROUP_STAT_SWAPOUT, so we can show swap usage.  It would\nbe useful for users to show swap usage in memory.stat file, because they\ndon\u0027t need calculate memsw.usage - res.usage to know swap usage.\n\nSigned-off-by: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nReviewed-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nReviewed-by: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0c3e73e84fe3f64cf1c2e8bb4e91e8901cbcdc38",
      "tree": "1c3e27fce3babd3703b34c9a353f253fcefb6325",
      "parents": [
        "4e41695356fb4e0b153be1440ad027e46e0a7ea2"
      ],
      "author": {
        "name": "Balbir Singh",
        "email": "balbir@linux.vnet.ibm.com",
        "time": "Wed Sep 23 15:56:42 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Sep 24 07:20:59 2009 -0700"
      },
      "message": "memcg: improve resource counter scalability\n\nReduce the resource counter overhead (mostly spinlock) associated with the\nroot cgroup.  This is a part of the several patches to reduce mem cgroup\noverhead.  I had posted other approaches earlier (including using percpu\ncounters).  Those patches will be a natural addition and will be added\niteratively on top of these.\n\nThe patch stops resource counter accounting for the root cgroup.  The data\nfor display is derived from the statisitcs we maintain via\nmem_cgroup_charge_statistics (which is more scalable).  What happens today\nis that, we do double accounting, once using res_counter_charge() and once\nusing memory_cgroup_charge_statistics().  For the root, since we don\u0027t\nimplement limits any more, we don\u0027t need to track every charge via\nres_counter_charge() and check for limit being exceeded and reclaim.\n\nThe main mem-\u003eres usage_in_bytes can be derived by summing the cache and\nrss usage data from memory statistics (MEM_CGROUP_STAT_RSS and\nMEM_CGROUP_STAT_CACHE).  However, for memsw-\u003eres usage_in_bytes, we need\nadditional data about swapped out memory.  This patch adds a\nMEM_CGROUP_STAT_SWAPOUT and uses that along with MEM_CGROUP_STAT_RSS and\nMEM_CGROUP_STAT_CACHE to derive the memsw data.  This data is computed\nrecursively when hierarchy is enabled.\n\nThe tests results I see on a 24 way show that\n\n1. The lock contention disappears from /proc/lock_stats\n2. The results of the test are comparable to running with\n   cgroup_disable\u003dmemory.\n\nHere is a sample of my program runs\n\nWithout Patch\n\n Performance counter stats for \u0027/home/balbir/parallel_pagefault\u0027:\n\n 7192804.124144  task-clock-msecs         #     23.937 CPUs\n         424691  context-switches         #      0.000 M/sec\n            267  CPU-migrations           #      0.000 M/sec\n       28498113  page-faults              #      0.004 M/sec\n  5826093739340  cycles                   #    809.989 M/sec\n   408883496292  instructions             #      0.070 IPC\n     7057079452  cache-references         #      0.981 M/sec\n     3036086243  cache-misses             #      0.422 M/sec\n\n  300.485365680  seconds time elapsed\n\nWith cgroup_disable\u003dmemory\n\n Performance counter stats for \u0027/home/balbir/parallel_pagefault\u0027:\n\n 7182183.546587  task-clock-msecs         #     23.915 CPUs\n         425458  context-switches         #      0.000 M/sec\n            203  CPU-migrations           #      0.000 M/sec\n       92545093  page-faults              #      0.013 M/sec\n  6034363609986  cycles                   #    840.185 M/sec\n   437204346785  instructions             #      0.072 IPC\n     6636073192  cache-references         #      0.924 M/sec\n     2358117732  cache-misses             #      0.328 M/sec\n\n  300.320905827  seconds time elapsed\n\nWith this patch applied\n\n Performance counter stats for \u0027/home/balbir/parallel_pagefault\u0027:\n\n 7191619.223977  task-clock-msecs         #     23.955 CPUs\n         422579  context-switches         #      0.000 M/sec\n             88  CPU-migrations           #      0.000 M/sec\n       91946060  page-faults              #      0.013 M/sec\n  5957054385619  cycles                   #    828.333 M/sec\n  1058117350365  instructions             #      0.178 IPC\n     9161776218  cache-references         #      1.274 M/sec\n     1920494280  cache-misses             #      0.267 M/sec\n\n  300.218764862  seconds time elapsed\n\nData from Prarit (kernel compile with make -j64 on a 64\nCPU/32G machine)\n\nFor a single run\n\nWithout patch\n\nreal 27m8.988s\nuser 87m24.916s\nsys 382m6.037s\n\nWith patch\n\nreal    4m18.607s\nuser    84m58.943s\nsys     50m52.682s\n\nWith config turned off\n\nreal    4m54.972s\nuser    90m13.456s\nsys     50m19.711s\n\nNOTE: The data looks counterintuitive due to the increased performance\nwith the patch, even over the config being turned off. We probably need\nmore runs, but so far all testing has shown that the patches definitely\nhelp.\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nCc: Prarit Bhargava \u003cprarit@redhat.com\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nReviewed-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nReviewed-by: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: Li Zefan \u003clizf@cn.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": "4e41695356fb4e0b153be1440ad027e46e0a7ea2",
      "tree": "547dae77d1655a1acb260ea8b266c7b8a48f2d2c",
      "parents": [
        "75822b4495b62e8721e9b88e3cf9e653a0c85b73"
      ],
      "author": {
        "name": "Balbir Singh",
        "email": "balbir@linux.vnet.ibm.com",
        "time": "Wed Sep 23 15:56:39 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Sep 24 07:20:59 2009 -0700"
      },
      "message": "memory controller: soft limit reclaim on contention\n\nImplement reclaim from groups over their soft limit\n\nPermit reclaim from memory cgroups on contention (via the direct reclaim\npath).\n\nmemory cgroup soft limit reclaim finds the group that exceeds its soft\nlimit by the largest number of pages and reclaims pages from it and then\nreinserts the cgroup into its correct place in the rbtree.\n\nAdd additional checks to mem_cgroup_hierarchical_reclaim() to detect long\nloops in case all swap is turned off.  The code has been refactored and\nthe loop check (loop \u003c 2) has been enhanced for soft limits.  For soft\nlimits, we try to do more targetted reclaim.  Instead of bailing out after\ntwo loops, the routine now reclaims memory proportional to the size by\nwhich the soft limit is exceeded.  The proportion has been empirically\ndetermined.\n\n[akpm@linux-foundation.org: build fix]\n[kamezawa.hiroyu@jp.fujitsu.com: fix softlimit css refcnt handling]\n[nishimura@mxp.nes.nec.co.jp: refcount of the \"victim\" should be decremented before exiting the loop]\nSigned-off-by: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nAcked-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nSigned-off-by: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "75822b4495b62e8721e9b88e3cf9e653a0c85b73",
      "tree": "b8d4c10f03a4e289f0a66b982243fd8980f9df07",
      "parents": [
        "f64c3f54940d6929a2b6dcffaab942bd62be2e66"
      ],
      "author": {
        "name": "Balbir Singh",
        "email": "balbir@linux.vnet.ibm.com",
        "time": "Wed Sep 23 15:56:38 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Sep 24 07:20:59 2009 -0700"
      },
      "message": "memory controller: soft limit refactor reclaim flags\n\nRefactor mem_cgroup_hierarchical_reclaim()\n\nRefactor the arguments passed to mem_cgroup_hierarchical_reclaim() into\nflags, so that new parameters don\u0027t have to be passed as we make the\nreclaim routine more flexible\n\nSigned-off-by: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@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": "f64c3f54940d6929a2b6dcffaab942bd62be2e66",
      "tree": "7b3587700b08639970580be6c87f36df80ca8c74",
      "parents": [
        "296c81d89f4f14269f7346f81442910158c0a83a"
      ],
      "author": {
        "name": "Balbir Singh",
        "email": "balbir@linux.vnet.ibm.com",
        "time": "Wed Sep 23 15:56:37 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Sep 24 07:20:59 2009 -0700"
      },
      "message": "memory controller: soft limit organize cgroups\n\nOrganize cgroups over soft limit in a RB-Tree\n\nIntroduce an RB-Tree for storing memory cgroups that are over their soft\nlimit.  The overall goal is to\n\n1. Add a memory cgroup to the RB-Tree when the soft limit is exceeded.\n   We are careful about updates, updates take place only after a particular\n   time interval has passed\n2. We remove the node from the RB-Tree when the usage goes below the soft\n   limit\n\nThe next set of patches will exploit the RB-Tree to get the group that is\nover its soft limit by the largest amount and reclaim from it, when we\nface memory contention.\n\n[hugh.dickins@tiscali.co.uk: CONFIG_CGROUP_MEM_RES_CTLR\u003dy CONFIG_PREEMPT\u003dy fails to boot]\nSigned-off-by: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nCc: Jiri Slaby \u003cjirislaby@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": "296c81d89f4f14269f7346f81442910158c0a83a",
      "tree": "cf0e1facd1fed8282c1885bc4126e7bca1928712",
      "parents": [
        "a6df63615b943dbef22df04c19f4506330fe835e"
      ],
      "author": {
        "name": "Balbir Singh",
        "email": "balbir@linux.vnet.ibm.com",
        "time": "Wed Sep 23 15:56:36 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Sep 24 07:20:59 2009 -0700"
      },
      "message": "memory controller: soft limit interface\n\nAdd an interface to allow get/set of soft limits.  Soft limits for memory\nplus swap controller (memsw) is currently not supported.  Resource\ncounters have been enhanced to support soft limits and new type\nRES_SOFT_LIMIT has been added.  Unlike hard limits, soft limits can be\ndirectly set and do not need any reclaim or checks before setting them to\na newer value.\n\nKamezawa-San raised a question as to whether soft limit should belong to\nres_counter.  Since all resources understand the basic concepts of hard\nand soft limits, it is justified to add soft limits here.  Soft limits are\na generic resource usage feature, even file system quotas support soft\nlimits.\n\nSigned-off-by: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@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": "261fb61a8bf6d3bd964ae6f1e6af49585d30db51",
      "tree": "417cebd2e18bc2457b5b09d8359ad71ba6afd56d",
      "parents": [
        "4b3bde4c983de36c59e6c1a24701f6fe816f9f55"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Wed Sep 23 15:56:33 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Sep 24 07:20:58 2009 -0700"
      },
      "message": "memcg: add comments explaining memory barriers\n\nAdd comments for the reason of smp_wmb() in mem_cgroup_commit_charge().\n\n[akpm@linux-foundation.org: coding-style fixes]\nCc: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nCc: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nSigned-off-by: 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": "4b3bde4c983de36c59e6c1a24701f6fe816f9f55",
      "tree": "e759c5ceccf57331b868b7feac61cae5e932c6d4",
      "parents": [
        "be367d09927023d081f9199665c8500f69f14d22"
      ],
      "author": {
        "name": "Balbir Singh",
        "email": "balbir@linux.vnet.ibm.com",
        "time": "Wed Sep 23 15:56:32 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Sep 24 07:20:58 2009 -0700"
      },
      "message": "memcg: remove the overhead associated with the root cgroup\n\nChange the memory cgroup to remove the overhead associated with accounting\nall pages in the root cgroup.  As a side-effect, we can no longer set a\nmemory hard limit in the root cgroup.\n\nA new flag to track whether the page has been accounted or not has been\nadded as well.  Flags are now set atomically for page_cgroup,\npcg_default_flags is now obsolete and removed.\n\n[akpm@linux-foundation.org: fix a few documentation glitches]\nSigned-off-by: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nSigned-off-by: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nReviewed-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Paul Menage \u003cmenage@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": "be367d09927023d081f9199665c8500f69f14d22",
      "tree": "f0c5b9da037506da3c5890cf11b51b39a7d3c427",
      "parents": [
        "c378369d8b4fa516ff2b1e79c3eded4e0e955ebb"
      ],
      "author": {
        "name": "Ben Blum",
        "email": "bblum@google.com",
        "time": "Wed Sep 23 15:56:31 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Sep 24 07:20:58 2009 -0700"
      },
      "message": "cgroups: let ss-\u003ecan_attach and ss-\u003eattach do whole threadgroups at a time\n\nAlter the ss-\u003ecan_attach and ss-\u003eattach functions to be able to deal with\na whole threadgroup at a time, for use in cgroup_attach_proc.  (This is a\npre-patch to cgroup-procs-writable.patch.)\n\nCurrently, new mode of the attach function can only tell the subsystem\nabout the old cgroup of the threadgroup leader.  No subsystem currently\nneeds that information for each thread that\u0027s being moved, but if one were\nto be added (for example, one that counts tasks within a group) this bit\nwould need to be reworked a bit to tell the subsystem the right\ninformation.\n\n[hidave.darkstar@gmail.com: fix build]\nSigned-off-by: Ben Blum \u003cbblum@google.com\u003e\nSigned-off-by: Paul Menage \u003cmenage@google.com\u003e\nAcked-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nReviewed-by: Matt Helsley \u003cmatthltc@us.ibm.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Dave Young \u003chidave.darkstar@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": "2c6854fdadf940678fd54779b778f6faafb870bb",
      "tree": "0ed3efb3651813593e38e7976d1201a738b300a6",
      "parents": [
        "d2b5ec3aa0784335f031239e71fb50924cac9e0d"
      ],
      "author": {
        "name": "Izik Eidus",
        "email": "ieidus@redhat.com",
        "time": "Wed Sep 23 15:56:04 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Sep 24 07:20:56 2009 -0700"
      },
      "message": "ksm: change default values to better fit into mainline kernel\n\nNow that ksm is in mainline it is better to change the default values to\nbetter fit to most of the users.\n\nThis patch change the ksm default values to be:\n\n\tksm_thread_pages_to_scan \u003d 100 (instead of 200)\n\tksm_thread_sleep_millisecs \u003d 20 (like before)\n\tksm_run \u003d KSM_RUN_STOP (instead of KSM_RUN_MERGE - meaning ksm is\n\t                        disabled by default)\n\tksm_max_kernel_pages \u003d nr_free_buffer_pages / 4 (instead of 2046)\n\nThe important aspect of this patch is: it disables ksm by default, and sets\nthe number of the kernel_pages that can be allocated to be a reasonable\nnumber.\n\nSigned-off-by: Izik Eidus \u003cieidus@redhat.com\u003e\nCc: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nCc: Andrea Arcangeli \u003caarcange@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": "25d9e2d15286281ec834b829a4aaf8969011f1cd",
      "tree": "e4329a481ca197afae30f04335e023c7d04f7d67",
      "parents": [
        "eca6f534e61919b28fb21aafbd1c2983deae75be"
      ],
      "author": {
        "name": "npiggin@suse.de",
        "email": "npiggin@suse.de",
        "time": "Fri Aug 21 02:35:05 2009 +1000"
      },
      "committer": {
        "name": "al",
        "email": "al@dizzy.pdmi.ras.ru",
        "time": "Thu Sep 24 08:41:47 2009 -0400"
      },
      "message": "truncate: new helpers\n\nIntroduce new truncate helpers truncate_pagecache and inode_newsize_ok.\nvmtruncate is also consolidated from mm/memory.c and mm/nommu.c and\ninto mm/truncate.c.\n\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "db7907865817137bfa3d5b4b30de9cc859b41bf1",
      "tree": "06a03dc68b8792ddb75bf900325e195d9d72c26a",
      "parents": [
        "78f1c4d6b027993763a5aba83873b0462d06db8f"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Sep 24 09:34:52 2009 -0600"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Sep 24 09:34:52 2009 +0930"
      },
      "message": "cpumask: use new-style cpumask ops in mm/quicklist.\n\nThis slipped past the previous sweeps.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nAcked-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4266c97a3ef4604561a22212eb0eab8a3c338971",
      "tree": "35b7627d6f8d1e5b236d604d02aaee8215fbb5c0",
      "parents": [
        "4fd8da8d62416d0dae05603ab5990a498d9aeb12"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh.dickins@tiscali.co.uk",
        "time": "Wed Sep 23 17:05:53 2009 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 23 09:22:10 2009 -0700"
      },
      "message": "nommu: fix two build breakages\n\nMy 58fa879e1e640a1856f736b418984ebeccee1c95 \"mm: FOLL flags for GUP flags\"\nbroke CONFIG_NOMMU build by forgetting to update nommu.c foll_flags type:\n\n  mm/nommu.c:171: error: conflicting types for `__get_user_pages\u0027\n  mm/internal.h:254: error: previous declaration of `__get_user_pages\u0027 was here\n  make[1]: *** [mm/nommu.o] Error 1\n\nMy 03f6462a3ae78f36eb1f0ee8b4d5ae2f7859c1d5 \"mm: move highest_memmap_pfn\"\nbroke CONFIG_NOMMU build by forgetting to add a nommu.c highest_memmap_pfn:\n\n  mm/built-in.o: In function `memmap_init_zone\u0027:\n  (.meminit.text+0x326): undefined reference to `highest_memmap_pfn\u0027\n  mm/built-in.o: In function `memmap_init_zone\u0027:\n  (.meminit.text+0x32d): undefined reference to `highest_memmap_pfn\u0027\n\nFix both breakages, and give myself 30 lashes (ouch!)\n\nReported-by: Michal Simek \u003cmichal.simek@petalogix.com\u003e\nSigned-off-by: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "81ac3ad9061dd9cd490ee92f0c5316a14d77ce18",
      "tree": "1787b8c307b5e70e2763c4e7c0767c2b7e108dc4",
      "parents": [
        "26562c59fa9111ae3ea7b78045889662aac9e5ac"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Tue Sep 22 16:45:49 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 23 07:39:42 2009 -0700"
      },
      "message": "kcore: register module area in generic way\n\nSome archs define MODULED_VADDR/MODULES_END which is not in VMALLOC area.\nThis is handled only in x86-64.  This patch make it more generic.  And we\ncan use vread/vwrite to access the area.  Fix it.\n\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: WANG Cong \u003cxiyou.wangcong@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": "908eedc6168bd92e89f90d89fa389065a36358fa",
      "tree": "612881abb2aae920ab1e62e88990ee7b6a988f51",
      "parents": [
        "9492587cf35d370db33ef4b38375dfb35a105b61"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Tue Sep 22 16:45:46 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 23 07:39:41 2009 -0700"
      },
      "message": "walk system ram range\n\nOriginally, walk_memory_resource() was introduced to traverse all memory\nof \"System RAM\" for detecting memory hotplug/unplug range.  For doing so,\nflags of IORESOUCE_MEM|IORESOURCE_BUSY was used and this was enough for\nmemory hotplug.\n\nBut for using other purpose, /proc/kcore, this may includes some firmware\narea marked as IORESOURCE_BUSY | IORESOUCE_MEM.  This patch makes the\ncheck strict to find out busy \"System RAM\".\n\nNote: PPC64 keeps their own walk_memory_resouce(), which walk through\nppc64\u0027s lmb informaton.  Because old kclist_add() is called per lmb, this\npatch makes no difference in behavior, finally.\n\nAnd this patch removes CONFIG_MEMORY_HOTPLUG check from this function.\nBecause pfn_valid() just show \"there is memmap or not* and cannot be used\nfor \"there is physical memory or not\", this function is useful in generic\nto scan physical memory range.\n\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: WANG Cong \u003cxiyou.wangcong@gmail.com\u003e\nCc: Américo Wang \u003cxiyou.wangcong@gmail.com\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: Roland Dreier \u003crolandd@cisco.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d899bf7b55f503ba7d3d07ed27c3a37e270fa7db",
      "tree": "32a5ee7816b2f0cb3261dcca8102b9cafe9251bd",
      "parents": [
        "cba8aafe1e07dfc8bae5ba78be8e02883bd34d31"
      ],
      "author": {
        "name": "Stefani Seibold",
        "email": "stefani@seibold.net",
        "time": "Tue Sep 22 16:45:40 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 23 07:39:41 2009 -0700"
      },
      "message": "procfs: provide stack information for threads\n\nA patch to give a better overview of the userland application stack usage,\nespecially for embedded linux.\n\nCurrently you are only able to dump the main process/thread stack usage\nwhich is showed in /proc/pid/status by the \"VmStk\" Value.  But you get no\ninformation about the consumed stack memory of the the threads.\n\nThere is an enhancement in the /proc/\u003cpid\u003e/{task/*,}/*maps and which marks\nthe vm mapping where the thread stack pointer reside with \"[thread stack\nxxxxxxxx]\".  xxxxxxxx is the maximum size of stack.  This is a value\ninformation, because libpthread doesn\u0027t set the start of the stack to the\ntop of the mapped area, depending of the pthread usage.\n\nA sample output of /proc/\u003cpid\u003e/task/\u003ctid\u003e/maps looks like:\n\n08048000-08049000 r-xp 00000000 03:00 8312       /opt/z\n08049000-0804a000 rw-p 00001000 03:00 8312       /opt/z\n0804a000-0806b000 rw-p 00000000 00:00 0          [heap]\na7d12000-a7d13000 ---p 00000000 00:00 0\na7d13000-a7f13000 rw-p 00000000 00:00 0          [thread stack: 001ff4b4]\na7f13000-a7f14000 ---p 00000000 00:00 0\na7f14000-a7f36000 rw-p 00000000 00:00 0\na7f36000-a8069000 r-xp 00000000 03:00 4222       /lib/libc.so.6\na8069000-a806b000 r--p 00133000 03:00 4222       /lib/libc.so.6\na806b000-a806c000 rw-p 00135000 03:00 4222       /lib/libc.so.6\na806c000-a806f000 rw-p 00000000 00:00 0\na806f000-a8083000 r-xp 00000000 03:00 14462      /lib/libpthread.so.0\na8083000-a8084000 r--p 00013000 03:00 14462      /lib/libpthread.so.0\na8084000-a8085000 rw-p 00014000 03:00 14462      /lib/libpthread.so.0\na8085000-a8088000 rw-p 00000000 00:00 0\na8088000-a80a4000 r-xp 00000000 03:00 8317       /lib/ld-linux.so.2\na80a4000-a80a5000 r--p 0001b000 03:00 8317       /lib/ld-linux.so.2\na80a5000-a80a6000 rw-p 0001c000 03:00 8317       /lib/ld-linux.so.2\nafaf5000-afb0a000 rw-p 00000000 00:00 0          [stack]\nffffe000-fffff000 r-xp 00000000 00:00 0          [vdso]\n\nAlso there is a new entry \"stack usage\" in /proc/\u003cpid\u003e/{task/*,}/status\nwhich will you give the current stack usage in kb.\n\nA sample output of /proc/self/status looks like:\n\nName:\tcat\nState:\tR (running)\nTgid:\t507\nPid:\t507\n.\n.\n.\nCapBnd:\tfffffffffffffeff\nvoluntary_ctxt_switches:\t0\nnonvoluntary_ctxt_switches:\t0\nStack usage:\t12 kB\n\nI also fixed stack base address in /proc/\u003cpid\u003e/{task/*,}/stat to the base\naddress of the associated thread stack and not the one of the main\nprocess.  This makes more sense.\n\n[akpm@linux-foundation.org: fs/proc/array.c now needs walk_page_range()]\nSigned-off-by: Stefani Seibold \u003cstefani@seibold.net\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "342ff1a1b558ebbdb8cbd55ab6a63eca8b2473ca",
      "tree": "1f967f283dade6e03897169bb29513354f49f910",
      "parents": [
        "50223e486cabdcf7e540e519da1f26bab3084e5d",
        "24ed7a97464db44592495f98cff8bcee02f92bc2"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:51:45 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:51:45 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (34 commits)\n  trivial: fix typo in aic7xxx comment\n  trivial: fix comment typo in drivers/ata/pata_hpt37x.c\n  trivial: typo in kernel-parameters.txt\n  trivial: fix typo in tracing documentation\n  trivial: add __init/__exit macros in drivers/gpio/bt8xxgpio.c\n  trivial: add __init macro/ fix of __exit macro location in ipmi_poweroff.c\n  trivial: remove unnecessary semicolons\n  trivial: Fix duplicated word \"options\" in comment\n  trivial: kbuild: remove extraneous blank line after declaration of usage()\n  trivial: improve help text for mm debug config options\n  trivial: doc: hpfall: accept disk device to unload as argument\n  trivial: doc: hpfall: reduce risk that hpfall can do harm\n  trivial: SubmittingPatches: Fix reference to renumbered step\n  trivial: fix typos \"man[ae]g?ment\" -\u003e \"management\"\n  trivial: media/video/cx88: add __init/__exit macros to cx88 drivers\n  trivial: fix typo in CONFIG_DEBUG_FS in gcov doc\n  trivial: fix missing printk space in amd_k7_smp_check\n  trivial: fix typo s/ketymap/keymap/ in comment\n  trivial: fix typo \"to to\" in multiple files\n  trivial: fix typos in comments s/DGBU/DBGU/\n  ...\n"
    },
    {
      "commit": "eb8cdec4a984fde123a91250dcc9e0bddf5eafdc",
      "tree": "9f97b5949e6e63ae947363149b62ed224dad5ab9",
      "parents": [
        "02e87d1a934c70e3599eb7a29db783806d329e17"
      ],
      "author": {
        "name": "Bernd Schmidt",
        "email": "bernds_cb1@t-online.de",
        "time": "Mon Sep 21 17:03:57 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:43 2009 -0700"
      },
      "message": "nommu: add support for Memory Protection Units (MPU)\n\nSome architectures (like the Blackfin arch) implement some of the\n\"simpler\" features that one would expect out of a MMU such as memory\nprotection.\n\nIn our case, we actually get read/write/exec protection down to the page\nboundary so processes can\u0027t stomp on each other let alone the kernel.\n\nThere is a performance decrease (which depends greatly on the workload)\nhowever as the hardware/software interaction was not optimized at design\ntime.\n\nSigned-off-by: Bernd Schmidt \u003cbernds_cb1@t-online.de\u003e\nSigned-off-by: Bryan Wu \u003ccooloney@kernel.org\u003e\nSigned-off-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\nAcked-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: Greg Ungerer \u003cgerg@snapgear.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f68e14805085972b4e0b0ab684af37f713b9c262",
      "tree": "6e0cc9e1e3f29b36ec3d7acfaf863cf9bb39ea5b",
      "parents": [
        "3d2d827f5ca5e32816194119d5c980c7e04474a6"
      ],
      "author": {
        "name": "Michael S. Tsirkin",
        "email": "mst@redhat.com",
        "time": "Mon Sep 21 17:03:52 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:42 2009 -0700"
      },
      "message": "mm: reduce atomic use on use_mm fast path\n\nWhen the mm being switched to matches the active mm, we don\u0027t need to\nincrement and then drop the mm count.  In a simple benchmark this happens\nin about 50% of time.  Making that conditional reduces contention on that\ncacheline on SMP systems.\n\nAcked-by: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nSigned-off-by: Michael S. Tsirkin \u003cmst@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": "3d2d827f5ca5e32816194119d5c980c7e04474a6",
      "tree": "fe0e84669f5f20e1dff8e3dc6b191b4d5dfc0145",
      "parents": [
        "425fbf047cc70bb30dff368a6da02c8c2d229318"
      ],
      "author": {
        "name": "Michael S. Tsirkin",
        "email": "mst@redhat.com",
        "time": "Mon Sep 21 17:03:51 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:42 2009 -0700"
      },
      "message": "mm: move use_mm/unuse_mm from aio.c to mm/\n\nAnyone who wants to do copy to/from user from a kernel thread, needs\nuse_mm (like what fs/aio has).  Move that into mm/, to make reusing and\nexporting easier down the line, and make aio use it.  Next intended user,\nbesides aio, will be vhost-net.\n\nAcked-by: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nSigned-off-by: Michael S. Tsirkin \u003cmst@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": "425fbf047cc70bb30dff368a6da02c8c2d229318",
      "tree": "7e71fc7a73c799debba250998ab3b3f56c124e90",
      "parents": [
        "6e17b17f1fc7b2f24383a693d63550d9e1460081"
      ],
      "author": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Mon Sep 21 17:03:50 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:42 2009 -0700"
      },
      "message": "shmem: initialize struct shmem_sb_info to zero\n\nFixes the following kmemcheck false positive (the compiler is using\na 32-bit mov to load the 16-bit sbinfo-\u003emode in shmem_fill_super):\n\n[    0.337000] Total of 1 processors activated (3088.38 BogoMIPS).\n[    0.352000] CPU0 attaching NULL sched-domain.\n[    0.360000] WARNING: kmemcheck: Caught 32-bit read from uninitialized\nmemory (9f8020fc)\n[    0.361000]\na44240820000000041f6998100000000000000000000000000000000ff030000\n[    0.368000]  i i i i i i i i i i i i i i i i u u u u i i i i i i i i i i u\nu\n[    0.375000]                                                          ^\n[    0.376000]\n[    0.377000] Pid: 9, comm: khelper Not tainted (2.6.31-tip #206) P4DC6\n[    0.378000] EIP: 0060:[\u003c810a3a95\u003e] EFLAGS: 00010246 CPU: 0\n[    0.379000] EIP is at shmem_fill_super+0xb5/0x120\n[    0.380000] EAX: 00000000 EBX: 9f845400 ECX: 824042a4 EDX: 8199f641\n[    0.381000] ESI: 9f8020c0 EDI: 9f845400 EBP: 9f81af68 ESP: 81cd6eec\n[    0.382000]  DS: 007b ES: 007b FS: 00d8 GS: 0000 SS: 0068\n[    0.383000] CR0: 8005003b CR2: 9f806200 CR3: 01ccd000 CR4: 000006d0\n[    0.384000] DR0: 00000000 DR1: 00000000 DR2: 00000000 DR3: 00000000\n[    0.385000] DR6: ffff4ff0 DR7: 00000400\n[    0.386000]  [\u003c810c25fc\u003e] get_sb_nodev+0x3c/0x80\n[    0.388000]  [\u003c810a3514\u003e] shmem_get_sb+0x14/0x20\n[    0.390000]  [\u003c810c207f\u003e] vfs_kern_mount+0x4f/0x120\n[    0.392000]  [\u003c81b2849e\u003e] init_tmpfs+0x7e/0xb0\n[    0.394000]  [\u003c81b11597\u003e] do_basic_setup+0x17/0x30\n[    0.396000]  [\u003c81b11907\u003e] kernel_init+0x57/0xa0\n[    0.398000]  [\u003c810039b7\u003e] kernel_thread_helper+0x7/0x10\n[    0.400000]  [\u003cffffffff\u003e] 0xffffffff\n[    0.402000] khelper used greatest stack depth: 2820 bytes left\n[    0.407000] calling  init_mmap_min_addr+0x0/0x10 @ 1\n[    0.408000] initcall init_mmap_min_addr+0x0/0x10 returned 0 after 0 usecs\n\nReported-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nAnalysed-by: Vegard Nossum \u003cvegard.nossum@gmail.com\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nAcked-by: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4e52780d41a741fb4861ae1df2413dd816ec11b1",
      "tree": "b3722349661ed0ce87841b110f568616892cf719",
      "parents": [
        "90f72aa58bbf076b68e289fbd71eb829bc505923"
      ],
      "author": {
        "name": "Eric B Munson",
        "email": "ebmunson@us.ibm.com",
        "time": "Mon Sep 21 17:03:47 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:42 2009 -0700"
      },
      "message": "hugetlb: add MAP_HUGETLB for mmaping pseudo-anonymous huge page regions\n\nAdd a flag for mmap that will be used to request a huge page region that\nwill look like anonymous memory to userspace.  This is accomplished by\nusing a file on the internal vfsmount.  MAP_HUGETLB is a modifier of\nMAP_ANONYMOUS and so must be specified with it.  The region will behave\nthe same as a MAP_ANONYMOUS region using small pages.\n\n[akpm@linux-foundation.org: fix arch definitions of MAP_HUGETLB]\nSigned-off-by: Eric B Munson \u003cebmunson@us.ibm.com\u003e\nAcked-by: David Rientjes \u003crientjes@google.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Adam Litke \u003cagl@us.ibm.com\u003e\nCc: David Gibson \u003cdavid@gibson.dropbear.id.au\u003e\nCc: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nCc: Arnd Bergmann \u003carnd@arndb.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f8dbf0a7a4c5d98e8b70da9f7f4f6a89f3b7a7bb",
      "tree": "1f40d51f39965017999c36e3a5ae78b67e43f5d5",
      "parents": [
        "252c5f94d944487e9f50ece7942b0fbf659c5c31"
      ],
      "author": {
        "name": "Huang Shijie",
        "email": "shijie8@gmail.com",
        "time": "Mon Sep 21 17:03:41 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:41 2009 -0700"
      },
      "message": "mmap: save some cycles for the shared anonymous mapping\n\nshmem_zero_setup() does not change vm_start, pgoff or vm_flags, only some\ndrivers change them (such as /driver/video/bfin-t350mcqb-fb.c).\n\nMove these codes to a more proper place to save cycles for shared\nanonymous mapping.\n\nSigned-off-by: Huang Shijie \u003cshijie8@gmail.com\u003e\nReviewed-by: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nAcked-by: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "252c5f94d944487e9f50ece7942b0fbf659c5c31",
      "tree": "0dd21bdb968ce5bd3f30fadce261984d3b1abf98",
      "parents": [
        "3f96b79ad96263cc0ece7bb340cddf9b2ddfb1b3"
      ],
      "author": {
        "name": "Lee Schermerhorn",
        "email": "Lee.Schermerhorn@hp.com",
        "time": "Mon Sep 21 17:03:40 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:41 2009 -0700"
      },
      "message": "mmap: avoid unnecessary anon_vma lock acquisition in vma_adjust()\n\nWe noticed very erratic behavior [throughput] with the AIM7 shared\nworkload running on recent distro [SLES11] and mainline kernels on an\n8-socket, 32-core, 256GB x86_64 platform.  On the SLES11 kernel\n[2.6.27.19+] with Barcelona processors, as we increased the load [10s of\nthousands of tasks], the throughput would vary between two \"plateaus\"--one\nat ~65K jobs per minute and one at ~130K jpm.  The simple patch below\ncauses the results to smooth out at the ~130k plateau.\n\nBut wait, there\u0027s more:\n\nWe do not see this behavior on smaller platforms--e.g., 4 socket/8 core.\nThis could be the result of the larger number of cpus on the larger\nplatform--a scalability issue--or it could be the result of the larger\nnumber of interconnect \"hops\" between some nodes in this platform and how\nthe tasks for a given load end up distributed over the nodes\u0027 cpus and\nmemories--a stochastic NUMA effect.\n\nThe variability in the results are less pronounced [on the same platform]\nwith Shanghai processors and with mainline kernels.  With 31-rc6 on\nShanghai processors and 288 file systems on 288 fibre attached storage\nvolumes, the curves [jpm vs load] are both quite flat with the patched\nkernel consistently producing ~3.9% better throughput [~80K jpm vs ~77K\njpm] than the unpatched kernel.\n\nProfiling indicated that the \"slow\" runs were incurring high[er]\ncontention on an anon_vma lock in vma_adjust(), apparently called from the\nsbrk() system call.\n\nThe patch:\n\nA comment in mm/mmap.c:vma_adjust() suggests that we don\u0027t really need the\nanon_vma lock when we\u0027re only adjusting the end of a vma, as is the case\nfor brk().  The comment questions whether it\u0027s worth while to optimize for\nthis case.  Apparently, on the newer, larger x86_64 platforms, with\ninteresting NUMA topologies, it is worth while--especially considering\nthat the patch [if correct!] is quite simple.\n\nWe can detect this condition--no overlap with next vma--by noting a NULL\n\"importer\".  The anon_vma pointer will also be NULL in this case, so\nsimply avoid loading vma-\u003eanon_vma to avoid the lock.\n\nHowever, we DO need to take the anon_vma lock when we\u0027re inserting a vma\n[\u0027insert\u0027 non-NULL] even when we have no overlap [NULL \"importer\"], so we\nneed to check for \u0027insert\u0027, as well.  And Hugh points out that we should\nalso take it when adjusting vm_start (so that rmap.c can rely upon\nvma_address() while it holds the anon_vma lock).\n\nakpm: Zhang Yanmin reprts a 150% throughput improvement with aim7, so it\nmight be -stable material even though thiss isn\u0027t a regression: \"this\nissue is not clear on dual socket Nehalem machine (2*4*2 cpu), but is\nsevere on large machine (4*8*2 cpu)\"\n\n[hugh.dickins@tiscali.co.uk: test vma start too]\nSigned-off-by: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nSigned-off-by: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nCc: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: Eric Whitney \u003ceric.whitney@hp.com\u003e\nTested-by: \"Zhang, Yanmin\" \u003cyanmin_zhang@linux.intel.com\u003e\nCc: \u003cstable@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": "3f96b79ad96263cc0ece7bb340cddf9b2ddfb1b3",
      "tree": "0da9828c16543164f1b055fd927ea3e222ca05e5",
      "parents": [
        "cdf7b3418ad5a8783efe8f9124023d9b869fec0f"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh.dickins@tiscali.co.uk",
        "time": "Mon Sep 21 17:03:37 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:41 2009 -0700"
      },
      "message": "tmpfs: depend on shmem\n\nCONFIG_SHMEM off gives you (ramfs masquerading as) tmpfs, even when\nCONFIG_TMPFS is off: that\u0027s a little anomalous, and I\u0027d intended to make\nmore sense of it by removing CONFIG_TMPFS altogether, always enabling its\ncode when CONFIG_SHMEM; but so many defconfigs have CONFIG_SHMEM on\nCONFIG_TMPFS off that we\u0027d better leave that as is.\n\nBut there is no point in asking for CONFIG_TMPFS if CONFIG_SHMEM is off:\nmake TMPFS depend on SHMEM, which also prevents TMPFS_POSIX_ACL\nshmem_acl.o being pointlessly built into the kernel when SHMEM is off.\n\nAnd a selfish change, to prevent the world from being rebuilt when I\nswitch between CONFIG_SHMEM on and off: the only CONFIG_SHMEM in the\nheader files is mm.h shmem_lock() - give that a shmem.c stub instead.\n\nSigned-off-by: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nAcked-by: Matt Mackall \u003cmpm@selenic.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cdf7b3418ad5a8783efe8f9124023d9b869fec0f",
      "tree": "0504a26ba5d7cbbaa71bdd2911d55c6934de8be5",
      "parents": [
        "03f6462a3ae78f36eb1f0ee8b4d5ae2f7859c1d5"
      ],
      "author": {
        "name": "Huang Shijie",
        "email": "shijie8@gmail.com",
        "time": "Mon Sep 21 17:03:36 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:41 2009 -0700"
      },
      "message": "mmap: remove unnecessary code\n\nIf (flags \u0026 MAP_LOCKED) is true, it means vm_flags has already contained\nthe bit VM_LOCKED which is set by calc_vm_flag_bits().\n\nSo there is no need to reset it again, just remove it.\n\nSigned-off-by: Huang Shijie \u003cshijie8@gmail.com\u003e\nAcked-by: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "03f6462a3ae78f36eb1f0ee8b4d5ae2f7859c1d5",
      "tree": "bf19c5019705796e90ef592233aca5f09025a92f",
      "parents": [
        "62eede62dafb4a6633eae7ffbeb34c60dba5e7b1"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh.dickins@tiscali.co.uk",
        "time": "Mon Sep 21 17:03:35 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:41 2009 -0700"
      },
      "message": "mm: move highest_memmap_pfn\n\nMove highest_memmap_pfn __read_mostly from page_alloc.c next to zero_pfn\n__read_mostly in memory.c: to help them share a cacheline, since they\u0027re\nvery often tested together in vm_normal_page().\n\nSigned-off-by: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\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\n"
    },
    {
      "commit": "62eede62dafb4a6633eae7ffbeb34c60dba5e7b1",
      "tree": "e55a0ca4ad0c55ad162443146268cfb4c473750f",
      "parents": [
        "3ae77f43b1118a76ea37952d444319c15e002c03"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh.dickins@tiscali.co.uk",
        "time": "Mon Sep 21 17:03:34 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:41 2009 -0700"
      },
      "message": "mm: ZERO_PAGE without PTE_SPECIAL\n\nReinstate anonymous use of ZERO_PAGE to all architectures, not just to\nthose which __HAVE_ARCH_PTE_SPECIAL: as suggested by Nick Piggin.\n\nContrary to how I\u0027d imagined it, there\u0027s nothing ugly about this, just a\nzero_pfn test built into one or another block of vm_normal_page().\n\nBut the MIPS ZERO_PAGE-of-many-colours case demands is_zero_pfn() and\nmy_zero_pfn() inlines.  Reinstate its mremap move_pte() shuffling of\nZERO_PAGEs we did from 2.6.17 to 2.6.19?  Not unless someone shouts for\nthat: it would have to take vm_flags to weed out some cases.\n\nSigned-off-by: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nReviewed-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3ae77f43b1118a76ea37952d444319c15e002c03",
      "tree": "78152c28d4c8be8da36148e2e38e87e1b08b839b",
      "parents": [
        "6e919717c82c5773ac671816c8392c70d261685f"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh.dickins@tiscali.co.uk",
        "time": "Mon Sep 21 17:03:33 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:41 2009 -0700"
      },
      "message": "mm: hugetlbfs_pagecache_present\n\nRename hugetlbfs_backed() to hugetlbfs_pagecache_present()\nand add more comments, as suggested by Mel Gorman.\n\nSigned-off-by: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\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\n"
    },
    {
      "commit": "6e919717c82c5773ac671816c8392c70d261685f",
      "tree": "76e22da3ba5000e4ea408315723cc67f3e4b6352",
      "parents": [
        "58fa879e1e640a1856f736b418984ebeccee1c95"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh.dickins@tiscali.co.uk",
        "time": "Mon Sep 21 17:03:32 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:40 2009 -0700"
      },
      "message": "mm: m(un)lock avoid ZERO_PAGE\n\nI\u0027m still reluctant to clutter __get_user_pages() with another flag, just\nto avoid touching ZERO_PAGE count in mlock(); though we can add that later\nif it shows up as an issue in practice.\n\nBut when mlocking, we can test page-\u003emapping slightly earlier, to avoid\nthe potentially bouncy rescheduling of lock_page on ZERO_PAGE - mlock\ndidn\u0027t lock_page in olden ZERO_PAGE days, so we might have regressed.\n\nAnd when munlocking, it turns out that FOLL_DUMP coincidentally does\nwhat\u0027s needed to avoid all updates to ZERO_PAGE, so use that here also.\nPlus add comment suggested by KAMEZAWA Hiroyuki.\n\nSigned-off-by: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Nick Piggin \u003cnpiggin@suse.de\u003e\nAcked-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nReviewed-by: KOSAKI Motohiro \u003ckosaki.motohiro@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": "58fa879e1e640a1856f736b418984ebeccee1c95",
      "tree": "dc37bce8379e29c46e79f105cc71d137b14965cf",
      "parents": [
        "a13ea5b759645a0779edc6dbfec9abfd83220844"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh.dickins@tiscali.co.uk",
        "time": "Mon Sep 21 17:03:31 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:40 2009 -0700"
      },
      "message": "mm: FOLL flags for GUP flags\n\n__get_user_pages() has been taking its own GUP flags, then processing\nthem into FOLL flags for follow_page().  Though oddly named, the FOLL\nflags are more widely used, so pass them to __get_user_pages() now.\nSorry, VM flags, VM_FAULT flags and FAULT_FLAGs are still distinct.\n\n(The patch to __get_user_pages() looks peculiar, with both gup_flags\nand foll_flags: the gup_flags remain constant; but as before there\u0027s\nan exceptional case, out of scope of the patch, in which foll_flags\nper page have FOLL_WRITE masked off.)\n\nSigned-off-by: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\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\n"
    },
    {
      "commit": "a13ea5b759645a0779edc6dbfec9abfd83220844",
      "tree": "864dd495718195bd065d9f26edac2504e6de5af0",
      "parents": [
        "1ac0cb5d0e22d5e483f56b2bc12172dec1cf7536"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh.dickins@tiscali.co.uk",
        "time": "Mon Sep 21 17:03:30 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:40 2009 -0700"
      },
      "message": "mm: reinstate ZERO_PAGE\n\nKAMEZAWA Hiroyuki has observed customers of earlier kernels taking\nadvantage of the ZERO_PAGE: which we stopped do_anonymous_page() from\nusing in 2.6.24.  And there were a couple of regression reports on LKML.\n\nFollowing suggestions from Linus, reinstate do_anonymous_page() use of\nthe ZERO_PAGE; but this time avoid dirtying its struct page cacheline\nwith (map)count updates - let vm_normal_page() regard it as abnormal.\n\nUse it only on arches which __HAVE_ARCH_PTE_SPECIAL (x86, s390, sh32,\nmost powerpc): that\u0027s not essential, but minimizes additional branches\n(keeping them in the unlikely pte_special case); and incidentally\nexcludes mips (some models of which needed eight colours of ZERO_PAGE\nto avoid costly exceptions).\n\nDon\u0027t be fanatical about avoiding ZERO_PAGE updates: get_user_pages()\ncallers won\u0027t want to make exceptions for it, so increment its count\nthere.  Changes to mlock and migration? happily seems not needed.\n\nIn most places it\u0027s quicker to check pfn than struct page address:\nprepare a __read_mostly zero_pfn for that.  Does get_dump_page()\nstill need its ZERO_PAGE check? probably not, but keep it anyway.\n\nSigned-off-by: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\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\n"
    },
    {
      "commit": "1ac0cb5d0e22d5e483f56b2bc12172dec1cf7536",
      "tree": "68114711dc747a557895896af991623438034c2d",
      "parents": [
        "2a15efc953b26ad57d7d38b9e6782d57e53b4ab2"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh.dickins@tiscali.co.uk",
        "time": "Mon Sep 21 17:03:29 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:40 2009 -0700"
      },
      "message": "mm: fix anonymous dirtying\n\ndo_anonymous_page() has been wrong to dirty the pte regardless.\nIf it\u0027s not going to mark the pte writable, then it won\u0027t help\nto mark it dirty here, and clogs up memory with pages which will\nneed swap instead of being thrown away.  Especially wrong if no\novercommit is chosen, and this vma is not yet VM_ACCOUNTed -\nwe could exceed the limit and OOM despite no overcommit.\n\nSigned-off-by: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nCc: \u003cstable@kernel.org\u003e\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\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\n"
    }
  ],
  "next": "2a15efc953b26ad57d7d38b9e6782d57e53b4ab2"
}
