)]}'
{
  "log": [
    {
      "commit": "6035ccd8e9e40bb654fbfdef325902ab531679a5",
      "tree": "c1810d8a4d4ef150cdf14af72e6087dfc3f4b6e0",
      "parents": [
        "23eb3b64b5e44680c867e165fe1cd18e57fba255",
        "878eaddd05d251cefa9632c2b8046833c5eead66"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 08 08:19:16 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 08 08:19:16 2009 -0800"
      },
      "message": "Merge branch \u0027for-2.6.33\u0027 of git://git.kernel.dk/linux-2.6-block\n\n* \u0027for-2.6.33\u0027 of git://git.kernel.dk/linux-2.6-block: (113 commits)\n  cfq-iosched: Do not access cfqq after freeing it\n  block: include linux/err.h to use ERR_PTR\n  cfq-iosched: use call_rcu() instead of doing grace period stall on queue exit\n  blkio: Allow CFQ group IO scheduling even when CFQ is a module\n  blkio: Implement dynamic io controlling policy registration\n  blkio: Export some symbols from blkio as its user CFQ can be a module\n  block: Fix io_context leak after failure of clone with CLONE_IO\n  block: Fix io_context leak after clone with CLONE_IO\n  cfq-iosched: make nonrot check logic consistent\n  io controller: quick fix for blk-cgroup and modular CFQ\n  cfq-iosched: move IO controller declerations to a header file\n  cfq-iosched: fix compile problem with !CONFIG_CGROUP\n  blkio: Documentation\n  blkio: Wait on sync-noidle queue even if rq_noidle \u003d 1\n  blkio: Implement group_isolation tunable\n  blkio: Determine async workload length based on total number of queues\n  blkio: Wait for cfq queue to get backlogged if group is empty\n  blkio: Propagate cgroup weight updation to cfq groups\n  blkio: Drop the reference to queue once the task changes cgroup\n  blkio: Provide some isolation between groups\n  ...\n"
    },
    {
      "commit": "7b626acb8f983eb83b396ab96cc24b18d635d487",
      "tree": "8c3320191311e6186d3aa722f1acd12acd47ece8",
      "parents": [
        "1ebb275afcf5a47092e995541d6c604eef96062a",
        "4528752f49c1f4025473d12bc5fa9181085c3f22"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Dec 05 09:49:07 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Dec 05 09:49:07 2009 -0800"
      },
      "message": "Merge branch \u0027core-iommu-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-iommu-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (63 commits)\n  x86, Calgary IOMMU quirk: Find nearest matching Calgary while walking up the PCI tree\n  x86/amd-iommu: Remove amd_iommu_pd_table\n  x86/amd-iommu: Move reset_iommu_command_buffer out of locked code\n  x86/amd-iommu: Cleanup DTE flushing code\n  x86/amd-iommu: Introduce iommu_flush_device() function\n  x86/amd-iommu: Cleanup attach/detach_device code\n  x86/amd-iommu: Keep devices per domain in a list\n  x86/amd-iommu: Add device bind reference counting\n  x86/amd-iommu: Use dev-\u003earch-\u003eiommu to store iommu related information\n  x86/amd-iommu: Remove support for domain sharing\n  x86/amd-iommu: Rearrange dma_ops related functions\n  x86/amd-iommu: Move some pte allocation functions in the right section\n  x86/amd-iommu: Remove iommu parameter from dma_ops_domain_alloc\n  x86/amd-iommu: Use get_device_id and check_device where appropriate\n  x86/amd-iommu: Move find_protection_domain to helper functions\n  x86/amd-iommu: Simplify get_device_resources()\n  x86/amd-iommu: Let domain_for_device handle aliases\n  x86/amd-iommu: Remove iommu specific handling from dma_ops path\n  x86/amd-iommu: Remove iommu parameter from __(un)map_single\n  x86/amd-iommu: Make alloc_new_range aware of multiple IOMMUs\n  ...\n"
    },
    {
      "commit": "0d99519efef15fd0cf84a849492c7b1deee1e4b7",
      "tree": "d0f9d922ef73f6b9c4529826878f3cc5567848fd",
      "parents": [
        "b17621fed6aa039387e35f9b4d34d98f213e5673"
      ],
      "author": {
        "name": "Wu Fengguang",
        "email": "fengguang.wu@gmail.com",
        "time": "Thu Dec 03 13:54:25 2009 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Dec 03 13:54:25 2009 +0100"
      },
      "message": "writeback: remove unused nonblocking and congestion checks\n\n- no one is calling wb_writeback and write_cache_pages with\n  wbc.nonblocking\u003d1 any more\n- lumpy pageout will want to do nonblocking writeback without the\n  congestion wait\n\nSo remove the congestion checks as suggested by Chris.\n\nSigned-off-by: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nCc: Chris Mason \u003cchris.mason@oracle.com\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nCc: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nCc: Dave Chinner \u003cdavid@fromorbit.com\u003e\nCc: Evgeniy Polyakov \u003czbr@ioremap.net\u003e\nCc: Alex Elder \u003caelder@sgi.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "bf7ec5bb6114b2f086e536e24486fdacd1c0d339",
      "tree": "8f42b40fed799332e94142a084fed158f56a4d1a",
      "parents": [
        "220d0b1dbf78c6417a658c96e571415552d3abac"
      ],
      "author": {
        "name": "OGAWA Hirofumi",
        "email": "hirofumi@mail.parknet.co.jp",
        "time": "Thu Dec 03 13:49:43 2009 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Dec 03 13:49:43 2009 +0100"
      },
      "message": "flusher: Fix PF_FROZEN race\n\nTo touch task-\u003eflags directly is racy. thaw_process() still has race\n(changing non_current-\u003eflags, but this is another issue) though, I think\nit\u0027s much better off.\n\nSo, use thaw_process() instead.\n\nSigned-off-by: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "c84d6efd363a3948eb32ec40d46bab6338580454",
      "tree": "3ba7ac46e6626fe8ac843834588609eb6ccee5c6",
      "parents": [
        "7539cf4b92be4aecc573ea962135f246a7a33401",
        "22763c5cf3690a681551162c15d34d935308c8d7"
      ],
      "author": {
        "name": "James Morris",
        "email": "jmorris@macbook.(none)",
        "time": "Thu Dec 03 12:03:40 2009 +0530"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@macbook.(none)",
        "time": "Thu Dec 03 12:03:40 2009 +0530"
      },
      "message": "Merge branch \u0027master\u0027 into next\n"
    },
    {
      "commit": "b54eb1795c0cfeb6cc48fdcbd010e800541750ad",
      "tree": "85ac272cfee48497ecaaf121b74db5a6bd021cf3",
      "parents": [
        "0bb324626575e89385ca384d8cdd98fbeaeb0545",
        "69ac74822277fa999a3f469d8362e93262deb3f4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Nov 30 13:57:03 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Nov 30 13:57:03 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  cciss: make device attrs static\n  Thaw refrigerated bdi flusher threads before invoking kthread_stop on them\n"
    },
    {
      "commit": "6ad696d2cf535772dff659298ec7e7260e344595",
      "tree": "2f4d4d088a7bc8203473dcb96a1d1f0591f3de94",
      "parents": [
        "9398180097e359646d46083c3e079a54e20bee82"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "andi@firstfloor.org",
        "time": "Tue Nov 17 14:06:22 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Nov 17 17:40:33 2009 -0800"
      },
      "message": "mm: allow memory hotplug and hibernation in the same kernel\n\nAllow memory hotplug and hibernation in the same kernel\n\nMemory hotplug and hibernation were exclusive in Kconfig.  This is\nobviously a problem for distribution kernels who want to support both in\nthe same image.\n\nAfter some discussions with Rafael and others the only problem is with\nparallel memory hotadd or removal while a hibernation operation is in\nprocess.  It was also working for s390 before.\n\nThis patch removes the Kconfig level exclusion, and simply makes the\nmemory add / remove functions grab the pm_mutex to exclude against\nhibernation.\n\nFixes a regression - old kernels didn\u0027t exclude memory hotadd and\nhibernation.\n\nSigned-off-by: Andi Kleen \u003cak@linux.intel.com\u003e\nCc: Gerald Schaefer \u003cgerald.schaefer@de.ibm.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Yasunori Goto \u003cy-goto@jp.fujitsu.com\u003e\nAcked-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e13193319d3a5545c82ed4b724bffd16f87873e3",
      "tree": "a26af2052f1e5302fb29c59eca935fe9611670dd",
      "parents": [
        "410d7a979e0bc8386bf26316303809fa5688238c"
      ],
      "author": {
        "name": "Hidetoshi Seto",
        "email": "seto.hidetoshi@jp.fujitsu.com",
        "time": "Tue Nov 17 14:06:18 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Nov 17 17:40:33 2009 -0800"
      },
      "message": "mm/memory_hotplug: fix section mismatch\n\nWith CONFIG_MEMORY_HOTPLUG I got following warning:\n\nWARNING: vmlinux.o(.text+0x1276b0): Section mismatch in reference from\nthe function hotadd_new_pgdat() to the function\n.meminit.text:free_area_init_node()\nThe function hotadd_new_pgdat() references\nthe function __meminit free_area_init_node().\nThis is often because hotadd_new_pgdat lacks a __meminit\nannotation or the annotation of free_area_init_node is wrong.\n\nUse __ref to fix this.\n\nSigned-off-by: Hidetoshi Seto \u003cseto.hidetoshi@jp.fujitsu.com\u003e\nCc: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Yasunori Goto \u003cy-goto@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": "99f4c9de2b707795acb215e2e94df7ea266042b5",
      "tree": "6123682a8e0d880feebb690a55b3fb442ef3dee8",
      "parents": [
        "62ad33f67003b9a7b6013f0511579b9805e11626",
        "156171c71a0dc4bce12b4408bb1591f8fe32dc1a"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Nov 17 07:51:02 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Nov 17 07:51:07 2009 +0100"
      },
      "message": "Merge commit \u0027v2.6.32-rc7\u0027 into core/iommu\n\nMerge reason: Add fixes we\u0027ll depend on.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e0a2af1e60ae89b18ef3afbf655f096564751045",
      "tree": "fe31737835ea20c2933793fc7fbb38afffc130c2",
      "parents": [
        "0283243849e88f864a059783b29346cbf1e0b8e8",
        "833af8427be4b217b5bc522f61afdbd3f1d282c2"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Nov 14 12:59:06 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Nov 14 12:59:06 2009 -0800"
      },
      "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: restructure pcpu_extend_area_map() to fix bugs and improve readability\n"
    },
    {
      "commit": "833af8427be4b217b5bc522f61afdbd3f1d282c2",
      "tree": "7af86f8c599c4513f81c9b37ec34926cb4728316",
      "parents": [
        "4a6cc4bd32e580722882115d4c8b964d732c11e4"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Nov 11 15:35:18 2009 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Fri Nov 13 00:55:35 2009 +0900"
      },
      "message": "percpu: restructure pcpu_extend_area_map() to fix bugs and improve readability\n\npcpu_extend_area_map() had the following two bugs.\n\n* It should return 1 if pcpu_lock was dropped and reacquired but it\n  returned 0.  This could lead to oops if free_percpu() races with\n  area map extension.\n\n* pcpu_mem_free() was called under pcpu_lock.  pcpu_mem_free() might\n  end up calling vfree() which isn\u0027t IRQ safe.  This could lead to\n  deadlock through lock order inversion via IRQ.\n\nIn addition, Linus pointed out that the temporary lock dropping and\nsubtle three-way return value of pcpu_extend_area_map() was very ugly\nand suggested to split the function into two - pcpu_need_to_extend()\nand pcpu_extend_area_map().\n\nThis patch restructures pcpu_extend_area_map() as suggested and fixes\nthe two bugs.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nAcked-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "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": "c62b17a58ab5e97534ff6487241addd5fcc606de",
      "tree": "577c41e145d934d5fc39b6bd0b623ff508a6159d",
      "parents": [
        "aa021baa3295fa6e3f367d80f8955dd5176656eb"
      ],
      "author": {
        "name": "Romit Dasgupta",
        "email": "romit@ti.com",
        "time": "Thu Nov 12 13:08:11 2009 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Nov 12 13:08:11 2009 +0100"
      },
      "message": "Thaw refrigerated bdi flusher threads before invoking kthread_stop on them\n\nUnfreezes the bdi flusher task when the said task needs to exit.\n\nSteps to reproduce this.\n1) Mount a file system from MMC/SD card.\n2) Unmount the file system. This creates a flusher task.\n3) Attempt suspend to RAM. System is unresponsive.\n\nThis is because the bdi flusher thread is already in the refrigerator and will\nremain so until it is thawed. The MMC driver suspend routine call stack will\nultimately issue a \u0027kthread_stop\u0027 on the bdi flusher thread and will block\nuntil the flusher thread is exited. Since the bdi flusher thread is in the\nrefrigerator it never cleans up until thawed.\n\nSigned-off-by: Romit Dasgupta \u003cromit@ti.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\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": "9f993ac3f708b661207ed7de521f245586217a68",
      "tree": "f9565a41efe0cc2dfde6d84c8a6bdf310799ffea",
      "parents": [
        "9d5ce73a64be2be8112147a3e0b551ad9cd1247b"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Tue Nov 10 19:46:17 2009 +0900"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Nov 10 12:31:43 2009 +0100"
      },
      "message": "bootmem: Add free_bootmem_late()\n\nAdd a new function for freeing bootmem after the bootmem\nallocator has been released and the unreserved pages given to\nthe page allocator.\n\nThis allows us to reserve bootmem and then release it if we\nlater discover it was not needed.\n\n( This new API will be used by the swiotlb code to recover\n  a significant amount of RAM (64MB). )\n\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nAcked-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nCc: chrisw@sous-sol.org\nCc: dwmw2@infradead.org\nCc: joerg.roedel@amd.com\nCc: muli@il.ibm.com\nCc: hannes@cmpxchg.org\nCc: tj@kernel.org\nCc: akpm@linux-foundation.org\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nLKML-Reference: \u003c1257849980-22640-7-git-send-email-fujita.tomonori@lab.ntt.co.jp\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\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": "6c21a7fb492bf7e2c4985937082ce58ddeca84bd",
      "tree": "6cfe11ba4b8eee26ee8b02d2b4a5fcc6ea07e4bd",
      "parents": [
        "6e8e16c7bc298d7887584c3d027e05db3e86eed9"
      ],
      "author": {
        "name": "Mimi Zohar",
        "email": "zohar@linux.vnet.ibm.com",
        "time": "Thu Oct 22 17:30:13 2009 -0400"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Sun Oct 25 12:22:48 2009 +0800"
      },
      "message": "LSM: imbed ima calls in the security hooks\n\nBased on discussions on LKML and LSM, where there are consecutive\nsecurity_ and ima_ calls in the vfs layer, move the ima_ calls to\nthe existing security_ hooks.\n\nSigned-off-by: Mimi Zohar \u003czohar@us.ibm.com\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.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"
    }
  ],
  "next": "3d2d827f5ca5e32816194119d5c980c7e04474a6"
}
