)]}'
{
  "log": [
    {
      "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"
    },
    {
      "commit": "442295c94bf650221af3ef20fc68fa3e93876818",
      "tree": "32d5cae69596ec7729172901487cc08a357448f1",
      "parents": [
        "fdb7cc59084ba7eef935e4e40aaaf538ee34c625"
      ],
      "author": {
        "name": "Paul Jackson",
        "email": "pj@sgi.com",
        "time": "Wed Mar 22 00:09:11 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Mar 22 07:54:06 2006 -0800"
      },
      "message": "[PATCH] mm: slab cache interleave rotor fix\n\nThe alien cache rotor in mm/slab.c assumes that the first online node is\nnode 0.  Eventually for some archs, especially with hotplug, this will no\nlonger be true.\n\nFix the interleave rotor to handle the general case of node numbering.\n\nSigned-off-by: Paul Jackson \u003cpj@sgi.com\u003e\nAcked-by: 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": "fdb7cc59084ba7eef935e4e40aaaf538ee34c625",
      "tree": "d31bd847f2d9ea3f5b2a632c718b53797172af88",
      "parents": [
        "9b65ef59d42a56fa1358958ede77aaa5bac385a8"
      ],
      "author": {
        "name": "Paul Jackson",
        "email": "pj@sgi.com",
        "time": "Wed Mar 22 00:09:10 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Mar 22 07:54:06 2006 -0800"
      },
      "message": "[PATCH] mm: hugetlb alloc_fresh_huge_page bogus node loop fix\n\nFix bogus node loop in hugetlb.c alloc_fresh_huge_page(), which was\nassuming that nodes are numbered contiguously from 0 to num_online_nodes().\nOnce the hotplug folks get this far, that will be false.\n\nSigned-off-by: Paul Jackson \u003cpj@sgi.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": "9b65ef59d42a56fa1358958ede77aaa5bac385a8",
      "tree": "c6f83951e399cf52784f6d200c9588e4c41d6461",
      "parents": [
        "879336c3930ae9273ea1c45214cb8adae0ce494a"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "mita@miraclelinux.com",
        "time": "Wed Mar 22 00:09:09 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Mar 22 07:54:06 2006 -0800"
      },
      "message": "[PATCH] fix swap cluster offset\n\nWhen we\u0027ve allocated SWAPFILE_CLUSTER pages, -\u003ecluster_next should be the\nfirst index of swap cluster.  But current code probably sets it wrong offset.\n\nSigned-off-by: Akinobu Mita \u003cmita@miraclelinux.com\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": "879336c3930ae9273ea1c45214cb8adae0ce494a",
      "tree": "24fbb8aff19f6747b6cc40cb05cbe9f4c21f85e3",
      "parents": [
        "b18e7e654d7af741d2bf34a90dc34128d0217fea"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Wed Mar 22 00:09:08 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Mar 22 07:54:06 2006 -0800"
      },
      "message": "[PATCH] drain_node_pages: interrupt latency reduction / optimization\n\n1. Only disable interrupts if there is actually something to free\n\n2. Only dirty the pcp cacheline if we actually freed something.\n\n3. Disable interrupts for each single pcp and not for cleaning\n  all the pcps in all zones of a node.\n\ndrain_node_pages is called every 2 seconds from cache_reap. This\nfix should avoid most disabling of interrupts.\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": "b18e7e654d7af741d2bf34a90dc34128d0217fea",
      "tree": "04cbc067da970b8b24c8b5d48a1e7d9520f92b06",
      "parents": [
        "1b55253a7f95adc82eb20937b57b3e3e32ba65df"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@engr.sgi.com",
        "time": "Wed Mar 22 00:09:07 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Mar 22 07:54:06 2006 -0800"
      },
      "message": "[PATCH] slab: fix drain_array() so that it works correctly with the shared_array\n\nThe list_lock also protects the shared array and we call drain_array() with\nthe shared array.  Therefore we cannot go as far as I wanted to but have to\ntake the lock in a way so that it also protects the array_cache in\ndrain_pages.\n\n(Note: maybe we should make the array_cache locking more consistent?  I.e.\nalways take the array cache lock for shared arrays and disable interrupts\nfor the per cpu arrays?)\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": "1b55253a7f95adc82eb20937b57b3e3e32ba65df",
      "tree": "5ab3f9e6efa5e2ed2a39843b95dcf95ddb89592a",
      "parents": [
        "aab2207cf8d9c343b6b5f0e4d27e1732f8618d14"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@engr.sgi.com",
        "time": "Wed Mar 22 00:09:07 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Mar 22 07:54:05 2006 -0800"
      },
      "message": "[PATCH] slab: remove drain_array_locked\n\nRemove drain_array_locked and use that opportunity to limit the time the l3\nlock is taken further.\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": "aab2207cf8d9c343b6b5f0e4d27e1732f8618d14",
      "tree": "deb851a556ac7d2339a5bc83985a33fe126321ee",
      "parents": [
        "35386e3b0f876bf194982f48f027af0c216499ce"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@engr.sgi.com",
        "time": "Wed Mar 22 00:09:06 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Mar 22 07:54:05 2006 -0800"
      },
      "message": "[PATCH] slab: make drain_array more universal by adding more parameters\n\nAnd a parameter to drain_array to control the freeing of all objects and\nthen use drain_array() to replace instances of drain_array_locked with\ndrain_array.  Doing so will avoid taking locks in those locations if the\narrays are empty.\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": "35386e3b0f876bf194982f48f027af0c216499ce",
      "tree": "9fb79545f6797422f5cf666b0e65a4bb1882ee1d",
      "parents": [
        "248a0301e703cbf781aa02a91bcfc6da75870dd7"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@engr.sgi.com",
        "time": "Wed Mar 22 00:09:05 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Mar 22 07:54:05 2006 -0800"
      },
      "message": "[PATCH] slab: cache_reap(): further reduction in interrupt holdoff\n\ncache_reap takes the l3-\u003elist_lock (disabling interrupts) unconditionally\nand then does a few checks and maybe does some cleanup.  This patch makes\ncache_reap() only take the lock if there is work to do and then the lock is\ntaken and released for each cleaning action.\n\nThe checking of when to do the next reaping is done without any locking and\nbecomes racy.  Should not matter since reaping can also be skipped if the\nslab mutex cannot be acquired.\n\nThe same is true for the touched processing.  If we get this wrong once in\nawhile then we will mistakenly clean or not clean the shared cache.  This\nwill impact performance slightly.\n\nNote that the additional drain_array() function introduced here will fall\nout in a subsequent patch since array cleaning will now be very similar\nfrom all callers.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nCc: Manfred Spraul \u003cmanfred@colorfullife.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "248a0301e703cbf781aa02a91bcfc6da75870dd7",
      "tree": "74168da24983ec948fb25f92c2b3a1b9d76a5f13",
      "parents": [
        "d5d4b0aa4e1430d73050babba999365593bdb9d2"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed Mar 22 00:09:04 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Mar 22 07:54:05 2006 -0800"
      },
      "message": "[PATCH] mm: make shrink_all_memory try harder\n\nMake shrink_all_memory() repeat the attempts to free more memory if there\nseems to be no pages to free.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nCc: 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": "d5d4b0aa4e1430d73050babba999365593bdb9d2",
      "tree": "67199d156f61217f9493d31aa4a9bfbb9c97412e",
      "parents": [
        "bba1e9b2111b14625f670bd07e57fd7ed57ce804"
      ],
      "author": {
        "name": "Chen, Kenneth W",
        "email": "kenneth.w.chen@intel.com",
        "time": "Wed Mar 22 00:09:03 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Mar 22 07:54:04 2006 -0800"
      },
      "message": "[PATCH] optimize follow_hugetlb_page\n\nfollow_hugetlb_page() walks a range of user virtual address and then fills\nin list of struct page * into an array that is passed from the argument\nlist.  It also gets a reference count via get_page().  For compound page,\nget_page() actually traverse back to head page via page_private() macro and\nthen adds a reference count to the head page.  Since we are doing a virt to\npte look up, kernel already has a struct page pointer into the head page.\nSo instead of traverse into the small unit page struct and then follow a\nlink back to the head page, optimize that with incrementing the reference\ncount directly on the head page.\n\nThe benefit is that we don\u0027t take a cache miss on accessing page struct for\nthe corresponding user address and more importantly, not to pollute the\ncache with a \"not very useful\" round trip of pointer chasing.  This adds a\nmoderate performance gain on an I/O intensive database transaction\nworkload.\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": "4866920b93fd7d5b520278c3c76e6f4d5a352d81",
      "tree": "c4b8642c83e11af6d8e57ab35dc479f2c1a651d0",
      "parents": [
        "9da61aef0fd5b17dd4bf4baf33db12c470def774"
      ],
      "author": {
        "name": "David Gibson",
        "email": "david@gibson.dropbear.id.au",
        "time": "Wed Mar 22 00:08:58 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Mar 22 07:54:04 2006 -0800"
      },
      "message": "[PATCH] hugepage: Fix hugepage logic in free_pgtables() harder\n\nTurns out the hugepage logic in free_pgtables() was doubly broken.  The\nloop coalescing multiple normal page VMAs into one call to free_pgd_range()\nhad an off by one error, which could mean it would coalesce one hugepage\nVMA into the same bundle (checking \u0027vma\u0027 not \u0027next\u0027 in the loop).  I\ntransferred this bug into the new is_vm_hugetlb_page() based version.\nHere\u0027s the fix.\n\nThis one didn\u0027t bite on powerpc previously for the same reason the\nis_hugepage_only_range() problem didn\u0027t: powerpc\u0027s hugetlb_free_pgd_range()\nis identical to free_pgd_range().  It didn\u0027t bite on ia64 because the\nhugepage region is distant enough from any other region that the separated\nPMD_SIZE distance test would always prevent coalescing the two together.\n\nNo libhugetlbfs testsuite regressions (ppc64, POWER5).\n\nSigned-off-by: David Gibson \u003cdwg@au1.ibm.com\u003e\nCc: William Lee Irwin III \u003cwli@holomorphy.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "9da61aef0fd5b17dd4bf4baf33db12c470def774",
      "tree": "cb4bb0b63c36a0b303ceadc0cec0fae00c49ecf3",
      "parents": [
        "27a85ef1b81300cfff06b4c8037e9914dfb09acc"
      ],
      "author": {
        "name": "David Gibson",
        "email": "david@gibson.dropbear.id.au",
        "time": "Wed Mar 22 00:08:57 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Mar 22 07:54:03 2006 -0800"
      },
      "message": "[PATCH] hugepage: Fix hugepage logic in free_pgtables()\n\nfree_pgtables() has special logic to call hugetlb_free_pgd_range() instead\nof the normal free_pgd_range() on hugepage VMAs.  However, the test it uses\nto do so is incorrect: it calls is_hugepage_only_range on a hugepage sized\nrange at the start of the vma.  is_hugepage_only_range() will return true\nif the given range has any intersection with a hugepage address region, and\nin this case the given region need not be hugepage aligned.  So, for\nexample, this test can return true if called on, say, a 4k VMA immediately\npreceding a (nicely aligned) hugepage VMA.\n\nAt present we get away with this because the powerpc version of\nhugetlb_free_pgd_range() is just a call to free_pgd_range().  On ia64 (the\nonly other arch with a non-trivial is_hugepage_only_range()) we get away\nwith it for a different reason; the hugepage area is not contiguous with\nthe rest of the user address space, and VMAs are not permitted in between,\nso the test can\u0027t return a false positive there.\n\nNonetheless this should be fixed.  We do that in the patch below by\nreplacing the is_hugepage_only_range() test with an explicit test of the\nVMA using is_vm_hugetlb_page().\n\nThis in turn changes behaviour for platforms where is_hugepage_only_range()\nreturns false always (everything except powerpc and ia64).  We address this\nby ensuring that hugetlb_free_pgd_range() is defined to be identical to\nfree_pgd_range() (instead of a no-op) on everything except ia64.  Even so,\nit will prevent some otherwise possible coalescing of calls down to\nfree_pgd_range().  Since this only happens for hugepage VMAs, removing this\nsmall optimization seems unlikely to cause any trouble.\n\nThis patch causes no regressions on the libhugetlbfs testsuite - ppc64\nPOWER5 (8-way), ppc64 G5 (2-way) and i386 Pentium M (UP).\n\nSigned-off-by: David Gibson \u003cdwg@au1.ibm.com\u003e\nCc: William Lee Irwin III \u003cwli@holomorphy.com\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": "27a85ef1b81300cfff06b4c8037e9914dfb09acc",
      "tree": "1a8d9bc4c5611542273e57fc2606c12905906a57",
      "parents": [
        "b45b5bd65f668a665db40d093e4e1fe563533608"
      ],
      "author": {
        "name": "David Gibson",
        "email": "david@gibson.dropbear.id.au",
        "time": "Wed Mar 22 00:08:56 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Mar 22 07:54:03 2006 -0800"
      },
      "message": "[PATCH] hugepage: Make {alloc,free}_huge_page() local\n\nOriginally, mm/hugetlb.c just handled the hugepage physical allocation path\nand its {alloc,free}_huge_page() functions were used from the arch specific\nhugepage code.  These days those functions are only used with mm/hugetlb.c\nitself.  Therefore, this patch makes them static and removes their\nprototypes from hugetlb.h.  This requires a small rearrangement of code in\nmm/hugetlb.c to avoid a forward declaration.\n\nThis patch causes no regressions on the libhugetlbfs testsuite (ppc64,\nPOWER5).\n\nSigned-off-by: David Gibson \u003cdwg@au1.ibm.com\u003e\nCc: William Lee Irwin III \u003cwli@holomorphy.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "b45b5bd65f668a665db40d093e4e1fe563533608",
      "tree": "aa3806bd87fd7aa719b561e4d468c779f6adb31b",
      "parents": [
        "3935baa9bcda3ccaee4f7849f5157d316e34412e"
      ],
      "author": {
        "name": "David Gibson",
        "email": "david@gibson.dropbear.id.au",
        "time": "Wed Mar 22 00:08:55 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Mar 22 07:54:03 2006 -0800"
      },
      "message": "[PATCH] hugepage: Strict page reservation for hugepage inodes\n\nThese days, hugepages are demand-allocated at first fault time.  There\u0027s a\nsomewhat dubious (and racy) heuristic when making a new mmap() to check if\nthere are enough available hugepages to fully satisfy that mapping.\n\nA particularly obvious case where the heuristic breaks down is where a\nprocess maps its hugepages not as a single chunk, but as a bunch of\nindividually mmap()ed (or shmat()ed) blocks without touching and\ninstantiating the pages in between allocations.  In this case the size of\neach block is compared against the total number of available hugepages.\nIt\u0027s thus easy for the process to become overcommitted, because each block\nmapping will succeed, although the total number of hugepages required by\nall blocks exceeds the number available.  In particular, this defeats such\na program which will detect a mapping failure and adjust its hugepage usage\ndownward accordingly.\n\nThe patch below addresses this problem, by strictly reserving a number of\nphysical hugepages for hugepage inodes which have been mapped, but not\ninstatiated.  MAP_SHARED mappings are thus \"safe\" - they will fail on\nmmap(), not later with an OOM SIGKILL.  MAP_PRIVATE mappings can still\ntrigger an OOM.  (Actually SHARED mappings can technically still OOM, but\nonly if the sysadmin explicitly reduces the hugepage pool between mapping\nand instantiation)\n\nThis patch appears to address the problem at hand - it allows DB2 to start\ncorrectly, for instance, which previously suffered the failure described\nabove.\n\nThis patch causes no regressions on the libhugetblfs testsuite, and makes a\ntest (designed to catch this problem) pass which previously failed (ppc64,\nPOWER5).\n\nSigned-off-by: David Gibson \u003cdwg@au1.ibm.com\u003e\nCc: William Lee Irwin III \u003cwli@holomorphy.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "3935baa9bcda3ccaee4f7849f5157d316e34412e",
      "tree": "45f6d064693a91171c57159acac43822cae6e129",
      "parents": [
        "79ac6ba40eb8d70f0d204e98ae9b63280ad1018c"
      ],
      "author": {
        "name": "David Gibson",
        "email": "david@gibson.dropbear.id.au",
        "time": "Wed Mar 22 00:08:53 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Mar 22 07:54:03 2006 -0800"
      },
      "message": "[PATCH] hugepage: serialize hugepage allocation and instantiation\n\nCurrently, no lock or mutex is held between allocating a hugepage and\ninserting it into the pagetables / page cache.  When we do go to insert the\npage into pagetables or page cache, we recheck and may free the newly\nallocated hugepage.  However, since the number of hugepages in the system\nis strictly limited, and it\u0027s usualy to want to use all of them, this can\nstill lead to spurious allocation failures.\n\nFor example, suppose two processes are both mapping (MAP_SHARED) the same\nhugepage file, large enough to consume the entire available hugepage pool.\nIf they race instantiating the last page in the mapping, they will both\nattempt to allocate the last available hugepage.  One will fail, of course,\nreturning OOM from the fault and thus causing the process to be killed,\ndespite the fact that the entire mapping can, in fact, be instantiated.\n\nThe patch fixes this race by the simple method of adding a (sleeping) mutex\nto serialize the hugepage fault path between allocation and insertion into\npagetables and/or page cache.  It would be possible to avoid the\nserialization by catching the allocation failures, waiting on some\ncondition, then rechecking to see if someone else has instantiated the page\nfor us.  Given the likely frequency of hugepage instantiations, it seems\nvery doubtful it\u0027s worth the extra complexity.\n\nThis patch causes no regression on the libhugetlbfs testsuite, and one\ntest, which can trigger this race now passes where it previously failed.\n\nActually, the test still sometimes fails, though less often and only as a\nshmat() failure, rather processes getting OOM killed by the VM.  The dodgy\nheuristic tests in fs/hugetlbfs/inode.c for whether there\u0027s enough hugepage\nspace aren\u0027t protected by the new mutex, and would be ugly to do so, so\nthere\u0027s still a race there.  Another patch to replace those tests with\nsomething saner for this reason as well as others coming...\n\nSigned-off-by: David Gibson \u003cdwg@au1.ibm.com\u003e\nCc: William Lee Irwin III \u003cwli@holomorphy.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "79ac6ba40eb8d70f0d204e98ae9b63280ad1018c",
      "tree": "522d835dbdc6b6efe6b834f3f1f9a21a8ba161e5",
      "parents": [
        "8f860591ffb29738cf5539b6fbf27f50dcdeb380"
      ],
      "author": {
        "name": "David Gibson",
        "email": "david@gibson.dropbear.id.au",
        "time": "Wed Mar 22 00:08:51 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Mar 22 07:54:03 2006 -0800"
      },
      "message": "[PATCH] hugepage: Small fixes to hugepage clear/copy path\n\nMove the loops used in mm/hugetlb.c to clear and copy hugepages to their\nown functions for clarity.  As we do so, we add some checks of need_resched\n- we are, after all copying megabytes of memory here.  We also add\nmight_sleep() accordingly.  We generally dropped locks around the clear and\ncopy, already but not everyone has PREEMPT enabled, so we should still be\nchecking explicitly.\n\nFor this to work, we need to remove the clear_huge_page() from\nalloc_huge_page(), which is called with the page_table_lock held in the COW\npath.  We move the clear_huge_page() to just after the alloc_huge_page() in\nthe hugepage no-page path.  In the COW path, the new page is about to be\ncopied over, so clearing it was just a waste of time anyway.  So as a side\neffect we also fix the fact that we held the page_table_lock for far too\nlong in this path by calling alloc_huge_page() under it.\n\nIt causes no regressions on the libhugetlbfs testsuite (ppc64, POWER5).\n\nSigned-off-by: David Gibson \u003cdwg@au1.ibm.com\u003e\nCc: William Lee Irwin III \u003cwli@holomorphy.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "8f860591ffb29738cf5539b6fbf27f50dcdeb380",
      "tree": "4265e45c4a79d86a16cd5175a836e8c531be8117",
      "parents": [
        "aed75ff3caafce404d9be7f0c088716375be5279"
      ],
      "author": {
        "name": "Zhang, Yanmin",
        "email": "yanmin_zhang@linux.intel.com",
        "time": "Wed Mar 22 00:08:50 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Mar 22 07:54:03 2006 -0800"
      },
      "message": "[PATCH] Enable mprotect on huge pages\n\n2.6.16-rc3 uses hugetlb on-demand paging, but it doesn_t support hugetlb\nmprotect.\n\nFrom: David Gibson \u003cdavid@gibson.dropbear.id.au\u003e\n\n  Remove a test from the mprotect() path which checks that the mprotect()ed\n  range on a hugepage VMA is hugepage aligned (yes, really, the sense of\n  is_aligned_hugepage_range() is the opposite of what you\u0027d guess :-/).\n\n  In fact, we don\u0027t need this test.  If the given addresses match the\n  beginning/end of a hugepage VMA they must already be suitably aligned.  If\n  they don\u0027t, then mprotect_fixup() will attempt to split the VMA.  The very\n  first test in split_vma() will check for a badly aligned address on a\n  hugepage VMA and return -EINVAL if necessary.\n\nFrom: \"Chen, Kenneth W\" \u003ckenneth.w.chen@intel.com\u003e\n\n  On i386 and x86-64, pte flag _PAGE_PSE collides with _PAGE_PROTNONE.  The\n  identify of hugetlb pte is lost when changing page protection via mprotect.\n  A page fault occurs later will trigger a bug check in huge_pte_alloc().\n\n  The fix is to always make new pte a hugetlb pte and also to clean up\n  legacy code where _PAGE_PRESENT is forced on in the pre-faulting day.\n\nSigned-off-by: Zhang Yanmin \u003cyanmin.zhang@intel.com\u003e\nCc: David Gibson \u003cdavid@gibson.dropbear.id.au\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: William Lee Irwin III \u003cwli@holomorphy.com\u003e\nSigned-off-by: Ken Chen \u003ckenneth.w.chen@intel.com\u003e\nSigned-off-by: Nishanth Aravamudan \u003cnacc@us.ibm.com\u003e\nCc: Andi Kleen \u003cak@muc.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "aed75ff3caafce404d9be7f0c088716375be5279",
      "tree": "15e7165969ff533b73e29a4ee0d4b7c889ef1d29",
      "parents": [
        "a564da3964db3256069190c2ae95069143ac37fb"
      ],
      "author": {
        "name": "Steven Pratt",
        "email": "slpratt@austin.ibm.com",
        "time": "Wed Mar 22 00:08:48 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Mar 22 07:54:03 2006 -0800"
      },
      "message": "[PATCH] readahead: fix initial window size calculation\n\nThe current current get_init_ra_size is not optimal across different IO\nsizes and max_readahead values.  Here is a quick summary of sizes computed\nunder current design and under the attached patch.  All of these assume 1st\nIO at offset 0, or 1st detected sequential IO.\n\n\t32k max, 4k request\n\n\told         new\n\t-----------------\n\t 8k        8k\n\t16k       16k\n\t32k       32k\n\n\t128k max, 4k request\n\told         new\n\t-----------------\n\t32k         16k\n\t64k         32k\n\t128k        64k\n\t128k       128k\n\n\t128k max, 32k request\n\told         new\n\t-----------------\n\t32k         64k    \u003c-----\n\t64k        128k\n\t128k       128k\n\n\t512k max, 4k request\n\told         new\n\t-----------------\n\t4k         32k     \u003c----\n\t16k        64k\n\t64k       128k\n\t128k      256k\n\t512k      512k\n\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Steven Pratt \u003cslpratt@austin.ibm.com\u003e\nCc: Ram Pai \u003clinuxram@us.ibm.com\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "a564da3964db3256069190c2ae95069143ac37fb",
      "tree": "b7b9d66c1d6dde82db23222b16b0296013b1c3db",
      "parents": [
        "d15c023b44e5d323f1f4130b85d29f08e43433b1"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Wed Mar 22 00:08:47 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Mar 22 07:54:03 2006 -0800"
      },
      "message": "[PATCH] readahead: -\u003eprev_page can overrun the ahead window\n\nIf get_next_ra_size() does not grow fast enough, -\u003eprev_page can overrun\nthe ahead window.  This means the caller will read the pages from\n-\u003eahead_start + -\u003eahead_size to -\u003eprev_page synchronously.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Steven Pratt \u003cslpratt@austin.ibm.com\u003e\nCc: Ram Pai \u003clinuxram@us.ibm.com\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "d15c023b44e5d323f1f4130b85d29f08e43433b1",
      "tree": "f7153643b876b25f66e6e33ab2bbc670ba05a7f7",
      "parents": [
        "6e5ef1a96e6e3b123da56292bc35017c8c401491"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Wed Mar 22 00:08:46 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Mar 22 07:54:02 2006 -0800"
      },
      "message": "[PATCH] shmem: inline to avoid warning\n\nshmem.c was named and shamed in Jesper\u0027s \"Building 100 kernels\" warnings:\nshmem_parse_mpol is only used when CONFIG_TMPFS parses mount options; and\nonly called from that one site, so mark it inline like its non-NUMA stub.\n\nSigned-off-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": "6e5ef1a96e6e3b123da56292bc35017c8c401491",
      "tree": "db9532c53013bccd7ac9d186784bbc6fd343bca4",
      "parents": [
        "a7290ee08e434399660ace34427c17696e47c562"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@engr.sgi.com",
        "time": "Wed Mar 22 00:08:45 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Mar 22 07:54:02 2006 -0800"
      },
      "message": "[PATCH] vmscan: emove obsolete checks from shrink_list() and fix unlikely in refill_inactive_zone()\n\nAs suggested by Marcelo:\n\n1. The optimization introduced recently for not calling\n   page_referenced() during zone reclaim makes two additional checks in\n   shrink_list unnecessary.\n\n2. The if (unlikely(sc-\u003emay_swap)) in refill_inactive_zone is optimized\n   for the zone_reclaim case.  However, most peoples system only does swap.\n   Undo that.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: Marcelo Tosatti \u003cmarcelo.tosatti@cyclades.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "b7ab795b7bec9997d4fde39f249d52823d36d98d",
      "tree": "8b8825a0718ec38b5b0840fe06efa9a92a0e30c7",
      "parents": [
        "6626c5d53bc45c59798628677ba5606f02e371f3"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Wed Mar 22 00:08:42 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Mar 22 07:54:02 2006 -0800"
      },
      "message": "[PATCH] mm: more CONFIG_DEBUG_VM\n\nPut a few more checks under CONFIG_DEBUG_VM\n\nSigned-off-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": "6626c5d53bc45c59798628677ba5606f02e371f3",
      "tree": "7be40e7709b1887648a649fd6b5c036638c4608b",
      "parents": [
        "17cf44064ae744f081309108fa67f0e942b10167"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Wed Mar 22 00:08:42 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Mar 22 07:54:02 2006 -0800"
      },
      "message": "[PATCH] mm: prep_zero_page() in irq is a bug\n\nprep_zero_page() uses KM_USER0 and hence may not be used from IRQ context, at\nleast for highmem pages.\n\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\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": "17cf44064ae744f081309108fa67f0e942b10167",
      "tree": "9073ac7498b559f5d0d36843e305a39eecc6436b",
      "parents": [
        "7835e98b2e3c66dba79cb0ff8ebb90a2fe030c29"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Wed Mar 22 00:08:41 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Mar 22 07:54:02 2006 -0800"
      },
      "message": "[PATCH] mm: cleanup prep_ stuff\n\nMove the prep_ stuff into prep_new_page.\n\nSigned-off-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"
    }
  ],
  "next": "7835e98b2e3c66dba79cb0ff8ebb90a2fe030c29"
}
