)]}'
{
  "log": [
    {
      "commit": "86bc843a268058df558844b6bf64531617fbc698",
      "tree": "159a320d16495b1328aa6c7822ebbb79c5375da7",
      "parents": [
        "cfd95a9cf58cd9e92d4c23b5ee20b07a3d121477"
      ],
      "author": {
        "name": "Sergey Vlasov",
        "email": "vsu@altlinux.ru",
        "time": "Mon Jun 12 21:53:23 2006 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 12 14:29:04 2006 -0700"
      },
      "message": "[PATCH] tmpfs: Decrement i_nlink correctly in shmem_rmdir()\n\nshmem_rmdir() must undo the increment of i_nlink done in\nshmem_get_inode() for directories, otherwise at least\nIN_DELETE_SELF inotify event generation is broken.\n\nSigned-off-by: Sergey Vlasov \u003cvsu@altlinux.ru\u003e\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "cfd95a9cf58cd9e92d4c23b5ee20b07a3d121477",
      "tree": "446977d54fcf1f9e3a5c3c2f6aea1f1b1ac2f806",
      "parents": [
        "5f856e8bdcf5936c9c13cb251dae770e6eeb06b6"
      ],
      "author": {
        "name": "Robin H. Johnson",
        "email": "robbat2@gentoo.org",
        "time": "Mon Jun 12 21:50:25 2006 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 12 13:55:52 2006 -0700"
      },
      "message": "[PATCH] tmpfs: time granularity fix for [acm]time going backwards\n\nI noticed a strange behavior in a tmpfs file system the other day, while\nbuilding packages - occasionally, and seemingly at random, make decided to\nrebuild a target. However, only on tmpfs.\n\nA file would be created, and if checked, it had a sub-second timestamp.\nHowever, after an utimes related call where sub-seconds should be set, they\nwere zeroed instead. In the case that a file was created, and utimes(...,NULL)\nwas used on it in the same second, the timestamp on the file moved backwards.\n\nAfter some digging, I found that this was being caused by tmpfs not having a\ntime granularity set, thus inheriting the default 1 second granularity.\n\nHugh adds: yes, we missed tmpfs when the s_time_gran mods went into 2.6.11.\nUnfortunately, the granularity of CURRENT_TIME, often used in filesystems,\ndoes not match the default granularity set by alloc_super.  A few more such\ndiscrepancies have been found, but this is the most important to fix now.\n\nSigned-off-by: Robin H. Johnson \u003crobbat2@gentoo.org\u003e\nAcked-by: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "c0bbbc73d58f1b774cd987b5687a478a027f137c",
      "tree": "b07538753116e6e4792e2a283318694e3cbbc614",
      "parents": [
        "650fb8382287f7990d5127a82a54295139224606"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Sun Jun 11 15:22:26 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jun 11 15:27:37 2006 -0700"
      },
      "message": "[PATCH] typo in vmscan.c\n\nFrom: Christoph Lameter \u003cclameter@sgi.com\u003e\n\nLooks like a comma was left from the conversion from a struct to an\nassignment.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "b1ab41c4943008375c149a63602d7407f61de5b2",
      "tree": "365413de6ebbfee39aa90c069b7be14a4b9a699e",
      "parents": [
        "b52a834892f17b6c54c34ab65f1fad1a9229e764"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jun 02 15:44:58 2006 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 02 11:21:10 2006 -0700"
      },
      "message": "[PATCH] slab.c: fix offslab_limit bug\n\nmm/slab.c\u0027s offlab_limit logic is totally broken.\n\nFirstly, \"offslab_limit\" is a global variable while it should either be\ncalculated in situ or should be passed in as a parameter.\n\nSecondly, the more serious problem with it is that the condition for\ncalculating it:\n\n               if (!(OFF_SLAB(sizes-\u003ecs_cachep))) {\n                       offslab_limit \u003d sizes-\u003ecs_size - sizeof(struct slab);\n                       offslab_limit /\u003d sizeof(kmem_bufctl_t);\n\nis in total disconnect with the condition that makes use of it:\n\n               /* More than offslab_limit objects will cause problems */\n               if ((flags \u0026 CFLGS_OFF_SLAB) \u0026\u0026 num \u003e offslab_limit)\n                       break;\n\nbut due to offslab_limit being a global variable this breakage was\nhidden.\n\nUp until lockdep came along and perturbed the slab sizes sufficiently so\nthat the first off-slab cache would still see a (non-calculated) zero\nvalue for offslab_limit and would panic with:\n\n  kmem_cache_create: couldn\u0027t create cache size-512.\n\n  Call Trace:\n   [\u003cffffffff8020a5b9\u003e] show_trace+0x96/0x1c8\n   [\u003cffffffff8020a8f0\u003e] dump_stack+0x13/0x15\n   [\u003cffffffff8022994f\u003e] panic+0x39/0x21a\n   [\u003cffffffff80270814\u003e] kmem_cache_create+0x5a0/0x5d0\n   [\u003cffffffff80aced62\u003e] kmem_cache_init+0x193/0x379\n   [\u003cffffffff80abf779\u003e] start_kernel+0x17f/0x218\n   [\u003cffffffff80abf263\u003e] _sinittext+0x263/0x26a\n\n  Kernel panic - not syncing: kmem_cache_create(): failed to create slab `size-512\u0027\n\nPaolo Ornati\u0027s config on x86_64 managed to trigger it.\n\nThe fix is to move the calculation to the place that makes use of it.\nThis also makes slab.o 54 bytes smaller.\n\nBtw., the check itself is quite silly. Its intention is to test whether\nthe number of objects per slab would be higher than the number of slab\ncontrol pointers possible. In theory it could be triggered: if someone\ntried to allocate 4-byte objects cache and explicitly requested with\nCFLGS_OFF_SLAB. So i kept the check.\n\nOut of historic interest i checked how old this bug was and it\u0027s\nancient, 10 years old! It is the oldest hidden and then truly triggering\nbugs i ever saw being fixed in the kernel!\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "25a6df952542ad9f284421b6ffe28f3eb3df1305",
      "tree": "8b0649ff83f5455fcca4f255bf2189a5cbf81fc8",
      "parents": [
        "308af9290ad1844c1b4e93ff4919f8009efbe018"
      ],
      "author": {
        "name": "Yasunori Goto",
        "email": "y-goto@jp.fujitsu.com",
        "time": "Tue May 30 21:25:42 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed May 31 16:27:10 2006 -0700"
      },
      "message": "[PATCH] spanned_pages is not updated at a case of memory hot-add\n\nFrom: Yasunori Goto \u003cy-goto@jp.fujitsu.com\u003e\n\nIf hot-added memory\u0027s address is smaller than old area, spanned_pages will\nnot be updated.  It must be fixed.\n\nexample) Old zone_start_pfn \u003d 0x60000, and spanned_pages \u003d 0x10000\n         Added new memory\u0027s start_pfn \u003d 0x50000, and end_pfn \u003d 0x60000\n\n  new spanned_pages will be still 0x10000 by old code.\n  (It should be updated to 0x20000.) Because old_zone_end_pfn will be\n  0x70000, and end_pfn smaller than it. So, spanned_pages will not be\n  updated.\n\nIn current code, spanned_pages is updated only when end_pfn is updated.\nBut, it should be updated by subtraction between bigger end_pfn and new\nzone_start_pfn.\n\nSigned-off-by: Yasunori Goto \u003cy-goto@jp.fujitsu.com\u003e\nSigned-off-by: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "e984bb43f7450312ba66fe0e67a99efa6be3b246",
      "tree": "54c86240172136fc81c773f71cd70eda54fed6f2",
      "parents": [
        "ae57a856429dd932c547530df1b234eb7e642297"
      ],
      "author": {
        "name": "Bob Picco",
        "email": "bob.picco@hp.com",
        "time": "Sat May 20 15:00:31 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun May 21 12:59:22 2006 -0700"
      },
      "message": "[PATCH] Align the node_mem_map endpoints to a MAX_ORDER boundary\n\nAndy added code to buddy allocator which does not require the zone\u0027s\nendpoints to be aligned to MAX_ORDER.  An issue is that the buddy allocator\nrequires the node_mem_map\u0027s endpoints to be MAX_ORDER aligned.  Otherwise\n__page_find_buddy could compute a buddy not in node_mem_map for partial\nMAX_ORDER regions at zone\u0027s endpoints.  page_is_buddy will detect that\nthese pages at endpoints are not PG_buddy (they were zeroed out by bootmem\nallocator and not part of zone).  Of course the negative here is we could\nwaste a little memory but the positive is eliminating all the old checks\nfor zone boundary conditions.\n\nSPARSEMEM won\u0027t encounter this issue because of MAX_ORDER size constraint\nwhen SPARSEMEM is configured.  ia64 VIRTUAL_MEM_MAP doesn\u0027t need the logic\neither because the holes and endpoints are handled differently.  This\nleaves checking alloc_remap and other arches which privately allocate for\nnode_mem_map.\n\nSigned-off-by: Bob Picco \u003cbob.picco@hp.com\u003e\nAcked-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nCc: Andy Whitcroft \u003capw@shadowen.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "bdd804f478a0cc74bf7db8e9f9d5fd379d1b31ca",
      "tree": "2b8f083b1ca698c0f9321b3714dab036d2531f29",
      "parents": [
        "593ee20766921fec643194dff829e17f30552220"
      ],
      "author": {
        "name": "Paul Jackson",
        "email": "pj@sgi.com",
        "time": "Sat May 20 15:00:09 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun May 21 12:59:18 2006 -0700"
      },
      "message": "[PATCH] Cpuset: might sleep checking zones allowed fix\n\nFix a couple of infrequently encountered \u0027sleeping function called from\ninvalid context\u0027 in the cpuset hooks in __alloc_pages.  Could sleep while\ninterrupts disabled.\n\nThe routine cpuset_zone_allowed() is called by code in mm/page_alloc.c\n__alloc_pages() to determine if a zone is allowed in the current tasks\ncpuset.  This routine can sleep, for certain GFP_KERNEL allocations, if the\nzone is on a memory node not allowed in the current cpuset, but might be\nallowed in a parent cpuset.\n\nBut we can\u0027t sleep in __alloc_pages() if in interrupt, nor if called for a\nGFP_ATOMIC request (__GFP_WAIT not set in gfp_flags).\n\nThe rule was intended to be:\n  Don\u0027t call cpuset_zone_allowed() if you can\u0027t sleep, unless you\n  pass in the __GFP_HARDWALL flag set in gfp_flag, which disables\n  the code that might scan up ancestor cpusets and sleep.\n\nThis rule was being violated in a couple of places, due to a bogus change\nmade (by myself, pj) to __alloc_pages() as part of the November 2005 effort\nto cleanup its logic, and also due to a later fix to constrain which swap\ndaemons were awoken.\n\nThe bogus change can be seen at:\n  http://linux.derkeiler.com/Mailing-Lists/Kernel/2005-11/4691.html\n  [PATCH 01/05] mm fix __alloc_pages cpuset ALLOC_* flags\n\nThis was first noticed on a tight memory system, in code that was disabling\ninterrupts and doing allocation requests with __GFP_WAIT not set, which\nresulted in __might_sleep() writing complaints to the log \"Debug: sleeping\nfunction called ...\", when the code in cpuset_zone_allowed() tried to take\nthe callback_sem cpuset semaphore.\n\nWe haven\u0027t seen a system hang on this \u0027might_sleep\u0027 yet, but we are at\ndecent risk of seeing it fairly soon, especially since the additional\ncpuset_zone_allowed() check was added, conditioning wakeup_kswapd(), in\nMarch 2006.\n\nSpecial thanks to Dave Chinner, for figuring this out, and a tip of the hat\nto Nick Piggin who warned me of this back in Nov 2005, before I was ready\nto listen.\n\nSigned-off-by: Paul Jackson \u003cpj@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "12783b002db1f02c29353c8f698a85514420b9f4",
      "tree": "d0cec6913308fb34d539192dd0928cd0d7aae714",
      "parents": [
        "ad8f5797302ed389476debcc51b4630f387618b9"
      ],
      "author": {
        "name": "Mike Kravetz",
        "email": "kravetz@us.ibm.com",
        "time": "Sat May 20 15:00:05 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun May 21 12:59:17 2006 -0700"
      },
      "message": "[PATCH] SPARSEMEM incorrectly calculates section number\n\nA bad calculation/loop in __section_nr() could result in incorrect section\ninformation being put into sysfs memory entries.  This primarily impacts\nmemory add operations as the sysfs information is used while onlining new\nmemory.\n\nFix suggested by Dave Hansen.\n\nNote that the bug may not be obvious from the patch.  It actually occurs in\nthe function\u0027s return statement:\n\n\treturn (root_nr * SECTIONS_PER_ROOT) + (ms - root);\n\nIn the existing code, root_nr has already been multiplied by\nSECTIONS_PER_ROOT.\n\nSigned-off-by: Mike Kravetz \u003ckravetz@us.ibm.com\u003e\nCc: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nCc: Andy Whitcroft \u003capw@shadowen.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "a4523a8b38089478f93bc053c31f678c63f5ee1b",
      "tree": "96f828650d2234aac76fe39ea38b7c7250c49349",
      "parents": [
        "40e59a61669a3cab9e0bd24644e29155d6b00970"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "rdreier@cisco.com",
        "time": "Mon May 15 11:41:00 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue May 16 07:59:32 2006 -0700"
      },
      "message": "[PATCH] slab: Fix kmem_cache_destroy() on NUMA\n\nWith CONFIG_NUMA set, kmem_cache_destroy() may fail and say \"Can\u0027t\nfree all objects.\"  The problem is caused by sequences such as the\nfollowing (suppose we are on a NUMA machine with two nodes, 0 and 1):\n\n * Allocate an object from cache on node 0.\n * Free the object on node 1.  The object is put into node 1\u0027s alien\n   array_cache for node 0.\n * Call kmem_cache_destroy(), which ultimately ends up in __cache_shrink().\n * __cache_shrink() does drain_cpu_caches(), which loops through all nodes.\n   For each node it drains the shared array_cache and then handles the\n   alien array_cache for the other node.\n\nHowever this means that node 0\u0027s shared array_cache will be drained,\nand then node 1 will move the contents of its alien[0] array_cache\ninto that same shared array_cache.  node 0\u0027s shared array_cache is\nnever looked at again, so the objects left there will appear to be in\nuse when __cache_shrink() calls __node_shrink() for node 0.  So\n__node_shrink() will return 1 and kmem_cache_destroy() will fail.\n\nThis patch fixes this by having drain_cpu_caches() do\ndrain_alien_cache() on every node before it does drain_array() on the\nnodes\u0027 shared array_caches.\n\nThe problem was originally reported by Or Gerlitz \u003cogerlitz@voltaire.com\u003e.\n\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\nAcked-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nAcked-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "39d24e64263cd3211705d3b61ea4171c65030921",
      "tree": "b527b1395b070180b7f930c0a89530f11bce7b3c",
      "parents": [
        "48564e628bd7662d7a0b3ac81c41cd0e4cc36dae"
      ],
      "author": {
        "name": "Mike Kravetz",
        "email": "kravetz@us.ibm.com",
        "time": "Mon May 15 09:44:13 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon May 15 11:20:56 2006 -0700"
      },
      "message": "[PATCH] add slab_is_available() routine for boot code\n\nslab_is_available() indicates slab based allocators are available for use.\nSPARSEMEM code needs to know this as it can be called at various times\nduring the boot process.\n\nSigned-off-by: Mike Kravetz \u003ckravetz@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "ac924c6034d9095f95ee889f7e31bbb9145da0c2",
      "tree": "2db4fc64a008ff2b81a0faf381d8c21ccc5006b2",
      "parents": [
        "5afdbd6e84c7fbdaa7cfde4cbee0d3a5f4f56da2"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Mon May 15 09:43:59 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon May 15 11:20:55 2006 -0700"
      },
      "message": "[PATCH] setup_per_zone_pages_min() overflow fix\n\nAs pointed out in http://bugzilla.kernel.org/show_bug.cgi?id\u003d6490, this\nfunction can experience overflows on 32-bit machines, causing our response to\nchanged values of min_free_kbytes to go whacky.\n\nFixing it efficiently is all too hard, so fix it with 64-bit math instead.\n\nCc: Ake Sandgren \u003cake.sandgren@hpc2n.umu.se\u003e\nCc: Martin Bligh \u003cmbligh@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "bed120c64eb07b6838bb758109811484af8cebba",
      "tree": "884231ab38d01a2b19c6d062f5230ea8b9f5ecb3",
      "parents": [
        "46a66eecdf7bc12562ecb492297447ed0e1ecf59"
      ],
      "author": {
        "name": "Joel H Schopp",
        "email": "jschopp@us.ibm.com",
        "time": "Mon May 01 12:16:11 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon May 01 18:17:46 2006 -0700"
      },
      "message": "[PATCH] spufs: fix for CONFIG_NUMA\n\nBased on an older patch from  Mike Kravetz \u003ckravetz@us.ibm.com\u003e\n\nWe need to have a mem_map for high addresses in order to make fops-\u003eno_page\nwork on spufs mem and register files.  So far, we have used the\nmemory_present() function during early bootup, but that did not work when\nCONFIG_NUMA was enabled.\n\nWe now use the __add_pages() function to add the mem_map when loading the\nspufs module, which is a lot nicer.\n\nSigned-off-by: Arnd Bergmann \u003carnd.bergmann@de.ibm.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "46a66eecdf7bc12562ecb492297447ed0e1ecf59",
      "tree": "b758b51763c2365130a2a58547fa0bc30d71cdc8",
      "parents": [
        "2c43630fb0ff3f01c29367248ffa4a851e2c9b34"
      ],
      "author": {
        "name": "Mike Kravetz",
        "email": "mjkravetz@verizon.net",
        "time": "Mon May 01 12:16:09 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon May 01 18:17:46 2006 -0700"
      },
      "message": "[PATCH] sparsemem interaction with memory add bug fixes\n\nThis patch fixes two bugs with the way sparsemem interacts with memory add.\nThey are:\n\n- memory leak if memmap for section already exists\n\n- calling alloc_bootmem_node() after boot\n\nThese bugs were discovered and a first cut at the fixes were provided by\nArnd Bergmann \u003carnd@arndb.de\u003e and Joel Schopp \u003cjschopp@us.ibm.com\u003e.\n\nSigned-off-by: Mike Kravetz \u003ckravetz@us.ibm.com\u003e\nSigned-off-by: Joel Schopp \u003cjschopp@austin.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "4c28f81193b6778f7b49090930d88e6d12bcb928",
      "tree": "5e0d83368e7282060b8de5e73f13eb6003e99391",
      "parents": [
        "a4b741e380cb56045ccea36f2dbc10e42af21f24"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Mon May 01 12:16:08 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon May 01 18:17:45 2006 -0700"
      },
      "message": "[PATCH] page migration: Fix fallback behavior for dirty pages\n\nCurrently we check PageDirty() in order to make the decision to swap out\nthe page.  However, the dirty information may be only be contained in the\nptes pointing to the page.  We need to first unmap the ptes before checking\nfor PageDirty().  If unmap is successful then the page count of the page\nwill also be decreased so that pageout() works properly.\n\nThis is a fix necessary for 2.6.17.  Without this fix we may migrate dirty\npages for filesystems without migration functions.  Filesystems may keep\npointers to dirty pages.  Migration of dirty pages can result in the\nfilesystem keeping pointers to freed pages.\n\nUnmapping is currently not be separated out from removing all the\nreferences to a page and moving the mapping.  Therefore try_to_unmap will\nbe called again in migrate_page() if the writeout is successful.  However,\nit wont do anything since the ptes are already removed.\n\nThe coming updates to the page migration code will restructure the code\nso that this is no longer necessary.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "693f7d362055261882659475d2ef022e32edbff1",
      "tree": "c363d0ededf3ede77f7f35130931f5fc34ca0e30",
      "parents": [
        "4de0b1ee1b630318553248c4cfc78358720a5c84"
      ],
      "author": {
        "name": "shin, jacob",
        "email": "jacob.shin@amd.com",
        "time": "Fri Apr 28 10:54:37 2006 -0500"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Apr 28 09:00:35 2006 -0700"
      },
      "message": "[PATCH] slab: fix crash on __drain_alien_cahce() during CPU Hotplug\n\ntransfer_objects should only be called when all of the cpus in the\nnode are online.  CPU_DEAD notifier callback marks l3-\u003eshared to NULL.\n\nSigned-off-by: Jacob Shin \u003cjacob.shin@amd.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "ebf43500ef148a380bd132743c3fc530111ac620",
      "tree": "01ddb60f5662cf92b96b0468bf9820518a611209",
      "parents": [
        "eb645a24de82496434cc81171d7f350edb327399"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Thu Apr 27 08:46:01 2006 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@nelson.home.kernel.dk",
        "time": "Thu Apr 27 08:59:48 2006 +0200"
      },
      "message": "[PATCH] Add find_get_pages_contig(): contiguous variant of find_get_pages()\n\nfind_get_pages_contig() will break out if we hit a hole in the page cache.\nFrom Andrew Morton, small modifications and documentation by me.\n\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\n"
    },
    {
      "commit": "83d722f7e198b034699b1500d98729beff930efd",
      "tree": "7d790a2fd62165373ec7bacde704837288e0bec3",
      "parents": [
        "649bbaa484bcdce94f40a1b97a6a2ded0549e8a2"
      ],
      "author": {
        "name": "Chandra Seetharaman",
        "email": "sekharan@us.ibm.com",
        "time": "Mon Apr 24 19:35:21 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Apr 26 08:30:03 2006 -0700"
      },
      "message": "[PATCH] Remove __devinit and __cpuinit from notifier_call definitions\n\nFew of the notifier_chain_register() callers use __init in the definition\nof notifier_call.  It is incorrect as the function definition should be\navailable after the initializations (they do not unregister them during\ninitializations).\n\nThis patch fixes all such usages to _not_ have the notifier_call __init\nsection.\n\nSigned-off-by: Chandra Seetharaman \u003csekharan@us.ibm.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "304dbdb7a4fbb7f40a6ad5c5836fdd456c233c63",
      "tree": "2bdd71bb0ab19422362e9d3999f975ae27206965",
      "parents": [
        "3b5fd59fdd2e656dd4d10f2cedb41a7519b131b2"
      ],
      "author": {
        "name": "Lee Schermerhorn",
        "email": "Lee.Schermerhorn@hp.com",
        "time": "Sat Apr 22 02:35:48 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Apr 22 09:19:52 2006 -0700"
      },
      "message": "[PATCH] add migratepage address space op to shmem\n\nBasic problem: pages of a shared memory segment can only be migrated once.\n\nIn 2.6.16 through 2.6.17-rc1, shared memory mappings do not have a\nmigratepage address space op.  Therefore, migrate_pages() falls back to\ndefault processing.  In this path, it will try to pageout() dirty pages.\nOnce a shared memory page has been migrated it becomes dirty, so\nmigrate_pages() will try to page it out.  However, because the page count\nis 3 [cache + current + pte], pageout() will return PAGE_KEEP because\nis_page_cache_freeable() returns false.  This will abort all subsequent\nmigrations.\n\nThis patch adds a migratepage address space op to shared memory segments to\navoid taking the default path.  We use the \"migrate_page()\" function\nbecause it knows how to migrate dirty pages.  This allows shared memory\nsegment pages to migrate, subject to other conditions such as # pte\u0027s\nreferencing the page [page_mapcount(page)], when requested.\n\nI think this is safe.  If we\u0027re migrating a shared memory page, then we\nfound the page via a page table, so it must be in memory.\n\nCan be verified with memtoy and the shmem-mbind-test script, both\navailable at:  http://free.linux.hp.com/~lts/Tools/\n\nSigned-off-by: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nAcked-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "6d472be37896b1c41b50f3da124f8b7718ba7797",
      "tree": "c01adec9db3c85b48e337189b4fdc1f7e6f23733",
      "parents": [
        "4409ebe9afabe7db77eaaae9eb3eb05b8315ce4a"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Thu Apr 20 02:43:12 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Apr 20 07:54:03 2006 -0700"
      },
      "message": "[PATCH] Remove cond_resched in gather_stats()\n\ngather_stats() is called with a spinlock held from check_pte_range.  We\ncannot reschedule with a lock held.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "6aa3001b239b387d98a7f945e4a51edeb59e4f2d",
      "tree": "df3901329baddd8c37a661ad595fa52821dee8ef",
      "parents": [
        "013159227b840dfd441bd2e4c8b4d77ffb3cc42e"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Tue Apr 18 22:20:52 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Apr 19 09:13:50 2006 -0700"
      },
      "message": "[PATCH] page_alloc.c: buddy handling cleanup\n\nFix up some whitespace damage.\n\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "013159227b840dfd441bd2e4c8b4d77ffb3cc42e",
      "tree": "15bd8349b4a105efc75c77dcd0c1a579ecd87ab4",
      "parents": [
        "97c2c9b84d0c1edf4926b13661d5af3f0edccbce"
      ],
      "author": {
        "name": "Dave Peterson",
        "email": "dsp@llnl.gov",
        "time": "Tue Apr 18 22:20:44 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Apr 19 09:13:50 2006 -0700"
      },
      "message": "[PATCH] mm: fix mm_struct reference counting bugs in mm/oom_kill.c\n\nFix oom_kill_task() so it doesn\u0027t call mmput() (which may sleep) while\nholding tasklist_lock.\n\nSigned-off-by: David S. Peterson \u003cdsp@llnl.gov\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "97c2c9b84d0c1edf4926b13661d5af3f0edccbce",
      "tree": "bc986808cd7b5a8219a0c40ca9fdfc40524883e4",
      "parents": [
        "75129e297e861e6c61038aa4cdbf604b022de4ff"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Tue Apr 18 22:20:38 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Apr 19 09:13:49 2006 -0700"
      },
      "message": "[PATCH] oom-kill: mm locking fix\n\nDave Peterson \u003cdsp@llnl.gov\u003e points out that badness() is playing with\nmm_structs without taking a reference on them.\n\nmmput() can sleep, so taking a reference here (inside tasklist_lock) is\nhard.  Fix it up via task_lock() instead.\n\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "75129e297e861e6c61038aa4cdbf604b022de4ff",
      "tree": "48392ab6ae43547ae2d81a312eb22708af0dc515",
      "parents": [
        "4a3b98a422a20dedf3a2a40c44892d6e7e665157"
      ],
      "author": {
        "name": "John Hawkes",
        "email": "hawkes@sgi.com",
        "time": "Tue Apr 18 22:20:33 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Apr 19 09:13:49 2006 -0700"
      },
      "message": "[PATCH] mm/slob.c: for_each_possible_cpu(), not NR_CPUS\n\nConvert for-loops that explicitly reference \"NR_CPUS\" into the\npotentially more efficient for_each_possible_cpu() construct.\n\nSigned-off-by: John Hawkes \u003chawkes@sgi.com\u003e\nCc: Matt Mackall \u003cmpm@selenic.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "69cf0fac6052c5bd3fb3469a41d4216e926028f8",
      "tree": "f403d0731549835fbf406fa4cd0910d9aec1d953",
      "parents": [
        "e14d95f773b7365b6ba2d2105522c92b007c6db1"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Mon Apr 17 22:46:32 2006 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Apr 17 18:22:18 2006 -0700"
      },
      "message": "[PATCH] Fix MADV_REMOVE protection checking\n\nmadvise_remove needs to respect file and mmap protections.\n\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\n[ Will the real CVE-2006-1524 stand up, please.. ]\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "fd5403c79bc21819f6e0c40ba098cea8b6a418bd",
      "tree": "d63e61d010e79c82042defef4ba983b759240d2d",
      "parents": [
        "7551d9a20b3cfbac9f8a28b7d909c4b15a94924f"
      ],
      "author": {
        "name": "Coywolf Qi Hunt",
        "email": "coywolf@gmail.com",
        "time": "Mon Apr 10 22:54:35 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Apr 11 06:18:46 2006 -0700"
      },
      "message": "[PATCH] page-writeback comment fixes\n\nSigned-off-by: Coywolf Qi Hunt \u003cqiyong@fc-cn.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "64a3ca5f7ec2606b03be4a65736164a5373732ed",
      "tree": "a65c1ee2eab32e0ad9571dc5553544ad36d74d77",
      "parents": [
        "91fc8ab3c6312931d64c72845ee2f93a0f87f1a5"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Mon Apr 10 22:53:03 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Apr 11 06:18:33 2006 -0700"
      },
      "message": "[PATCH] mm/migrate.c: don\u0027t export a static function\n\nEXPORT_SYMBOL\u0027ing of a static function is not a good idea.\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nCc: Christoph Lameter \u003cclameter@engr.sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "d5ddc79bcaab6975e7671805c3578407dc33b764",
      "tree": "de29b6d1c43fa6f5a1aca52ad6c2cc6027edc1fc",
      "parents": [
        "6d9f78396583244258080f3369889644c06c37c8"
      ],
      "author": {
        "name": "Hideo AOKI",
        "email": "haoki@redhat.com",
        "time": "Mon Apr 10 22:53:01 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Apr 11 06:18:32 2006 -0700"
      },
      "message": "[PATCH] overcommit: use totalreserve_pages for nommu\n\nThis patch is an enhancement of OVERCOMMIT_GUESS algorithm in\n__vm_enough_memory() in mm/nommu.c.\n\nWhen the OVERCOMMIT_GUESS algorithm calculates the number of free pages,\nthe algorithm subtracts the number of reserved pages from the result\nnr_free_pages().\n\nSigned-off-by: Hideo Aoki \u003chaoki@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "6d9f78396583244258080f3369889644c06c37c8",
      "tree": "645f5e8630bc57e3a8f5653dc941fc0232b5e98b",
      "parents": [
        "cb45b0e966cbe747b6189c15b108901cc7d6c97c"
      ],
      "author": {
        "name": "Hideo AOKI",
        "email": "haoki@redhat.com",
        "time": "Mon Apr 10 22:53:00 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Apr 11 06:18:32 2006 -0700"
      },
      "message": "[PATCH] overcommit: use totalreserve_pages\n\nThis patch is an enhancement of OVERCOMMIT_GUESS algorithm in\n__vm_enough_memory() in mm/mmap.c.\n\nWhen the OVERCOMMIT_GUESS algorithm calculates the number of free pages,\nthe algorithm subtracts the number of reserved pages from the result\nnr_free_pages().\n\nSigned-off-by: Hideo Aoki \u003chaoki@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "cb45b0e966cbe747b6189c15b108901cc7d6c97c",
      "tree": "0402d4809ec175e80b083f7a713ec32c0109baad",
      "parents": [
        "e23ca00bf1b1c6c0f04702cb4d29e275ab8dc330"
      ],
      "author": {
        "name": "Hideo AOKI",
        "email": "haoki@redhat.com",
        "time": "Mon Apr 10 22:52:59 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Apr 11 06:18:32 2006 -0700"
      },
      "message": "[PATCH] overcommit: add calculate_totalreserve_pages()\n\nThese patches are an enhancement of OVERCOMMIT_GUESS algorithm in\n__vm_enough_memory().\n\n- why the kernel needed patching\n\n  When the kernel can\u0027t allocate anonymous pages in practice, currnet\n  OVERCOMMIT_GUESS could return success. This implementation might be\n  the cause of oom kill in memory pressure situation.\n\n  If the Linux runs with page reservation features like\n  /proc/sys/vm/lowmem_reserve_ratio and without swap region, I think\n  the oom kill occurs easily.\n\n- the overall design approach in the patch\n\n  When the OVERCOMMET_GUESS algorithm calculates number of free pages,\n  the reserved free pages are regarded as non-free pages.\n\n  This change helps to avoid the pitfall that the number of free pages\n  become less than the number which the kernel tries to keep free.\n\n- testing results\n\n  I tested the patches using my test kernel module.\n\n  If the patches aren\u0027t applied to the kernel, __vm_enough_memory()\n  returns success in the situation but autual page allocation is\n  failed.\n\n  On the other hand, if the patches are applied to the kernel, memory\n  allocation failure is avoided since __vm_enough_memory() returns\n  failure in the situation.\n\n  I checked that on i386 SMP 16GB memory machine. I haven\u0027t tested on\n  nommu environment currently.\n\nThis patch adds totalreserve_pages for __vm_enough_memory().\n\nCalculate_totalreserve_pages() checks maximum lowmem_reserve pages and\npages_high in each zone. Finally, the function stores the sum of each\nzone to totalreserve_pages.\n\nThe totalreserve_pages is calculated when the VM is initilized.\nAnd the variable is updated when /proc/sys/vm/lowmem_reserve_raito\nor /proc/sys/vm/min_free_kbytes are changed.\n\nSigned-off-by: Hideo Aoki \u003chaoki@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "e23ca00bf1b1c6c0f04702cb4d29e275ab8dc330",
      "tree": "3cf690fc3305a9af03f42aa25808b713efb53c27",
      "parents": [
        "1e624196f43c3a62122959e15c5f03572cdadb5d"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Mon Apr 10 22:52:57 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Apr 11 06:18:32 2006 -0700"
      },
      "message": "[PATCH] Some page migration fixups\n\n- Remove sparse comment\n\n- Remove duplicated include\n\n- Return the correct error condition in migrate_page_remove_references().\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1e624196f43c3a62122959e15c5f03572cdadb5d",
      "tree": "4196ccebe125c17dabc011422c6ff251835d1933",
      "parents": [
        "d6fef9da19b7acd46e04b7dbbba726b3febeca94"
      ],
      "author": {
        "name": "Ram Gupta",
        "email": "ram.gupta5@gmail.com",
        "time": "Mon Apr 10 22:52:57 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Apr 11 06:18:32 2006 -0700"
      },
      "message": "[PATCH] mm: fix bug in brk()\n\nThe code checks for newbrk with oldbrk which are page aligned before making\na check for the memory limit set of data segment.  If the memory limit is\nnot page aligned in that case it bypasses the test for the limit if the\nmemory allocation is still for the same page.\n\nSigned-off-by: Ram Gupta \u003cram.gupta5@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "d6fef9da19b7acd46e04b7dbbba726b3febeca94",
      "tree": "bcbacfc4edc18a6c3e266717f3928ff9c5167002",
      "parents": [
        "fb7faf3313d527bf68ba2e7ff3a2b6ebf201af73"
      ],
      "author": {
        "name": "Luke Yang",
        "email": "luke.adi@gmail.com",
        "time": "Mon Apr 10 22:52:56 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Apr 11 06:18:32 2006 -0700"
      },
      "message": "[PATCH] nommu: use compound page in slab allocator\n\nThe earlier patch to consolidate mmu and nommu page allocation and\nrefcounting by using compound pages for nommu allocations had a bug:\nkmalloc slabs who\u0027s pages were initially allocated by a non-__GFP_COMP\nallocator could be passed into mm/nommu.c kmalloc allocations which really\nwanted __GFP_COMP underlying pages.  Fix that by having nommu pass\n__GFP_COMP to all higher order slab allocations.\n\nSigned-off-by: Luke Yang \u003cluke.adi@gmail.com\u003e\nAcked-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "fb7faf3313d527bf68ba2e7ff3a2b6ebf201af73",
      "tree": "ca4884d9fb0312eb19480b8319f2e01633298eda",
      "parents": [
        "5b74ada7eea1b0064d2b72384827853f349d803a"
      ],
      "author": {
        "name": "Ravikiran G Thirumalai",
        "email": "kiran@scalex86.org",
        "time": "Mon Apr 10 22:52:54 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Apr 11 06:18:31 2006 -0700"
      },
      "message": "[PATCH] slab: add statistics for alien cache overflows\n\nAdd a statistics counter which is incremented everytime the alien cache\noverflows.  alien_cache limit is hardcoded to 12 right now.  We can use\nthis statistics to tune alien cache if needed in the future.\n\nSigned-off-by: Alok N Kataria \u003calokk@calsoftinc.com\u003e\nSigned-off-by: Ravikiran Thirumalai \u003ckiran@scalex86.org\u003e\nSigned-off-by: Shai Fultheim \u003cshai@scalex86.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "5b74ada7eea1b0064d2b72384827853f349d803a",
      "tree": "8f2909f8fefc1ed4436b918d9813159e96e4792d",
      "parents": [
        "a283a52520569195c2d26d75455cddab758f530b"
      ],
      "author": {
        "name": "Ravikiran G Thirumalai",
        "email": "kiran@scalex86.org",
        "time": "Mon Apr 10 22:52:53 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Apr 11 06:18:31 2006 -0700"
      },
      "message": "[PATCH] slab: allocate node local memory for off-slab slabmanagement\n\nAllocate off-slab slab descriptors from node local memory.\n\nSigned-off-by: Alok N Kataria \u003calokk@calsoftinc.com\u003e\nSigned-off-by: Ravikiran Thirumalai \u003ckiran@scalex86.org\u003e\nSigned-off-by: Shai Fultheim \u003cshai@scalex86.org\u003e\nAcked-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "676165a8af7167f488abdcce6851a9bc36e83254",
      "tree": "a9b2b8dc155b48ce073b5ada31f2ac0694118e69",
      "parents": [
        "c3a9d6541f84ac3ff566982d08389b87c1c36b4e"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "piggin@cyberone.com.au",
        "time": "Mon Apr 10 11:21:48 2006 +1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Apr 10 10:16:37 2006 -0700"
      },
      "message": "[PATCH] Fix buddy list race that could lead to page lru list corruptions\n\nRohit found an obscure bug causing buddy list corruption.\n\npage_is_buddy is using a non-atomic test (PagePrivate \u0026\u0026 page_count \u003d\u003d 0)\nto determine whether or not a free page\u0027s buddy is itself free and in the\nbuddy lists.\n\nEach of the conjuncts may be true at different times due to unrelated\nconditions, so the non-atomic page_is_buddy test may find each conjunct to\nbe true even if they were not both true at the same time (ie. the page was\nnot on the buddy lists).\n\nSigned-off-by: Martin Bligh \u003cmbligh@google.com\u003e\nSigned-off-by: Rohit Seth \u003crohitseth@google.com\u003e\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "a8062231d80239cf3405982858c02aea21a6066a",
      "tree": "0576493fa99cda91069fe3b67c19bd024858e69e",
      "parents": [
        "68a3a7feb08f960095072f28ec20f7900793c506"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@suse.de",
        "time": "Fri Apr 07 19:49:21 2006 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Apr 09 11:53:16 2006 -0700"
      },
      "message": "[PATCH] x86_64: Handle empty PXMs that only contain hotplug memory\n\nThe node setup code would try to allocate the node metadata in the node\nitself, but that fails if there is no memory in there.\n\nThis can happen with memory hotplug when the hotplug area defines an so\nfar empty node.\n\nNow use bootmem to try to allocate the mem_map in other nodes.\n\nAnd if it fails don\u0027t panic, but just ignore the node.\n\nTo make this work I added a new __alloc_bootmem_nopanic function that\ndoes what its name implies.\n\nTBD should try to use nearby nodes here.  Currently we just use any.\nIt\u0027s hard to do it better because bootmem doesn\u0027t have proper fallback\nlists yet.\n\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "a580290c3e64bb695158a090d02d1232d9609311",
      "tree": "70f29239b9a206a9afb77ddff35fc47b5b248866",
      "parents": [
        "5d9428de1a9785f10a4339f80b717be665ba51c7"
      ],
      "author": {
        "name": "Martin Waitz",
        "email": "tali@admingilde.org",
        "time": "Sun Apr 02 13:59:55 2006 +0200"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Sun Apr 02 13:59:55 2006 +0200"
      },
      "message": "Documentation: fix minor kernel-doc warnings\n\nThis patch updates the comments to match the actual code.\n\nSigned-off-by: Martin Waitz \u003ctali@admingilde.org\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\n"
    },
    {
      "commit": "40094fa65238291d51839326320aba997092ab1f",
      "tree": "37cb650caea9290dbecc27ab5732cd95f5e460d0",
      "parents": [
        "75babcacede876608f14ef1a20e795ce17ae637f"
      ],
      "author": {
        "name": "Eric Sesterhenn",
        "email": "snakebyte@gmx.de",
        "time": "Sun Apr 02 13:49:25 2006 +0200"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Sun Apr 02 13:49:25 2006 +0200"
      },
      "message": "BUG_ON() Conversion in mm/slab.c\n\nthis changes if() BUG(); constructs to BUG_ON() which is\ncleaner, contains unlikely() and can better optimized away.\n\nSigned-off-by: Eric Sesterhenn \u003csnakebyte@gmx.de\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\n"
    },
    {
      "commit": "75babcacede876608f14ef1a20e795ce17ae637f",
      "tree": "6e81e826ceb3d91662c431ff8c699e95782e207c",
      "parents": [
        "9f31252cb61d5bc641cdef8a069a2ca5a77855f2"
      ],
      "author": {
        "name": "Eric Sesterhenn",
        "email": "snakebyte@gmx.de",
        "time": "Sun Apr 02 13:47:35 2006 +0200"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Sun Apr 02 13:47:35 2006 +0200"
      },
      "message": "BUG_ON() Conversion in mm/highmem.c\n\nthis changes if() BUG(); constructs to BUG_ON() which is\ncleaner, contains unlikely() and can better optimized away.\n\nSigned-off-by: Eric Sesterhenn \u003csnakebyte@gmx.de\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\n"
    },
    {
      "commit": "5aae277ed67b0271235d3a50908bb48b0e59be26",
      "tree": "b800b163796522788c9c0bc9c8682c5b8c790455",
      "parents": [
        "e74ca2b49b8a38e9ba0bc039a00498c21140f1d6"
      ],
      "author": {
        "name": "Eric Sesterhenn",
        "email": "snakebyte@gmx.de",
        "time": "Sat Apr 01 01:26:09 2006 +0200"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Sat Apr 01 01:26:09 2006 +0200"
      },
      "message": "BUG_ON() Conversion in mm/vmalloc.c\n\nthis changes if() BUG(); constructs to BUG_ON() which is\ncleaner, contains unlikely() and can better optimized away.\n\nSigned-off-by: Eric Sesterhenn \u003csnakebyte@gmx.de\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\n"
    },
    {
      "commit": "e74ca2b49b8a38e9ba0bc039a00498c21140f1d6",
      "tree": "6700884d9dea7d382d09abd9b79ea931390f3ccc",
      "parents": [
        "46a350ef9803a2526a128c55cdb27dd73b2ad966"
      ],
      "author": {
        "name": "Eric Sesterhenn",
        "email": "snakebyte@gmx.de",
        "time": "Sat Apr 01 01:25:12 2006 +0200"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Sat Apr 01 01:25:12 2006 +0200"
      },
      "message": "BUG_ON() Conversion in mm/swap_state.c\n\nthis changes if() BUG(); constructs to BUG_ON() which is\ncleaner, contains unlikely() and can better optimized away.\n\nSigned-off-by: Eric Sesterhenn \u003csnakebyte@gmx.de\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\n"
    },
    {
      "commit": "46a350ef9803a2526a128c55cdb27dd73b2ad966",
      "tree": "abd046a56c524965862f056e8edff0be629847cb",
      "parents": [
        "8abd8e298eb15e2c1b993df0634daf29e43e0aab"
      ],
      "author": {
        "name": "Eric Sesterhenn",
        "email": "snakebyte@gmx.de",
        "time": "Sat Apr 01 01:23:29 2006 +0200"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Sat Apr 01 01:23:29 2006 +0200"
      },
      "message": "BUG_ON() Conversion in mm/mmap.c\n\nthis changes if() BUG(); constructs to BUG_ON() which is\ncleaner, contains unlikely() and can better optimized away.\n\nSigned-off-by: Eric Sesterhenn \u003csnakebyte@gmx.de\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\n"
    },
    {
      "commit": "f79e2abb9bd452d97295f34376dedbec9686b986",
      "tree": "56b9998caa11983556e842fb9a8143d86d765fa3",
      "parents": [
        "d6dfd1310d3562698fd7c3c086f6c239f96394ac"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Fri Mar 31 02:30:42 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 31 12:18:54 2006 -0800"
      },
      "message": "[PATCH] sys_sync_file_range()\n\nRemove the recently-added LINUX_FADV_ASYNC_WRITE and LINUX_FADV_WRITE_WAIT\nfadvise() additions, do it in a new sys_sync_file_range() syscall instead.\nReasons:\n\n- It\u0027s more flexible.  Things which would require two or three syscalls with\n  fadvise() can be done in a single syscall.\n\n- Using fadvise() in this manner is something not covered by POSIX.\n\nThe patch wires up the syscall for x86.\n\nThe sycall is implemented in the new fs/sync.c.  The intention is that we can\nmove sys_fsync(), sys_fdatasync() and perhaps sys_sync() into there later.\n\nDocumentation for the syscall is in fs/sync.c.\n\nA test app (sync_file_range.c) is in\nhttp://www.zip.com.au/~akpm/linux/patches/stuff/ext3-tools.tar.gz.\n\nThe available-to-GPL-modules do_sync_file_range() is for knfsd: \"A COMMIT can\nsay NFS_DATA_SYNC or NFS_FILE_SYNC.  I can skip the -\u003efsync call for\nNFS_DATA_SYNC which is hopefully the more common.\"\n\nNote: the `async\u0027 writeout mode SYNC_FILE_RANGE_WRITE will turn synchronous if\nthe queue is congested.  This is trivial to fix: add a new flag bit, set\nwbc-\u003enonblocking.  But I\u0027m not sure that we want to expose implementation\ndetails down to that level.\n\nNote: it\u0027s notable that we can sync an fd which wasn\u0027t opened for writing.\nSame with fsync() and fdatasync()).\n\nNote: the code takes some care to handle attempts to sync file contents\noutside the 16TB offset on 32-bit machines.  It makes such attempts appear to\nsucceed, for best 32-bit/64-bit compatibility.  Perhaps it should make such\nrequests fail...\n\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: Michael Kerrisk \u003cmtk-manpages@gmx.net\u003e\nCc: Ulrich Drepper \u003cdrepper@redhat.com\u003e\nCc: Neil Brown \u003cneilb@cse.unsw.edu.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "9b41046cd0ee0a57f849d6e1363f7933e363cca9",
      "tree": "246820e9493770e071cb92a48e7f72d8b9c90a98",
      "parents": [
        "68eef3b4791572ecb70249c7fb145bb3742dd899"
      ],
      "author": {
        "name": "OGAWA Hirofumi",
        "email": "hirofumi@mail.parknet.co.jp",
        "time": "Fri Mar 31 02:30:33 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 31 12:18:53 2006 -0800"
      },
      "message": "[PATCH] Don\u0027t pass boot parameters to argv_init[]\n\nThe boot cmdline is parsed in parse_early_param() and\nparse_args(,unknown_bootoption).\n\nAnd __setup() is used in obsolete_checksetup().\n\n\tstart_kernel()\n\t\t-\u003e parse_args()\n\t\t\t-\u003e unknown_bootoption()\n\t\t\t\t-\u003e obsolete_checksetup()\n\nIf __setup()\u0027s callback (-\u003esetup_func()) returns 1 in\nobsolete_checksetup(), obsolete_checksetup() thinks a parameter was\nhandled.\n\nIf -\u003esetup_func() returns 0, obsolete_checksetup() tries other\n-\u003esetup_func().  If all -\u003esetup_func() that matched a parameter returns 0,\na parameter is seted to argv_init[].\n\nThen, when runing /sbin/init or init\u003dapp, argv_init[] is passed to the app.\nIf the app doesn\u0027t ignore those arguments, it will warning and exit.\n\nThis patch fixes a wrong usage of it, however fixes obvious one only.\n\nSigned-off-by: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "78c997a4be7d1ed3ff4c27f23d30a0185d39bcbf",
      "tree": "6ca625d590c7ec2e31acca3f2a1d28dce2e96332",
      "parents": [
        "d6692183ac1d8f4a4e4015f9ce9acc2514618e0b"
      ],
      "author": {
        "name": "Chen, Kenneth W",
        "email": "kenneth.w.chen@intel.com",
        "time": "Fri Mar 31 02:30:01 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 31 12:18:50 2006 -0800"
      },
      "message": "[PATCH] hugetlb: don\u0027t allow free hugetlb count fall below reserved count\n\nWith strict page reservation, I think kernel should enforce number of free\nhugetlb page don\u0027t fall below reserved count.  Currently it is possible in\nthe sysctl path.  Add proper check in sysctl to disallow that.\n\nSigned-off-by: Ken Chen \u003ckenneth.w.chen@intel.com\u003e\nCc: David Gibson \u003cdavid@gibson.dropbear.id.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "d6692183ac1d8f4a4e4015f9ce9acc2514618e0b",
      "tree": "15d930c84cc93df5bc53ed29290abd46c3135272",
      "parents": [
        "93fac7041f082297b93655a0e49f659cd7520e40"
      ],
      "author": {
        "name": "Chen, Kenneth W",
        "email": "kenneth.w.chen@intel.com",
        "time": "Fri Mar 31 02:29:57 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 31 12:18:49 2006 -0800"
      },
      "message": "[PATCH] fix extra page ref count in follow_hugetlb_page\n\ngit-commit: d5d4b0aa4e1430d73050babba999365593bdb9d2\n\"[PATCH] optimize follow_hugetlb_page\" breaks mlock on hugepage areas.\n\nI mis-interpret pages argument and made get_page() unconditional.  It\nshould only get a ref count when \"pages\" argument is non-null.\n\nCredit goes to Adam Litke who spotted the bug.\n\nSigned-off-by: Ken Chen \u003ckenneth.w.chen@intel.com\u003e\nAcked-by: Adam Litke \u003cagl@us.ibm.com\u003e\nCc: David Gibson \u003cdavid@gibson.dropbear.id.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "93fac7041f082297b93655a0e49f659cd7520e40",
      "tree": "2d8f295087377d4ac0ceea49dd67bb682b04c749",
      "parents": [
        "9bf9e89c3d147ca8cf9622d2d053684fba77a464"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Fri Mar 31 02:29:56 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 31 12:18:49 2006 -0800"
      },
      "message": "[PATCH] mm: schedule find_trylock_page() removal\n\nfind_trylock_page() is an odd interface in that it doesn\u0027t take a reference\nlike the others.  Now that XFS no longer uses it, and its last remaining\ncaller actually wants an elevated refcount, opencode that callsite and\nschedule find_trylock_page() for removal.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nAcked-by: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "7f927fcc2fd1575d01efb4b76665975007945690",
      "tree": "fbb84689600ea512d7b52f9fc46db2d7d8d7c1fd",
      "parents": [
        "ded23ac62776b4360d88e9b0330792d2c57fdfdf"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Tue Mar 28 01:56:53 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Mar 28 09:16:08 2006 -0800"
      },
      "message": "[PATCH] Typo fixes\n\nFix a lot of typos.  Eyeballed by jmc@ in OpenBSD.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "0a945022778f100115d0cb6234eb28fc1b15ccaf",
      "tree": "85df4b5f7dd8bf59557091379c59b23b09115bf6",
      "parents": [
        "631d6747e1d877a4baa924cb373b8b9511a53e5e"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Tue Mar 28 01:56:37 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Mar 28 09:16:05 2006 -0800"
      },
      "message": "[PATCH] for_each_possible_cpu: fixes for generic part\n\nreplaces for_each_cpu with for_each_possible_cpu().\n\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "95144c788dc01b6a0ff2c9c2222e37ffdab358b8",
      "tree": "9f7f186575bb717de39cedaf42bf02a94c11b664",
      "parents": [
        "ae0f15fb91274e67d78836d38c99ec363df33073"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Mon Mar 27 01:16:02 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Mar 27 08:44:48 2006 -0800"
      },
      "message": "[PATCH] uninline zone helpers\n\nHelper functions for for_each_online_pgdat/for_each_zone look too big to be\ninlined.  Speed of these helper macro itself is not very important.  (inner\nloops are tend to do more work than this)\n\nThis patch make helper function to be out-of-lined.\n\n\tinline\t\tout-of-line\n.text   005c0680        005bf6a0\n\n005c0680 - 005bf6a0 \u003d FE0 \u003d 4Kbytes.\n\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "ae0f15fb91274e67d78836d38c99ec363df33073",
      "tree": "bfaa065faf772c42e1875c9e5f4b000cf4b1d241",
      "parents": [
        "3571761fe49d960bb720c2308ffb9401f0a5e161"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Mon Mar 27 01:16:01 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Mar 27 08:44:48 2006 -0800"
      },
      "message": "[PATCH] for_each_online_pgdat: remove pgdat_list\n\nBy using for_each_online_pgdat(), pgdat_list is not necessary now.  This patch\nremoves it.\n\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "ec936fc563715a9e2b2e363eb060655b49529325",
      "tree": "72e77aefeeda3c6ff396f080a5c6a82f25d52bf0",
      "parents": [
        "679bc9fbb508a0aac9539b2de747eb5849feb428"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Mon Mar 27 01:15:59 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Mar 27 08:44:48 2006 -0800"
      },
      "message": "[PATCH] for_each_online_pgdat: renaming for_each_pgdat\n\nReplace for_each_pgdat() with for_each_online_pgdat().\n\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "679bc9fbb508a0aac9539b2de747eb5849feb428",
      "tree": "350b9d7d01eeb7e2401b5ade156ead1a635a4bba",
      "parents": [
        "8357f8695d58b50fbf2bd507b4b0fc2cd1e43bd6"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Mon Mar 27 01:15:58 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Mar 27 08:44:47 2006 -0800"
      },
      "message": "[PATCH] for_each_online_pgdat: for_each_bootmem\n\nAdd a list_head to bootmem_data_t and make bootmems use it.  bootmem list is\nsorted by node_boot_start.\n\nOnly nodes against which init_bootmem() is called are linked to the list.\n(i386 allocates bootmem only from one node(0) not from all online nodes.)\n\nA summary:\n 1. for_each_online_pgdat() traverses all *online* nodes.\n 2. alloc_bootmem() allocates memory only from initialized-for-bootmem nodes.\n\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "a0140c1d85637ee5f4ea7c78f066e3611a6a79dc",
      "tree": "7a52892e57ff7a97a3aabf920891b68ca8bf578a",
      "parents": [
        "0ecd702bcb924d5fb7f687e09986f688336ac896"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Mon Mar 27 01:15:55 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Mar 27 08:44:47 2006 -0800"
      },
      "message": "[PATCH] remove zone_mem_map\n\nThis patch removes zone_mem_map.\n\npfn_to_page uses pgdat, page_to_pfn uses zone.  page_to_pfn can use pgdat\ninstead of zone, which is only one user of zone_mem_map.  By modifing it,\nwe can remove zone_mem_map.\n\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nCc: Christoph Lameter \u003cchristoph@lameter.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "a117e66ed45ac0569c039ea60bd7a9a61e031858",
      "tree": "292367ab930f83c418c34d4c46f95717e5e6394e",
      "parents": [
        "b06be912a3ad68c69dba0ed6e92723140020e392"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Mon Mar 27 01:15:25 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Mar 27 08:44:44 2006 -0800"
      },
      "message": "[PATCH] unify pfn_to_page: generic functions\n\nThere are 3 memory models, FLATMEM, DISCONTIGMEM, SPARSEMEM.\nEach arch has its own page_to_pfn(), pfn_to_page() for each models.\nBut most of them can use the same arithmetic.\n\nThis patch adds asm-generic/memory_model.h, which includes generic\npage_to_pfn(), pfn_to_page() definitions for each memory model.\n\nWhen CONFIG_OUT_OF_LINE_PFN_TO_PAGE\u003dy, out-of-line functions are\nused instead of macro. This is enabled by some archs and  reduces\ntext size.\n\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: Andi Kleen \u003cak@muc.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Richard Henderson \u003crth@twiddle.net\u003e\nCc: Ivan Kokshaysky \u003cink@jurassic.park.msu.ru\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nCc: Ian Molton \u003cspyro@f2s.com\u003e\nCc: Mikael Starvik \u003cstarvik@axis.com\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Yoshinori Sato \u003cysato@users.sourceforge.jp\u003e\nCc: Hirokazu Takata \u003ctakata.hirokazu@renesas.com\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: Kyle McMartin \u003ckyle@mcmartin.ca\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nCc: Kazumoto Kojima \u003ckkojima@rr.iij4u.or.jp\u003e\nCc: Richard Curnow \u003crc@rc0.org.uk\u003e\nCc: William Lee Irwin III \u003cwli@holomorphy.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Jeff Dike \u003cjdike@addtoit.com\u003e\nCc: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\u003e\nCc: Miles Bader \u003cuclinux-v850@lsi.nec.co.jp\u003e\nCc: Chris Zankel \u003cchris@zankel.net\u003e\nCc: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "9ae21d1bb376436285cd5346d3e4b3655d6dd1b9",
      "tree": "8f889770fae721da63bd378c1834a87e2eb1cfb5",
      "parents": [
        "f9b4192923fa6e38331e88214b1fe5fc21583fcc",
        "e9415777b1cd0eaf4d1d3d61772f0e6d5c2551ad"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Mar 26 09:41:18 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Mar 26 09:41:18 2006 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial:\n  drivers/char/ftape/lowlevel/fdc-io.c: Correct a comment\n  Kconfig help: MTD_JEDECPROBE already supports Intel\n  Remove ugly debugging stuff\n  do_mounts.c: Minor ROOT_DEV comment cleanup\n  BUG_ON() Conversion in drivers/s390/block/dasd_devmap.c\n  BUG_ON() Conversion in mm/mempool.c\n  BUG_ON() Conversion in mm/memory.c\n  BUG_ON() Conversion in kernel/fork.c\n  BUG_ON() Conversion in ipc/sem.c\n  BUG_ON() Conversion in fs/ext2/\n  BUG_ON() Conversion in fs/hfs/\n  BUG_ON() Conversion in fs/dcache.c\n  BUG_ON() Conversion in fs/buffer.c\n  BUG_ON() Conversion in input/serio/hp_sdc_mlc.c\n  BUG_ON() Conversion in md/dm-table.c\n  BUG_ON() Conversion in md/dm-path-selector.c\n  BUG_ON() Conversion in drivers/isdn\n  BUG_ON() Conversion in drivers/char\n  BUG_ON() Conversion in drivers/mtd/\n"
    },
    {
      "commit": "f183323d3822dee4d7b3147a59b6e8987fe201e0",
      "tree": "f1cec982da7ae954af52584630c273976fd43127",
      "parents": [
        "0eaae62abaa1ad1f231932b6cdd9fb1b91df6651"
      ],
      "author": {
        "name": "Matthew Dobson",
        "email": "colpatch@us.ibm.com",
        "time": "Sun Mar 26 01:37:48 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Mar 26 08:56:59 2006 -0800"
      },
      "message": "[PATCH] mempool: add kzalloc allocator\n\nAdd another allocator to the common mempool code: a kzalloc/kfree allocator\n\nThis will be used by the next patch in the series to replace a mempool-backed\nkzalloc allocator.  It is also very likely that there will be more users in\nthe future.\n\nSigned-off-by: Matthew Dobson \u003ccolpatch@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "53184082b070dfb077218828fdf839826102ed96",
      "tree": "77aad868cb43b78195e7ca657c1e30a6934fac44",
      "parents": [
        "a19b27ce3847c3a5d4ea6b6c91b6f7154759af23"
      ],
      "author": {
        "name": "Matthew Dobson",
        "email": "colpatch@us.ibm.com",
        "time": "Sun Mar 26 01:37:46 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Mar 26 08:56:59 2006 -0800"
      },
      "message": "[PATCH] mempool: add kmalloc allocator\n\nAdd another allocator to the common mempool code: a kmalloc/kfree allocator\n\nThis will be used by the next patch in the series to replace duplicate\nmempool-backed kmalloc allocators in several places in the kernel.  It is also\nvery likely that there will be more users in the future.\n\nSigned-off-by: Matthew Dobson \u003ccolpatch@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "a19b27ce3847c3a5d4ea6b6c91b6f7154759af23",
      "tree": "794dc69869408bee9154b3e9d9852327e5219f4c",
      "parents": [
        "6e0678f394c7bd21bfa5d252b071a09e10e7a749"
      ],
      "author": {
        "name": "Matthew Dobson",
        "email": "colpatch@us.ibm.com",
        "time": "Sun Mar 26 01:37:45 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Mar 26 08:56:59 2006 -0800"
      },
      "message": "[PATCH] mempool: use common mempool page allocator\n\nConvert two mempool users that currently use their own mempool-backed page\nallocators to use the generic mempool page allocator.\n\nAlso included are 2 trivial whitespace fixes.\n\nSigned-off-by: Matthew Dobson \u003ccolpatch@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "6e0678f394c7bd21bfa5d252b071a09e10e7a749",
      "tree": "45e9729c67b867821748414667dada0d36a8bd34",
      "parents": [
        "8219dd5710c1daec2d7a086eeeee5187decfde60"
      ],
      "author": {
        "name": "Matthew Dobson",
        "email": "colpatch@us.ibm.com",
        "time": "Sun Mar 26 01:37:44 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Mar 26 08:56:59 2006 -0800"
      },
      "message": "[PATCH] mempool: add page allocator\n\nThis will be used by the next patch in the series to replace duplicate\nmempool-backed page allocators in 2 places in the kernel.  It is also likely\nthat there will be more users in the future.\n\nSigned-off-by: Matthew Dobson \u003ccolpatch@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "03beb07664d768db97bf454ae5c9581cd4737bb4",
      "tree": "b906c4db3a70627a58363193f3f843e7e2132ca1",
      "parents": [
        "64a07bd82ed526d813b64b0957543eef55bdf9c0"
      ],
      "author": {
        "name": "James Bottomley",
        "email": "James.Bottomley@SteelEye.com",
        "time": "Sun Mar 26 01:36:57 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Mar 26 08:56:53 2006 -0800"
      },
      "message": "[PATCH] Add API for flushing Anon pages\n\nCurrently, get_user_pages() returns fully coherent pages to the kernel for\nanything other than anonymous pages.  This is a problem for things like\nfuse and the SCSI generic ioctl SG_IO which can potentially wish to do DMA\nto anonymous pages passed in by users.\n\nThe fix is to add a new memory management API: flush_anon_page() which\nis used in get_user_pages() to make anonymous pages coherent.\n\nSigned-off-by: James Bottomley \u003cJames.Bottomley@SteelEye.com\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f02e1fafb534459522a8c46bc46b32820684623e",
      "tree": "4a4fe770d02fc83b71bcfc6d32eb609c80a5aa95",
      "parents": [
        "5bcb28b139cffc736177ceb775d1c8b5c5a411e2"
      ],
      "author": {
        "name": "Eric Sesterhenn",
        "email": "snakebyte@gmx.de",
        "time": "Sun Mar 26 18:31:56 2006 +0200"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Sun Mar 26 18:31:56 2006 +0200"
      },
      "message": "BUG_ON() Conversion in mm/mempool.c\n\nthis changes if() BUG(); constructs to BUG_ON() which is\ncleaner, contains unlikely() and can better optimized away.\n\nSigned-off-by: Eric Sesterhenn \u003csnakebyte@gmx.de\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\n"
    },
    {
      "commit": "5bcb28b139cffc736177ceb775d1c8b5c5a411e2",
      "tree": "5a5e5624994c3a15dc4bd3beae07a2f891ba84dc",
      "parents": [
        "910dea7fdda22f0ee83d26d459e460c79ed94557"
      ],
      "author": {
        "name": "Eric Sesterhenn",
        "email": "snakebyte@gmx.de",
        "time": "Sun Mar 26 18:30:52 2006 +0200"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Sun Mar 26 18:30:52 2006 +0200"
      },
      "message": "BUG_ON() Conversion in mm/memory.c\n\nthis changes if() BUG(); constructs to BUG_ON() which is\ncleaner, contains unlikely() and can better optimized away.\n\nSigned-off-by: Eric Sesterhenn \u003csnakebyte@gmx.de\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\n"
    },
    {
      "commit": "267b48014a5c0c2ae90b04dad5d95ceb903365a6",
      "tree": "95f5475b7b7f6e5b4fd023f51fb2fa826d95a754",
      "parents": [
        "bd6633476922b7b51227f7f704c2546e763ae5ed"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@suse.de",
        "time": "Sat Mar 25 16:31:10 2006 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Mar 25 09:10:56 2006 -0800"
      },
      "message": "[PATCH] x86_64: Try to allocate node memmap near the end of node\n\nThis fixes problems with very large nodes (over 128GB) filling up all of\nthe first 4GB with their mem_map and not leaving enough space for the\nswiotlb.\n\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "315ab19a6d12d6af7b6957090822f3057ab7e80f",
      "tree": "7d6d51cfbd0f5e3182d4490c077e1d3139eeb9a7",
      "parents": [
        "f081a529f808ed450c22553de7b3275e0ffde9a0"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Sat Mar 25 16:20:22 2006 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Mar 25 08:43:45 2006 -0800"
      },
      "message": "[PATCH] mm: restore vm_normal_page check\n\nHugh is rightly concerned that the CONFIG_DEBUG_VM coverage has gone too\nfar in vm_normal_page, considering that we expect production kernels to be\nshipped with the option turned off, and that the code has been under some\nlarge changes recently.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1e8c573933fd7975679766850252ad08667e5ca4",
      "tree": "9600d0c7ee5ea8925f3c4dc30680c819e0363805",
      "parents": [
        "d71eecf3b8e893757cc3dec560c96a32ac090890",
        "232443e2c90cc2930624dec89df327615b002c55"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Mar 25 08:41:09 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Mar 25 08:41:09 2006 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial: (21 commits)\n  BUG_ON() Conversion in drivers/video/\n  BUG_ON() Conversion in drivers/parisc/\n  BUG_ON() Conversion in drivers/block/\n  BUG_ON() Conversion in sound/sparc/cs4231.c\n  BUG_ON() Conversion in drivers/s390/block/dasd.c\n  BUG_ON() Conversion in lib/swiotlb.c\n  BUG_ON() Conversion in kernel/cpu.c\n  BUG_ON() Conversion in ipc/msg.c\n  BUG_ON() Conversion in block/elevator.c\n  BUG_ON() Conversion in fs/coda/\n  BUG_ON() Conversion in fs/binfmt_elf_fdpic.c\n  BUG_ON() Conversion in input/serio/hil_mlc.c\n  BUG_ON() Conversion in md/dm-hw-handler.c\n  BUG_ON() Conversion in md/bitmap.c\n  The comment describing how MS_ASYNC works in msync.c is confusing\n  rcu: undeclared variable used in documentation\n  fix typos \"wich\" -\u003e \"which\"\n  typo patch for fs/ufs/super.c\n  Fix simple typos\n  tabify drivers/char/Makefile\n  ...\n"
    },
    {
      "commit": "6e692ed37a507e18d8afe8e5faebd8c4722c5f12",
      "tree": "9178f07eb643123d20a95e4ec08477f2c85bd9ea",
      "parents": [
        "962749af67b145c57917bfbff3c303ebd7d5988c"
      ],
      "author": {
        "name": "John Hawkes",
        "email": "hawkes@sgi.com",
        "time": "Sat Mar 25 03:08:02 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Mar 25 08:22:58 2006 -0800"
      },
      "message": "[PATCH] fix alloc_large_system_hash() roundup\n\nThe \"rounded up to nearest power of 2 in size\" algorithm in\nalloc_large_system_hash is not correct.  As coded, it takes an otherwise\nacceptable power-of-2 value and doubles it.  For example, we see the error\nif we boot with thash_entries\u003d2097152 which produces a hash table with\n4194304 entries.\n\nSigned-off-by: John Hawkes \u003chawkes@sgi.com\u003e\nCc: Roland Dreier \u003crdreier@cisco.com\u003e\nCc: \"Chen, Kenneth W\" \u003ckenneth.w.chen@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "05eeae208d08a05a6980cf2ff61f02843c0955fd",
      "tree": "be6c6c4e16cfac07edf437a1f74ef027ada8ccc7",
      "parents": [
        "c1f5a1944657ba6abe375e3bb2a3238a46849f70"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Sat Mar 25 03:07:48 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Mar 25 08:22:57 2006 -0800"
      },
      "message": "[PATCH] find_task_by_pid() needs tasklist_lock\n\nA couple of places are forgetting to take it.\n\nThe kswapd case is probably unimportant.  keventd_create_kthread() was racy.\n\nThe whole thing is a bit flakey: you start a kernel thread, get its pid from\nkernel_thread() then look up its task_struct.\n\na) It assumes that pid recycling takes a \"long\" time.\n\nb) We get a task_struct but no reference was taken on it.  The owner of the\n   kswapd and kthread task_struct*\u0027s must assume that the new thread won\u0027t\n   exit unexpectedly.  Because if it does, they\u0027re left holding dead memory\n   and any attempt to control or stop that task will crash.\n\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f5335c0f1bcba16907972b66b905f62402433e23",
      "tree": "9db1cf38a34b3dc9559e785d910e95d7002c91e2",
      "parents": [
        "d784124cfe9377c1a24d8efba31401f81c7c11f9"
      ],
      "author": {
        "name": "Anton Blanchard",
        "email": "anton@samba.org",
        "time": "Sat Mar 25 03:06:49 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Mar 25 08:22:50 2006 -0800"
      },
      "message": "[PATCH] quieten zone_pcp_init\n\nIn zone_pcp_init we print out all zones even if they are empty:\n\nOn node 0 totalpages: 245760\n  DMA zone: 245760 pages, LIFO batch:31\n  DMA32 zone: 0 pages, LIFO batch:0\n  Normal zone: 0 pages, LIFO batch:0\n  HighMem zone: 0 pages, LIFO batch:0\n\nTo conserve dmesg space why not print only the non zero zones.\n\nSigned-off-by: Anton Blanchard \u003canton@samba.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "d784124cfe9377c1a24d8efba31401f81c7c11f9",
      "tree": "d4d46868e79dcab59fc589b11d4f0207b41f63b0",
      "parents": [
        "0718dc2a82c865ca75975acabaf984057f9fd488"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Sat Mar 25 03:06:48 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Mar 25 08:22:50 2006 -0800"
      },
      "message": "[PATCH] mm: make page migration dependent on swap and NUMA\n\nThe page migration code could function without NUMA but we currently have\nno users for the non-NUMA case.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "0718dc2a82c865ca75975acabaf984057f9fd488",
      "tree": "0f7e8ed22ea26c79e17712c417593bdce04e7888",
      "parents": [
        "cafeb02e098ecd58fb0bd797b2c9fbba3edf54f8"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Sat Mar 25 03:06:47 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Mar 25 08:22:50 2006 -0800"
      },
      "message": "[PATCH] slab: fix memory leak in alloc_kmemlist\n\nWe have had this memory leak for a while now.  The situation is complicated\nby the use of alloc_kmemlist() as a function to resize various caches by\ndo_tune_cpucache().\n\nWhat we do here is first of all make sure that we deallocate properly in\nthe loop over all the nodes.\n\nIf we are just resizing caches then we can simply return with -ENOMEM if an\nallocation fails.\n\nIf the cache is new then we need to rollback and remove all earlier\nallocations.\n\nWe detect that a cache is new by checking if the link to the global cache\nchain has been setup.  This is a bit hackish ....\n\n(also fix up too overlong lines that I added in the last patch...)\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: Jesper Juhl \u003cjesper.juhl@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "cafeb02e098ecd58fb0bd797b2c9fbba3edf54f8",
      "tree": "f4d03a748184e24cb0ff4c9a56ba6b0eaefd78d3",
      "parents": [
        "e00946fe2351307eb3eda7a3343530f6d2d1af2e"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Sat Mar 25 03:06:46 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Mar 25 08:22:50 2006 -0800"
      },
      "message": "[PATCH] alloc_kmemlist: Some cleanup in preparation for a real memory leak fix\n\nInspired by Jesper Juhl\u0027s patch from today\n\n1. Get rid of err\n\tWe do not set it to anything else but zero.\n\n2. Drop the CONFIG_NUMA stuff.\n\tThere are definitions for alloc_alien_cache and free_alien_cache()\n\tthat do the right thing for the non NUMA case.\n\n3. Better naming of variables.\n\n4. Remove redundant cachep-\u003enodelists[node] expressions.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Jesper Juhl \u003cjesper.juhl@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "e00946fe2351307eb3eda7a3343530f6d2d1af2e",
      "tree": "1567b4abe0ed56fbd960943da2c52278ea196c02",
      "parents": [
        "3ded175a4b7a4548f3358dcf5f3ad65f63cdb4ed"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Sat Mar 25 03:06:45 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Mar 25 08:22:49 2006 -0800"
      },
      "message": "[PATCH] slab: Bypass free lists for __drain_alien_cache()\n\n__drain_alien_cache() currently drains objects by freeing them to the\n(remote) freelists of the original node.  However, each node also has a\nshared list containing objects to be used on any processor of that node.\nWe can avoid a number of remote node accesses by copying the pointers to\nthe free objects directly into the remote shared array.\n\nAnd while we are at it: Skip alien draining if the alien cache spinlock is\nalready taken.\n\nKiran reported that this is a performance benefit.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "3ded175a4b7a4548f3358dcf5f3ad65f63cdb4ed",
      "tree": "c27a3da70d638bcf32f75c28d1da3f1eb18cb617",
      "parents": [
        "c5e3b83e97be4e09961c0af101644643e5d03d17"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Sat Mar 25 03:06:44 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Mar 25 08:22:49 2006 -0800"
      },
      "message": "[PATCH] slab: add transfer_objects() function\n\nslabr_objects() can be used to transfer objects between various object\ncaches of the slab allocator.  It is currently only used during\n__cache_alloc() to retrieve elements from the shared array.  We will be\nusing it soon to transfer elements from the alien caches to the remote\nshared array.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "c5e3b83e97be4e09961c0af101644643e5d03d17",
      "tree": "29863b7ff7452d10f0af51c3ff7ef72235e81c90",
      "parents": [
        "40c07ae8daa659b8feb149c84731629386873c16"
      ],
      "author": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Sat Mar 25 03:06:43 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Mar 25 08:22:49 2006 -0800"
      },
      "message": "[PATCH] mm: use kmem_cache_zalloc\n\nConvert mm/ to use the new kmem_cache_zalloc allocator.\n\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "40c07ae8daa659b8feb149c84731629386873c16",
      "tree": "77d9e7572135de30f184103cc6dd36f9c0f8dfbf",
      "parents": [
        "a8c0f9a41f88da703ade33f9c1626a55c786e8bb"
      ],
      "author": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Sat Mar 25 03:06:43 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Mar 25 08:22:49 2006 -0800"
      },
      "message": "[PATCH] slab: optimize constant-size kzalloc calls\n\nAs suggested by Eric Dumazet, optimize kzalloc() calls that pass a\ncompile-time constant size.  Please note that the patch increases kernel\ntext slightly (~200 bytes for defconfig on x86).\n\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "a8c0f9a41f88da703ade33f9c1626a55c786e8bb",
      "tree": "8c2904597c61b873bfd85eed4ac196dd66e6f125",
      "parents": [
        "871751e25d956ad24f129ca972b7851feaa61d53"
      ],
      "author": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Sat Mar 25 03:06:42 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Mar 25 08:22:49 2006 -0800"
      },
      "message": "[PATCH] slab: introduce kmem_cache_zalloc allocator\n\nIntroduce a memory-zeroing variant of kmem_cache_alloc.  The allocator\nalready exits in XFS and there are potential users for it so this patch\nmakes the allocator available for the general public.\n\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "871751e25d956ad24f129ca972b7851feaa61d53",
      "tree": "c3213a17481f601339ce0c81a22eebca0946c2c7",
      "parents": [
        "f52ac8fec8a13e207f675b0c16e0d5f800c1c204"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Mar 25 03:06:39 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Mar 25 08:22:49 2006 -0800"
      },
      "message": "[PATCH] slab: implement /proc/slab_allocators\n\nImplement /proc/slab_allocators.   It produces output like:\n\nidr_layer_cache: 80 idr_pre_get+0x33/0x4e\nbuffer_head: 2555 alloc_buffer_head+0x20/0x75\nmm_struct: 9 mm_alloc+0x1e/0x42\nmm_struct: 20 dup_mm+0x36/0x370\nvm_area_struct: 384 dup_mm+0x18f/0x370\nvm_area_struct: 151 do_mmap_pgoff+0x2e0/0x7c3\nvm_area_struct: 1 split_vma+0x5a/0x10e\nvm_area_struct: 11 do_brk+0x206/0x2e2\nvm_area_struct: 2 copy_vma+0xda/0x142\nvm_area_struct: 9 setup_arg_pages+0x99/0x214\nfs_cache: 8 copy_fs_struct+0x21/0x133\nfs_cache: 29 copy_process+0xf38/0x10e3\nfiles_cache: 30 alloc_files+0x1b/0xcf\nsignal_cache: 81 copy_process+0xbaa/0x10e3\nsighand_cache: 77 copy_process+0xe65/0x10e3\nsighand_cache: 1 de_thread+0x4d/0x5f8\nanon_vma: 241 anon_vma_prepare+0xd9/0xf3\nsize-2048: 1 add_sect_attrs+0x5f/0x145\nsize-2048: 2 journal_init_revoke+0x99/0x302\nsize-2048: 2 journal_init_revoke+0x137/0x302\nsize-2048: 2 journal_init_inode+0xf9/0x1c4\n\nCc: Manfred Spraul \u003cmanfred@colorfullife.com\u003e\nCc: Alexander Nyberg \u003calexn@telia.com\u003e\nCc: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nCc: Christoph Lameter \u003cclameter@engr.sgi.com\u003e\nCc: Ravikiran Thirumalai \u003ckiran@scalex86.org\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nDESC\nslab-leaks3-locking-fix\nEDESC\nFrom: Andrew Morton \u003cakpm@osdl.org\u003e\n\nUpdate for slab-remove-cachep-spinlock.patch\n\nCc: Al Viro \u003cviro@ftp.linux.org.uk\u003e\nCc: Manfred Spraul \u003cmanfred@colorfullife.com\u003e\nCc: Alexander Nyberg \u003calexn@telia.com\u003e\nCc: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nCc: Christoph Lameter \u003cclameter@engr.sgi.com\u003e\nCc: Ravikiran Thirumalai \u003ckiran@scalex86.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "16538c40776b8be6b0f23966e08fdc7b8fff823f",
      "tree": "77646f8bf17f0ef78ea9c50415ab639a734dc870",
      "parents": [
        "de0dfcdf550e6339e9f373587da62cffb5b559f8"
      ],
      "author": {
        "name": "Amos Waterland",
        "email": "apw@us.ibm.com",
        "time": "Fri Mar 24 18:30:53 2006 +0100"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Fri Mar 24 18:30:53 2006 +0100"
      },
      "message": "The comment describing how MS_ASYNC works in msync.c is confusing\nbecause of a typo.  This patch just changes \"my\" to \"by\", which I\nbelieve was the original intent.\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\n"
    },
    {
      "commit": "96840aa00a031069a136ec4c55d0bdd09ac6d3a7",
      "tree": "f93592ca47f2412aa0cce3ce4c116d1678a42239",
      "parents": [
        "6687a97d4041f996f725902d2990e5de6ef5cbe5"
      ],
      "author": {
        "name": "Davi Arnaut",
        "email": "davi.arnaut@gmail.com",
        "time": "Fri Mar 24 03:18:42 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 24 07:33:31 2006 -0800"
      },
      "message": "[PATCH] strndup_user()\n\nThis patch series creates a strndup_user() function to easy copying C strings\nfrom userspace.  Also we avoid common pitfalls like userspace modifying the\nfinal \\0 after the strlen_user().\n\nSigned-off-by: Davi Arnaut \u003cdavi.arnaut@gmail.com\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "8f2e9f157a94f444dad974b088b853ac40785b02",
      "tree": "a8a3b2413ffb2a4a6f84762f052f0f6b4699ef9a",
      "parents": [
        "18e79b40ed9c5223b88771f805c69f5993fc131b"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Fri Mar 24 03:18:15 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 24 07:33:27 2006 -0800"
      },
      "message": "[PATCH] msync(): use do_fsync()\n\nNo need to duplicate all that code.\n\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "676758bdb7bfca8413a85203921746f446e237be",
      "tree": "23c731f429652e16f2cdba98cd503eaa059f929b",
      "parents": [
        "707c21c848deeb0200ba3f07e4ba90e6dc419c2f"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Fri Mar 24 03:18:14 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 24 07:33:26 2006 -0800"
      },
      "message": "[PATCH] msync: fix return value\n\nmsync() does a strange thing.  Essentially:\n\n\tvma \u003d find_vma();\n\tfor ( ; ; ) {\n\t\tif (!vma)\n\t\t\treturn -ENOMEM;\n\t\t...\n\t\tvma \u003d vma-\u003evm_next;\n\t}\n\nso an msync() request which starts within or before a valid VMA and which ends\nwithin or beyond the final VMA will incorrectly return -ENOMEM.\n\nFix.\n\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "707c21c848deeb0200ba3f07e4ba90e6dc419c2f",
      "tree": "d8e8f32916ac1f04e45e42595ddd0ef771ddb1ad",
      "parents": [
        "9c50823eebf7c256b92b4e0f02b5fb30e97788c2"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Fri Mar 24 03:18:13 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 24 07:33:26 2006 -0800"
      },
      "message": "[PATCH] msync(MS_SYNC): don\u0027t hold mmap_sem while syncing\n\nIt seems bad to hold mmap_sem while performing synchronous disk I/O.  Alter\nthe msync(MS_SYNC) code so that the lock is released while we sync the file.\n\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "9c50823eebf7c256b92b4e0f02b5fb30e97788c2",
      "tree": "241b754698c3501355d1061c828ab6d894dba617",
      "parents": [
        "4741c9fd36b3bcadd37238321c469049da94a4b9"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Fri Mar 24 03:18:12 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 24 07:33:26 2006 -0800"
      },
      "message": "[PATCH] msync(): perform dirty page levelling\n\nIt seems sensible to perform dirty page throttling in msync: as the application\ndirties pages we can kick off pdflush early, or even force the msync() caller\nto perform writeout, or even throttle the msync() caller.\n\nThe main effect of this is to start disk writeback earlier if we\u0027ve just\ndiscovered that a large amount of pagecache has been dirtied.  (Otherwise it\nwouldn\u0027t happen for up to five seconds, next time pdflush wakes up).\n\nIt also will cause the page-dirtying process to get panalised for dirtying\nthose pages rather than whacking someone else with the problem.\n\nWe should do this for munmap() and possibly even exit(), too.\n\nWe drop the mmap_sem while performing the dirty page balancing.  It doesn\u0027t\nseem right to hold mmap_sem for that long.\n\nNote that this patch only affects MS_ASYNC.  MS_SYNC will be syncing all the\ndirty pages anyway.\n\nWe note that msync(MS_SYNC) does a full-file-sync inside mmap_sem, and always\nhas.  We can fix that up...\n\nThe patch also tightens up the mmap_sem coverage in sys_msync(): no point in\ntaking it while we perform the incoming arg checking.\n\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "4741c9fd36b3bcadd37238321c469049da94a4b9",
      "tree": "4b3031b04cdbf2d3c5a4fcc1965ed857f1cf0ce4",
      "parents": [
        "fa5a734e406b53761fcc5ee22366006f71112c2d"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Fri Mar 24 03:18:11 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 24 07:33:26 2006 -0800"
      },
      "message": "[PATCH] set_page_dirty() return value fixes\n\nWe need set_page_dirty() to return true if it actually transitioned the page\nfrom a clean to dirty state.  This wasn\u0027t right in a couple of places.  Do a\nkernel-wide audit, fix things up.\n\nThis leaves open the possibility of returning a negative errno from\nset_page_dirty() sometime in the future.  But we don\u0027t do that at present.\n\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "fa5a734e406b53761fcc5ee22366006f71112c2d",
      "tree": "003a238b9207e38f747bfb119a30fb52f1cd5ae9",
      "parents": [
        "8a14342683b1e3adcf5f78660a42fcbd95b44a35"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Fri Mar 24 03:18:10 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 24 07:33:26 2006 -0800"
      },
      "message": "[PATCH] balance_dirty_pages_ratelimited: take nr_pages arg\n\nModify balance_dirty_pages_ratelimited() so that it can take a\nnumber-of-pages-which-I-just-dirtied argument.  For msync().\n\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "ebcf28e1c7a295f3321249dd235ad2e45938fdd9",
      "tree": "fdd2e131e627af55d3741a7fafad0edaa61410c1",
      "parents": [
        "469eb4d03878b676418f853011ebfb54ccf83a5e"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Fri Mar 24 03:18:04 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 24 07:33:25 2006 -0800"
      },
      "message": "[PATCH] fadvise(): write commands\n\nAdd two new linux-specific fadvise extensions():\n\nLINUX_FADV_ASYNC_WRITE: start async writeout of any dirty pages between file\noffsets `offset\u0027 and `offset+len\u0027.  Any pages which are currently under\nwriteout are skipped, whether or not they are dirty.\n\nLINUX_FADV_WRITE_WAIT: wait upon writeout of any dirty pages between file\noffsets `offset\u0027 and `offset+len\u0027.\n\nBy combining these two operations the application may do several things:\n\nLINUX_FADV_ASYNC_WRITE: push some or all of the dirty pages at the disk.\n\nLINUX_FADV_WRITE_WAIT, LINUX_FADV_ASYNC_WRITE: push all of the currently dirty\npages at the disk.\n\nLINUX_FADV_WRITE_WAIT, LINUX_FADV_ASYNC_WRITE, LINUX_FADV_WRITE_WAIT: push all\nof the currently dirty pages at the disk, wait until they have been written.\n\nIt should be noted that none of these operations write out the file\u0027s\nmetadata.  So unless the application is strictly performing overwrites of\nalready-instantiated disk blocks, there are no guarantees here that the data\nwill be available after a crash.\n\nTo complete this suite of operations I guess we should have a \"sync file\nmetadata only\" operation.  This gives applications access to all the building\nblocks needed for all sorts of sync operations.  But sync-metadata doesn\u0027t fit\nwell with the fadvise() interface.  Probably it should be a new syscall:\nsys_fmetadatasync().\n\nThe patch also diddles with the meaning of `endbyte\u0027 in sys_fadvise64_64().\nIt is made to represent that last affected byte in the file (ie: it is\ninclusive).  Generally, all these byterange and pagerange functions are\ninclusive so we can easily represent EOF with -1.\n\nAs Ulrich notes, these two functions are somewhat abusive of the fadvise()\nconcept, which appears to be \"set the future policy for this fd\".\n\nBut these commands are a perfect fit with the fadvise() impementation, and\nseveral of the existing fadvise() commands are synchronous and don\u0027t affect\nfuture policy either.   I think we can live with the slight incongruity.\n\nCc: Michael Kerrisk \u003cmtk-manpages@gmx.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "469eb4d03878b676418f853011ebfb54ccf83a5e",
      "tree": "38b10385c6241778ca88c6015ded3ba68d39a23c",
      "parents": [
        "604bf5a216e7f2d97cdf62614ca1281921531040"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Fri Mar 24 03:17:45 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 24 07:33:25 2006 -0800"
      },
      "message": "[PATCH] filemap_fdatawrite_range() api: clarify -end parameter\n\nI had trouble understanding working out whether filemap_fdatawrite_range()\u0027s\n`end\u0027 parameter describes the last-byte-to-be-written or the last-plus-one.\nClarify that in comments.\n\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "b2455396be35383c4eebc6745cc718b1dd9e23df",
      "tree": "9ed4d43f1ca944c23372fad6554508f1747f5e2d",
      "parents": [
        "151a44202d097ae8b1bbaa6d8d2f97df30e3cd1e"
      ],
      "author": {
        "name": "Paul Jackson",
        "email": "pj@sgi.com",
        "time": "Fri Mar 24 03:16:12 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 24 07:33:24 2006 -0800"
      },
      "message": "[PATCH] cpuset: memory_spread_slab drop useless PF_SPREAD_PAGE check\n\nThe hook in the slab cache allocation path to handle cpuset memory\nspreading for tasks in cpusets with \u0027memory_spread_slab\u0027 enabled has a\nmodest performance bug.  The hook calls into the memory spreading handler\nalternate_node_alloc() if either of \u0027memory_spread_slab\u0027 or\n\u0027memory_spread_page\u0027 is enabled, even though the handler does nothing\n(albeit harmlessly) for the page case\n\nFix - drop PF_SPREAD_PAGE from the set of flag bits that are used to\ntrigger a call to alternate_node_alloc().\n\nThe page case is handled by separate hooks -- see the calls conditioned on\ncpuset_do_page_mem_spread() in mm/filemap.c\n\nSigned-off-by: Paul Jackson \u003cpj@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "c61afb181c649754ea221f104e268cbacfc993e3",
      "tree": "870917b3f9175cf1663a2620d989856913cfb5f8",
      "parents": [
        "101a50019ae5e370d73984ee05d56dd3b08f330a"
      ],
      "author": {
        "name": "Paul Jackson",
        "email": "pj@sgi.com",
        "time": "Fri Mar 24 03:16:08 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 24 07:33:23 2006 -0800"
      },
      "message": "[PATCH] cpuset memory spread slab cache optimizations\n\nThe hooks in the slab cache allocator code path for support of NUMA\nmempolicies and cpuset memory spreading are in an important code path.  Many\nsystems will use neither feature.\n\nThis patch optimizes those hooks down to a single check of some bits in the\ncurrent tasks task_struct flags.  For non NUMA systems, this hook and related\ncode is already ifdef\u0027d out.\n\nThe optimization is done by using another task flag, set if the task is using\na non-default NUMA mempolicy.  Taking this flag bit along with the\nPF_SPREAD_PAGE and PF_SPREAD_SLAB flag bits added earlier in this \u0027cpuset\nmemory spreading\u0027 patch set, one can check for the combination of any of these\nspecial case memory placement mechanisms with a single test of the current\ntasks task_struct flags.\n\nThis patch also tightens up the code, to save a few bytes of kernel text\nspace, and moves some of it out of line.  Due to the nested inlines called\nfrom multiple places, we were ending up with three copies of this code, which\nonce we get off the main code path (for local node allocation) seems a bit\nwasteful of instruction memory.\n\nSigned-off-by: Paul Jackson \u003cpj@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "101a50019ae5e370d73984ee05d56dd3b08f330a",
      "tree": "f5628837d4bb68a4109dfb8d6601f95b630848c3",
      "parents": [
        "fffb60f93ce5880aade88e01d7133b52a4879710"
      ],
      "author": {
        "name": "Paul Jackson",
        "email": "pj@sgi.com",
        "time": "Fri Mar 24 03:16:07 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 24 07:33:23 2006 -0800"
      },
      "message": "[PATCH] cpuset memory spread slab cache implementation\n\nProvide the slab cache infrastructure to support cpuset memory spreading.\n\nSee the previous patches, cpuset_mem_spread, for an explanation of cpuset\nmemory spreading.\n\nThis patch provides a slab cache SLAB_MEM_SPREAD flag.  If set in the\nkmem_cache_create() call defining a slab cache, then any task marked with the\nprocess state flag PF_MEMSPREAD will spread memory page allocations for that\ncache over all the allowed nodes, instead of preferring the local (faulting)\nnode.\n\nOn systems not configured with CONFIG_NUMA, this results in no change to the\npage allocation code path for slab caches.\n\nOn systems with cpusets configured in the kernel, but the \"memory_spread\"\ncpuset option not enabled for the current tasks cpuset, this adds a call to a\ncpuset routine and failed bit test of the processor state flag PF_SPREAD_SLAB.\n\nFor tasks so marked, a second inline test is done for the slab cache flag\nSLAB_MEM_SPREAD, and if that is set and if the allocation is not\nin_interrupt(), this adds a call to to a cpuset routine that computes which of\nthe tasks mems_allowed nodes should be preferred for this allocation.\n\n\u003d\u003d\u003e This patch adds another hook into the performance critical\n    code path to allocating objects from the slab cache, in the\n    ____cache_alloc() chunk, below.  The next patch optimizes this\n    hook, reducing the impact of the combined mempolicy plus memory\n    spreading hooks on this critical code path to a single check\n    against the tasks task_struct flags word.\n\nThis patch provides the generic slab flags and logic needed to apply memory\nspreading to a particular slab.\n\nA subsequent patch will mark a few specific slab caches for this placement\npolicy.\n\nSigned-off-by: Paul Jackson \u003cpj@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "44110fe385af23ca5eee8a6ad4ff55d50339097a",
      "tree": "50ed2bfe054b8e35968d8e4a5fbe95c8b3db843b",
      "parents": [
        "825a46af5ac171f9f41f794a0a00165588ba1589"
      ],
      "author": {
        "name": "Paul Jackson",
        "email": "pj@sgi.com",
        "time": "Fri Mar 24 03:16:04 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 24 07:33:22 2006 -0800"
      },
      "message": "[PATCH] cpuset memory spread page cache implementation and hooks\n\nChange the page cache allocation calls to support cpuset memory spreading.\n\nSee the previous patch, cpuset_mem_spread, for an explanation of cpuset memory\nspreading.\n\nOn systems without cpusets configured in the kernel, this is no change.\n\nOn systems with cpusets configured in the kernel, but the \"memory_spread\"\ncpuset option not enabled for the current tasks cpuset, this adds a call to a\ncpuset routine and failed bit test of the processor state flag PF_SPREAD_PAGE.\n\nOn tasks in cpusets with \"memory_spread\" enabled, this adds a call to a cpuset\nroutine that computes which of the tasks mems_allowed nodes should be\npreferred for this allocation.\n\nIf memory spreading applies to a particular allocation, then any other NUMA\nmempolicy does not apply.\n\nSigned-off-by: Paul Jackson \u003cpj@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "0b1303fcf23678ee1785841fb0c770a35cd0833c",
      "tree": "78b90c2766f8468b39363bd4525ebaa9b192aa8f",
      "parents": [
        "95c3832272fc77ea3e31f6382f82ba17be985cc7"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@engr.sgi.com",
        "time": "Fri Mar 24 03:15:59 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 24 07:33:22 2006 -0800"
      },
      "message": "[PATCH] cpusets: only wakeup kswapd for zones in the current cpuset\n\nIf we get under some memory pressure in a cpuset (we only scan zones that\nare in the cpuset for memory) then kswapd is woken up for all zones.  This\npatch only wakes up kswapd in zones that are part of the current cpuset.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nAcked-by: Paul Jackson \u003cpj@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "ed5b43f15a8e86e3ae939b98bc161ee973ecedf2",
      "tree": "dcd5bc0b5817d6452b0897a08293317f470f4db9",
      "parents": [
        "f6ef943813ac3085ece7252ea101d663581219f6"
      ],
      "author": {
        "name": "Bart Samwel",
        "email": "bart@samwel.tk",
        "time": "Fri Mar 24 03:15:49 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 24 07:33:20 2006 -0800"
      },
      "message": "[PATCH] Represent laptop_mode as jiffies internally\n\nMake that the internal value for /proc/sys/vm/laptop_mode is stored as\njiffies instead of seconds.  Let the sysctl interface do the conversions,\ninstead of doing on-the-fly conversions every time the value is used.\n\nAdd a description of the fact that laptop_mode doubles as a flag and a\ntimeout to the comment above the laptop_mode variable.\n\nSigned-off-by: Bart Samwel \u003cbart@samwel.tk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f6ef943813ac3085ece7252ea101d663581219f6",
      "tree": "e32d3e57ba6ae235ec1f510b16d77fe9bfa8f96e",
      "parents": [
        "36f574135e36b86bb6ae794bf1d0fce3efa5601f"
      ],
      "author": {
        "name": "Bart Samwel",
        "email": "bart@samwel.tk",
        "time": "Fri Mar 24 03:15:48 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 24 07:33:20 2006 -0800"
      },
      "message": "[PATCH] Represent dirty_*_centisecs as jiffies internally\n\nMake that the internal values for:\n\n/proc/sys/vm/dirty_writeback_centisecs\n/proc/sys/vm/dirty_expire_centisecs\n\nare stored as jiffies instead of centiseconds.  Let the sysctl interface do\nthe conversions with full precision using clock_t_to_jiffies, instead of\ndoing overflow-sensitive on-the-fly conversions every time the values are\nused.\n\nCons: apparent precision loss if HZ is not a multiple of 100, because of\nconversion back and forth.  This is a common problem for all sysctl values\nthat use proc_dointvec_userhz_jiffies.  (There is only one other in-tree\nuse, in net/core/neighbour.c.)\n\nSigned-off-by: Bart Samwel \u003cbart@samwel.tk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "2056a782f8e7e65fd4bfd027506b4ce1c5e9ccd4",
      "tree": "d4fe59a7ca0c110690937085548936a4535c39db",
      "parents": [
        "6dac40a7ce2483a47b54af07afebeb84131c7228"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Thu Mar 23 20:00:26 2006 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Thu Mar 23 20:00:26 2006 +0100"
      },
      "message": "[PATCH] Block queue IO tracing support (blktrace) as of 2006-03-23\n\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\n"
    },
    {
      "commit": "d8733c2956968a01394a4d2a9e97a8b431a78776",
      "tree": "9743c9020eb5193efa4a0f102b3a7eb1d999c4fd",
      "parents": [
        "b8e31edc10d160a8bf2159541d9d12f2079a0887"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Thu Mar 23 03:00:11 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Mar 23 07:38:09 2006 -0800"
      },
      "message": "[PATCH] ext3_readdir: use generic readahead\n\nLinus points out that ext3_readdir\u0027s readahead only cuts in when\next3_readdir() is operating at the very start of the directory.  So for large\ndirectories we end up performing no readahead at all and we suck.\n\nSo take it all out and use the core VM\u0027s page_cache_readahead().  This means\nthat ext3 directory reads will use all of readahead\u0027s dynamic sizing goop.\n\nNote that we\u0027re using the directory\u0027s filp-\u003ef_ra to hold the readahead state,\nbut readahead is actually being performed against the underlying blockdev\u0027s\naddress_space.  Fortunately the readahead code is all set up to handle this.\n\nTested with printk.  It works.  I was struggling to find a real workload which\nactually cared.\n\n(The patch also exports page_cache_readahead() to GPL modules)\n\nCc: \"Stephen C. Tweedie\" \u003csct@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "6e1819d615f24ce0726a7d0bd3dd0152d7b21654",
      "tree": "abc68747446e8241a1a7103882b9f6b6e24fa274",
      "parents": [
        "543cc27d09643640cbc34189c03a40beb8227aef"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Thu Mar 23 03:00:03 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Mar 23 07:38:07 2006 -0800"
      },
      "message": "[PATCH] swsusp: userland interface\n\nThis patch introduces a user space interface for swsusp.\n\nThe interface is based on a special character device, called the snapshot\ndevice, that allows user space processes to perform suspend and resume-related\noperations with the help of some ioctls and the read()/write() functions.\n Additionally it allows these processes to allocate free swap pages from a\nselected swap partition, called the resume partition, so that they know which\nsectors of the resume partition are available to them.\n\nThe interface uses the same low-level system memory snapshot-handling\nfunctions that are used by the built-it swap-writing/reading code of swsusp.\n\nThe interface documentation is included in the patch.\n\nThe patch assumes that the major and minor numbers of the snapshot device will\nbe 10 (ie.  misc device) and 231, the registration of which has already been\nrequested.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Pavel Machek \u003cpavel@ucw.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f577eb30afdc68233f25d4d82b04102129262365",
      "tree": "25d3c2fa8dfbf42fd0d4776a36166736fcc1446a",
      "parents": [
        "2b322ce210aec74ae0d02938d3a01e29fe079469"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Thu Mar 23 02:59:59 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Mar 23 07:38:07 2006 -0800"
      },
      "message": "[PATCH] swsusp: low level interface\n\nIntroduce the low level interface that can be used for handling the\nsnapshot of the system memory by the in-kernel swap-writing/reading code of\nswsusp and the userland interface code (to be introduced shortly).\n\nAlso change the way in which swsusp records the allocated swap pages and,\nconsequently, simplifies the in-kernel swap-writing/reading code (this is\nnecessary for the userland interface too).  To this end, it introduces two\nhelper functions in mm/swapfile.c, so that the swsusp code does not refer\ndirectly to the swap internals.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Pavel Machek \u003cpavel@ucw.cz\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "b20a35035f983f4ac7e29c4a68f30e43510007e0",
      "tree": "fdf090ddddbcc275349f62f71adc98649e2c683b",
      "parents": [
        "442295c94bf650221af3ef20fc68fa3e93876818"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Wed Mar 22 00:09:12 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Mar 22 07:54:06 2006 -0800"
      },
      "message": "[PATCH] page migration reorg\n\nCentralize the page migration functions in anticipation of additional\ntinkering.  Creates a new file mm/migrate.c\n\n1. Extract buffer_migrate_page() from fs/buffer.c\n\n2. Extract central migration code from vmscan.c\n\n3. Extract some components from mempolicy.c\n\n4. Export pageout() and remove_from_swap() from vmscan.c\n\n5. Make it possible to configure NUMA systems without page migration\n   and non-NUMA systems with page migration.\n\nI had to so some #ifdeffing in mempolicy.c that may need a cleanup.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    }
  ],
  "next": "442295c94bf650221af3ef20fc68fa3e93876818"
}
