)]}'
{
  "log": [
    {
      "commit": "3a291a20bd6fcfafb2109031f0760a0d3e92ecd7",
      "tree": "6c034471da9b2aac77b9810af640bb7a515cb299",
      "parents": [
        "ca0aec0f7a94bf9f07fefa8bfd23282d4e8ceb8a"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Jan 06 00:16:37 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 08:33:43 2006 -0800"
      },
      "message": "[PATCH] mm: add a new function (needed for swap suspend)\n\nThis adds the function get_swap_page_of_type() allowing us to specify an index\nin swap_info[] and select a swap_info_struct structure to be used for\nallocating a swap page.\n\nThis function (or another one of similar functionality) will be necessary for\nimplementing the image-writing part of swsusp in the user space.   It can also\nbe used for simplifying the current in-kernel implementation of the\nimage-writing part of swsusp.\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": "c898ec16e83331abde39118e22e9e38335bbb950",
      "tree": "bad725f27cb14e50663d39b8f36b1b79ab88fa80",
      "parents": [
        "215c3409eed16c89b6d11ea1126bd9d4f36b9afd"
      ],
      "author": {
        "name": "Anton Blanchard",
        "email": "anton@samba.org",
        "time": "Fri Jan 06 00:12:07 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 08:33:37 2006 -0800"
      },
      "message": "[PATCH] allow flatmem to be disabled when only sparsemem is implemented\n\nOn architectures that implement sparsemem but not discontigmem we want to\nbe able to hide the flatmem option in some cases.  On ppc64 for example,\nwhen we select NUMA we must not select flatmem.\n\nSigned-off-by: Anton Blanchard \u003canton@samba.org\u003e\nSigned-off-by: Andy Whitcroft \u003capw@shadowen.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "b0e15190ead07056ab0c3844a499ff35e66d27cc",
      "tree": "0601a8d68fa051a7ee85d22640e982c0a64f0efc",
      "parents": [
        "642fb4d1f1dd2417aa69189fe5ceb81e4fb72900"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Fri Jan 06 00:11:42 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 08:33:32 2006 -0800"
      },
      "message": "[PATCH] NOMMU: Make SYSV IPC SHM use ramfs facilities on NOMMU\n\nThe attached patch makes the SYSV IPC shared memory facilities use the new\nramfs facilities on a no-MMU kernel.\n\nThe following changes are made:\n\n (1) There are now shmem_mmap() and shmem_get_unmapped_area() functions to\n     allow the IPC SHM facilities to commune with the tiny-shmem and shmem\n     code.\n\n (2) ramfs files now need resizing using do_truncate() rather than by modifying\n     the inode size directly (see shmem_file_setup()). This causes ramfs to\n     attempt to bind a block of pages of sufficient size to the inode.\n\n (3) CONFIG_SYSVIPC is no longer contingent on CONFIG_MMU.\n\nSigned-off-by: 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": "a74609fafa2e5cc31d558012abaaa55ec9ad9da4",
      "tree": "0be653692864d99da345b575dfe2083994ee1d21",
      "parents": [
        "d3cb487149bd706aa6aeb02042332a450978dc1c"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "nickpiggin@yahoo.com.au",
        "time": "Fri Jan 06 00:11:20 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 08:33:29 2006 -0800"
      },
      "message": "[PATCH] mm: page_state opt\n\nOptimise page_state manipulations by introducing interrupt unsafe accessors\nto page_state fields.  Callers must provide their own locking (either\ndisable interrupts or not update from interrupt context).\n\nSwitch over the hot callsites that can easily be moved under interrupts off\nsections.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: 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": "070f80326a215d8e6c4fd6f175e28eb446c492bc",
      "tree": "e759fa446e9ad101bc2c7f77979fc5a5514aff70",
      "parents": [
        "02a68a5ebc7dd823da7496116f42290103e1e4a9"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@engr.sgi.com",
        "time": "Fri Jan 06 00:11:19 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 08:33:28 2006 -0800"
      },
      "message": "[PATCH] build_zonelists_node(): rename args\n\nGive j and r meaningful names.\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": "02a68a5ebc7dd823da7496116f42290103e1e4a9",
      "tree": "7b79d20246b5c9b769e4f6172fe97e6f91fb921b",
      "parents": [
        "4be38e351c5f455f6f490f5aff29053e33ab4f99"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@engr.sgi.com",
        "time": "Fri Jan 06 00:11:18 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 08:33:28 2006 -0800"
      },
      "message": "[PATCH] Fix zone policy determination\n\nThe use k in the inner loop means that the highest zone nr is always used\nif any zone of a node is populated.  This means that the policy zone is not\ncorrectly determined on arches that do no use HIGHMEM like ia64.\n\nChange the loop to decrement k which also simplifies the BUG_ON.\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": "4be38e351c5f455f6f490f5aff29053e33ab4f99",
      "tree": "fd7ba3678cdb5750894f58034f47076dd38c64ae",
      "parents": [
        "1a93205bdffd9d7278d4a66081cdb48452522a58"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@engr.sgi.com",
        "time": "Fri Jan 06 00:11:17 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 08:33:28 2006 -0800"
      },
      "message": "[PATCH] mm: move determination of policy_zone into page allocator\n\nCurrently the function to build a zonelist for a BIND policy has the side\neffect to set the policy_zone.  This seems to be a bit strange.  policy\nzone seems to not be initialized elsewhere and therefore 0.  Do we police\nZONE_DMA if no bind policy has been used yet?\n\nThis patch moves the determination of the zone to apply policies to into\nthe page allocator.  We determine the zone while building the zonelist for\nnodes.\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": "1a93205bdffd9d7278d4a66081cdb48452522a58",
      "tree": "7f8500fe725e5e8095a8fc77539d351a0e8a4643",
      "parents": [
        "f3fe65122da05e1cd4c9140340d96ea2f95d0c49"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@engr.sgi.com",
        "time": "Fri Jan 06 00:11:16 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 08:33:28 2006 -0800"
      },
      "message": "[PATCH] mm: simplify build_zonelists_node by removing the case statement.\n\nSimplify build_zonelists_node by removing the case statement.\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": "f3fe65122da05e1cd4c9140340d96ea2f95d0c49",
      "tree": "65f2bcdb0a9665123b5083d3aea7dae483593cbc",
      "parents": [
        "80bfed904c690642db9d4178950735299160950b"
      ],
      "author": {
        "name": "Con Kolivas",
        "email": "kernel@kolivas.org",
        "time": "Fri Jan 06 00:11:15 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 08:33:28 2006 -0800"
      },
      "message": "[PATCH] mm: add populated_zone() helper\n\nThere are numerous places we check whether a zone is populated or not.\n\nProvide a helper function to check for populated zones and convert all\nchecks for zone-\u003epresent_pages.\n\nSigned-off-by: Con Kolivas \u003ckernel@kolivas.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "80bfed904c690642db9d4178950735299160950b",
      "tree": "5aca96e02dfebf4665a9f1c7e1d3fa58d8009c09",
      "parents": [
        "210fe530305ee50cd889fe9250168228b2994f32"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Fri Jan 06 00:11:14 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 08:33:28 2006 -0800"
      },
      "message": "[PATCH] consolidate lru_add_drain() and lru_drain_cache()\n\nCc: Christoph Lameter \u003cclameter@engr.sgi.com\u003e\nCc: Rajesh Shah \u003crajesh.shah@intel.com\u003e\nCc: Li Shaohua \u003cshaohua.li@intel.com\u003e\nCc: Srivatsa Vaddagiri \u003cvatsa@in.ibm.com\u003e\nCc: Ashok Raj \u003cashok.raj@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "210fe530305ee50cd889fe9250168228b2994f32",
      "tree": "4d22a28cf28abded5f77daef5b025c04d1ffea56",
      "parents": [
        "41e9b63b35b52cf918a4ffdb8d77862ab824aa8b"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Fri Jan 06 00:11:14 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 08:33:27 2006 -0800"
      },
      "message": "[PATCH] vmscan: balancing fix\n\nRevert a patch which went into 2.6.8-rc1.  The changelog for that patch was:\n\n  The shrink_zone() logic can, under some circumstances, cause far too many\n  pages to be reclaimed.  Say, we\u0027re scanning at high priority and suddenly\n  hit a large number of reclaimable pages on the LRU.\n\n  Change things so we bale out when SWAP_CLUSTER_MAX pages have been\n  reclaimed.\n\nProblem is, this change caused significant imbalance in inter-zone scan\nbalancing by truncating scans of larger zones.\n\nSuppose, for example, ZONE_HIGHMEM is 10x the size of ZONE_NORMAL.  The zone\nbalancing algorithm would require that if we\u0027re scanning 100 pages of\nZONE_HIGHMEM, we should scan 10 pages of ZONE_NORMAL.  But this logic will\ncause the scanning of ZONE_HIGHMEM to bale out after only 32 pages are\nreclaimed.  Thus effectively causing smaller zones to be scanned relatively\nharder than large ones.\n\nNow I need to remember what the workload was which caused me to write this\npatch originally, then fix it up in a different way...\n\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "41e9b63b35b52cf918a4ffdb8d77862ab824aa8b",
      "tree": "472ef8bb097f4e090f5fc95100acdbc77f515087",
      "parents": [
        "9617d95e6e9ffd883cf90a89724fe60d7ab22f9a"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "nickpiggin@yahoo.com.au",
        "time": "Fri Jan 06 00:11:13 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 08:33:27 2006 -0800"
      },
      "message": "[PATCH] mm: pfault optimisation\n\nThis atomic operation is superfluous: the pte will be added with the\nreferenced bit set, and the page will be referenced through this mapping after\nthe page fault handler returns anyway.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: 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": "9617d95e6e9ffd883cf90a89724fe60d7ab22f9a",
      "tree": "67d555d34d931bd253fbc4959ffdb1e5b904f2b0",
      "parents": [
        "224abf92b2f439a9030f21d2926ec8047d1ffcdb"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "nickpiggin@yahoo.com.au",
        "time": "Fri Jan 06 00:11:12 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 08:33:27 2006 -0800"
      },
      "message": "[PATCH] mm: rmap optimisation\n\nOptimise rmap functions by minimising atomic operations when we know there\nwill be no concurrent modifications.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: 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": "224abf92b2f439a9030f21d2926ec8047d1ffcdb",
      "tree": "e45074383aea04ef8b3b8d2cc04a3b34959f9e65",
      "parents": [
        "9328b8faae922e52073785ed6c1eaa8565648a0e"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "nickpiggin@yahoo.com.au",
        "time": "Fri Jan 06 00:11:11 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 08:33:26 2006 -0800"
      },
      "message": "[PATCH] mm: bad_page optimisation\n\nCut down size slightly by not passing bad_page the function name (it should be\nable to be determined by dump_stack()).  And cut down the number of printks in\nbad_page.\n\nAlso, cut down some branching in the destroy_compound_page path.\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": "9328b8faae922e52073785ed6c1eaa8565648a0e",
      "tree": "065034bc534a4997197d26acf1774725159e4e65",
      "parents": [
        "7756b9e4e321c3c83c7aa5b9532d3e7fd7ddeb4a"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "nickpiggin@yahoo.com.au",
        "time": "Fri Jan 06 00:11:10 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 08:33:26 2006 -0800"
      },
      "message": "[PATCH] mm: dma32 zone statistics\n\nAdd dma32 to zone statistics.  Also attempt to arrange struct page_state a\nbit better (visually).\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\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": "7756b9e4e321c3c83c7aa5b9532d3e7fd7ddeb4a",
      "tree": "fe59fcd970e97e3878a743a5b476420501f99f00",
      "parents": [
        "bbfbb7cec9dd7266534b2b4b9c8be2fa425bbfc9"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Fri Jan 06 00:11:09 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 08:33:26 2006 -0800"
      },
      "message": "[PATCH] kill last zone_reclaim() bits\n\nRemove the last bits of Martin\u0027s ill-fated sys_set_zone_reclaim().\n\nCc: Martin Hicks \u003cmort@wildopensource.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "bbfbb7cec9dd7266534b2b4b9c8be2fa425bbfc9",
      "tree": "d1949123224d1674a7192743d188ff652c964663",
      "parents": [
        "a226f6c899799fe2c4919daa0767ac579c88f7bd"
      ],
      "author": {
        "name": "Nikita Danilov",
        "email": "nikita@clusterfs.com",
        "time": "Fri Jan 06 00:11:08 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 08:33:26 2006 -0800"
      },
      "message": "[PATCH] find_lock_page(): call __lock_page() directly.\n\nAs find_lock_page() already checks with TestSetPageLocked() that page is\nlocked, there is no need to call lock_page() that will try-lock page again\n(chances of page being unlocked in between are small).  Call __lock_page()\ndirectly, this saves one atomic operation.\n\nAlso, mark truncate-while-slept path as unlikely while we are here.\n\n(akpm: ug.  But this is actually a common path for normal old read()s against\na page which is under readahead I/O so ho-hum.)\n\nSigned-off-by: Nikita Danilov \u003cdanilov@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "a226f6c899799fe2c4919daa0767ac579c88f7bd",
      "tree": "82863c401f344cae8ab518b174085a7071a0a325",
      "parents": [
        "008857c1a49ccffc31a54c3ea7e182833bd61304"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Fri Jan 06 00:11:08 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 08:33:26 2006 -0800"
      },
      "message": "[PATCH] FRV: Clean up bootmem allocator\u0027s page freeing algorithm\n\nThe attached patch cleans up the way the bootmem allocator frees pages.\n\nA new function, __free_pages_bootmem(), is provided in mm/page_alloc.c that is\ncalled from mm/bootmem.c to turn pages over to the main allocator.  All the\nbits of code to initialise pages (clearing PG_reserved and setting the page\ncount) are moved to here.  The checks on page validity are removed, on the\nassumption that the struct page arrays will have been prepared correctly.\n\nSigned-off-by: 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": "008857c1a49ccffc31a54c3ea7e182833bd61304",
      "tree": "ba65452db097f57e05d2e3df550d55d45feabc94",
      "parents": [
        "085cc7d5de3cc662da7ea78296464a0d52f3f01f"
      ],
      "author": {
        "name": "Ravikiran G Thirumalai",
        "email": "kiran@scalex86.org",
        "time": "Fri Jan 06 00:11:01 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 08:33:26 2006 -0800"
      },
      "message": "[PATCH] Cleanup bootmem allocator and fix alloc_bootmem_low\n\nPatch cleans up the alloc_bootmem fix for swiotlb.  Patch removes\nalloc_bootmem_*_limit api and fixes alloc_boot_*low api to do the right\nthing -- allocate from low32 memory.\n\nSigned-off-by: 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": "085cc7d5de3cc662da7ea78296464a0d52f3f01f",
      "tree": "0fc8bc9ef25929b1bfc2bfb444eb62e6bc5468ff",
      "parents": [
        "a86b1f53166a260ced8f3c8c526945bf496f2e78"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "nickpiggin@yahoo.com.au",
        "time": "Fri Jan 06 00:11:01 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 08:33:25 2006 -0800"
      },
      "message": "[PATCH] mm: page_alloc cleanups\n\nSmall cleanups that does not change generated code with the gcc\u0027s I\u0027ve tested\nwith.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: 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": "a86b1f53166a260ced8f3c8c526945bf496f2e78",
      "tree": "5513bccce91fed08d4769fd18e0f527a84aea508",
      "parents": [
        "2d92c5c9150a2a9ca3dc25da58d5042e17a96b6a"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "nickpiggin@yahoo.com.au",
        "time": "Fri Jan 06 00:11:00 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 08:33:25 2006 -0800"
      },
      "message": "[PATCH] mm: page_state fixes\n\nread_page_state and __get_page_state only traverse online CPUs, which will\ncause results to fluctuate when CPUs are plugged in or out.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: 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": "2d92c5c9150a2a9ca3dc25da58d5042e17a96b6a",
      "tree": "7a559b29019f2391095f958d9546a4453839ec43",
      "parents": [
        "13e7444b0ec59f96d81a4e8c379d5f38fc5f2cc1"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "nickpiggin@yahoo.com.au",
        "time": "Fri Jan 06 00:10:59 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 08:33:25 2006 -0800"
      },
      "message": "[PATCH] mm: remove pcp low\n\nstruct per_cpu_pages.low is useless.  Remove it.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: 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": "13e7444b0ec59f96d81a4e8c379d5f38fc5f2cc1",
      "tree": "95420c03993981fd778047563c5af3f7dbdba74f",
      "parents": [
        "92be2e33b155ee76399f51f41fb061f850d02f08"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "nickpiggin@yahoo.com.au",
        "time": "Fri Jan 06 00:10:58 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 08:33:25 2006 -0800"
      },
      "message": "[PATCH] mm: remove bad_range\n\nbad_range is supposed to be a temporary check.  It would be a pity to throw it\nout.  Make it depend on CONFIG_DEBUG_VM instead.\n\nCONFIG_HOLES_IN_ZONE systems were relying on this to check pfn_valid in the\npage allocator.  Add that to page_is_buddy instead.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: 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": "92be2e33b155ee76399f51f41fb061f850d02f08",
      "tree": "13397157257259eff83729e0286c9a94cfb5a966",
      "parents": [
        "77a8a78834561398fb4cb1480afa7b0e80b1dd53"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "nickpiggin@yahoo.com.au",
        "time": "Fri Jan 06 00:10:57 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 08:33:25 2006 -0800"
      },
      "message": "[PATCH] mm: microopt conditions\n\nMicro optimise some conditionals where we don\u0027t need lazy evaluation.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: 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": "77a8a78834561398fb4cb1480afa7b0e80b1dd53",
      "tree": "c58179bfb6c68fb6cad547852345150be039591f",
      "parents": [
        "c54ad30c784b84d0275152d0ca80985b21471811"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "nickpiggin@yahoo.com.au",
        "time": "Fri Jan 06 00:10:57 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 08:33:25 2006 -0800"
      },
      "message": "[PATCH] mm: set_page_refs opt\n\nInline set_page_refs.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: 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": "c54ad30c784b84d0275152d0ca80985b21471811",
      "tree": "7a40d6ddbe67360a1d9c577e3a2987d140056303",
      "parents": [
        "c484d41042e6ccb88089ca41e3b3eed1bafdae21"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "nickpiggin@yahoo.com.au",
        "time": "Fri Jan 06 00:10:56 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 08:33:25 2006 -0800"
      },
      "message": "[PATCH] mm: pagealloc opt\n\nSlightly optimise some page allocation and freeing functions by taking\nadvantage of knowing whether or not interrupts are disabled.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: 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": "c484d41042e6ccb88089ca41e3b3eed1bafdae21",
      "tree": "c65e522698456899ed5ab058373d3ca2aad1650b",
      "parents": [
        "161599ff39a3c3cdea0a1be05ac53accd2c45cdd"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Fri Jan 06 00:10:55 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 08:33:24 2006 -0800"
      },
      "message": "[PATCH] mm: free_pages_and_swap_cache opt\n\nMinor optimization (though it doesn\u0027t help in the PREEMPT case, severely\nconstrained by small ZAP_BLOCK_SIZE).  free_pages_and_swap_cache works in\nchunks of 16, calling release_pages which works in chunks of PAGEVEC_SIZE.\nBut PAGEVEC_SIZE was dropped from 16 to 14 in 2.6.10, so we\u0027re now doing more\nspin_lock_irq\u0027ing than necessary: use PAGEVEC_SIZE throughout.\n\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: 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": "a94b3ab7eab4edcc9b2cb474b188f774c331adf7",
      "tree": "96636969fa4a9e0b79c98f81cbcd726c5d3834a5",
      "parents": [
        "d5afa6dcf74c0efb60ce07c63d0a727be93c67c5"
      ],
      "author": {
        "name": "Mike Kravetz",
        "email": "kravetz@us.ibm.com",
        "time": "Fri Jan 06 00:10:51 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 08:33:24 2006 -0800"
      },
      "message": "[PATCH] mm: remove arch independent NODES_SPAN_OTHER_NODES\n\nThe NODES_SPAN_OTHER_NODES config option was created so that DISCONTIGMEM\ncould handle pSeries numa layouts.  However, support for DISCONTIGMEM has\nbeen replaced by SPARSEMEM on powerpc.  As a result, this config option and\nsupporting code is no longer needed.\n\nI have already sent a patch to Paul that removes the option from powerpc\nspecific code.  This removes the arch independent piece.  Doesn\u0027t really\nmatter which is applied first.\n\nSigned-off-by: Mike Kravetz \u003ckravetz@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "6bda666a03f063968833760c5bb5c13062ab9291",
      "tree": "8ecc0b672c059aa296f80935cda33f3e59970832",
      "parents": [
        "21abb1478a87e26f5fa71dbcb7cf4264272c2248"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@engr.sgi.com",
        "time": "Fri Jan 06 00:10:49 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 08:33:23 2006 -0800"
      },
      "message": "[PATCH] hugepages: fold find_or_alloc_pages into huge_no_page()\n\nThe number of parameters for find_or_alloc_page increases significantly after\npolicy support is added to huge pages.  Simplify the code by folding\nfind_or_alloc_huge_page() into hugetlb_no_page().\n\nAdam Litke objected to this piece in an earlier patch but I think this is a\ngood simplification.  Diffstat shows that we can get rid of almost half of the\nlines of find_or_alloc_page().  If we can find no consensus then lets simply\ndrop this patch.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: Andi Kleen \u003cak@muc.de\u003e\nAcked-by: William Lee Irwin III \u003cwli@holomorphy.com\u003e\nCc: Adam Litke \u003cagl@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "21abb1478a87e26f5fa71dbcb7cf4264272c2248",
      "tree": "01e9a76ec55975b509aa721ad7d9e9cce89d9c82",
      "parents": [
        "5da7ca86078964cbfe6c83efc1205904587706fe"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@engr.sgi.com",
        "time": "Fri Jan 06 00:10:47 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 08:33:23 2006 -0800"
      },
      "message": "[PATCH] Remove old node based policy interface from mempolicy.c\n\nmempolicy.c contains provisional interface for huge page allocation based on\nnode numbers.  This is in use in SLES9 but was never used (AFAIK) in upstream\nversions of Linux.\n\nHuge page allocations now use zonelists to figure out where to allocate pages.\n The use of zonelists allows us to find the closest hugepage which was the\nconsideration of the NUMA distance for huge page allocations.\n\nRemove the obsolete functions.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: Andi Kleen \u003cak@muc.de\u003e\nAcked-by: William Lee Irwin III \u003cwli@holomorphy.com\u003e\nCc: Adam Litke \u003cagl@us.ibm.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": "5da7ca86078964cbfe6c83efc1205904587706fe",
      "tree": "a64a7824e90b42d6fdd71e6cb652362beb8983a1",
      "parents": [
        "96df9333c94d7d5aeceb21f6c5e7ae8ff34753cf"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@engr.sgi.com",
        "time": "Fri Jan 06 00:10:46 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 08:33:23 2006 -0800"
      },
      "message": "[PATCH] Add NUMA policy support for huge pages.\n\nThe huge_zonelist() function in the memory policy layer provides an list of\nzones ordered by NUMA distance.  The hugetlb layer will walk that list looking\nfor a zone that has available huge pages but is also in the nodeset of the\ncurrent cpuset.\n\nThis patch does not contain the folding of find_or_alloc_huge_page() that was\ncontroversial in the earlier discussion.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: Andi Kleen \u003cak@muc.de\u003e\nAcked-by: William Lee Irwin III \u003cwli@holomorphy.com\u003e\nCc: Adam Litke \u003cagl@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "96df9333c94d7d5aeceb21f6c5e7ae8ff34753cf",
      "tree": "a4ac0486af418df0194ed0038b87459652d61945",
      "parents": [
        "1e8f889b10d8d2223105719e36ce45688fedbd59"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@engr.sgi.com",
        "time": "Fri Jan 06 00:10:45 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 08:33:23 2006 -0800"
      },
      "message": "[PATCH] mm: dequeue a huge page near to this node\n\nThis was discussed at\nhttp://marc.theaimsgroup.com/?l\u003dlinux-kernel\u0026m\u003d113166526217117\u0026w\u003d2\n\nThis patch changes the dequeueing to select a huge page near the node\nexecuting instead of always beginning to check for free nodes from node 0.\nThis will result in a placement of the huge pages near the executing\nprocessor improving performance.\n\nThe existing implementation can place the huge pages far away from the\nexecuting processor causing significant degradation of performance.  The\nsearch starting from zero also means that the lower zones quickly run out\nof memory.  Selecting a huge page near the process distributed the huge\npages better.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: William Lee Irwin III \u003cwli@holomorphy.com\u003e\nCc: Adam Litke \u003cagl@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1e8f889b10d8d2223105719e36ce45688fedbd59",
      "tree": "86dee89e4363aaf6c7ec7c9751ea37f725c95bb9",
      "parents": [
        "86e5216f8d8aa258ba836caffe2613d79cc9aead"
      ],
      "author": {
        "name": "David Gibson",
        "email": "david@gibson.dropbear.id.au",
        "time": "Fri Jan 06 00:10:44 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 08:33:23 2006 -0800"
      },
      "message": "[PATCH] Hugetlb: Copy on Write support\n\nImplement copy-on-write support for hugetlb mappings so MAP_PRIVATE can be\nsupported.  This helps us to safely use hugetlb pages in many more\napplications.  The patch makes the following changes.  If needed, I also have\nit broken out according to the following paragraphs.\n\n1. Add a pair of functions to set/clear write access on huge ptes.  The\n   writable check in make_huge_pte is moved out to the caller for use by COW\n   later.\n\n2. Hugetlb copy-on-write requires special case handling in the following\n   situations:\n\n   - copy_hugetlb_page_range() - Copied pages must be write protected so\n     a COW fault will be triggered (if necessary) if those pages are written\n     to.\n\n   - find_or_alloc_huge_page() - Only MAP_SHARED pages are added to the\n     page cache.  MAP_PRIVATE pages still need to be locked however.\n\n3. Provide hugetlb_cow() and calls from hugetlb_fault() and\n   hugetlb_no_page() which handles the COW fault by making the actual copy.\n\n4. Remove the check in hugetlbfs_file_map() so that MAP_PRIVATE mmaps\n   will be allowed.  Make MAP_HUGETLB exempt from the depricated VM_RESERVED\n   mapping check.\n\nSigned-off-by: David Gibson \u003cdavid@gibson.dropbear.id.au\u003e\nSigned-off-by: Adam Litke \u003cagl@us.ibm.com\u003e\nCc: William Lee Irwin III \u003cwli@holomorphy.com\u003e\nCc: \"Seth, Rohit\" \u003crohit.seth@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "86e5216f8d8aa258ba836caffe2613d79cc9aead",
      "tree": "33669c0194490700b575fceb0e5e010a4468a5fe",
      "parents": [
        "85ef47f74afe96c8c23eaa605f28cc01443c905f"
      ],
      "author": {
        "name": "Adam Litke",
        "email": "agl@us.ibm.com",
        "time": "Fri Jan 06 00:10:43 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 08:33:22 2006 -0800"
      },
      "message": "[PATCH] Hugetlb: Reorganize hugetlb_fault to prepare for COW\n\nThis patch splits the \"no_page()\" type activity into its own function,\nhugetlb_no_page().  hugetlb_fault() becomes the entry point for hugetlb faults\nand delegates to the appropriate handler depending on the type of fault.\nRight now we still have only hugetlb_no_page() but a later patch introduces a\nCOW fault.\n\nSigned-off-by: David Gibson \u003cdavid@gibson.dropbear.id.au\u003e\nSigned-off-by: Adam Litke \u003cagl@us.ibm.com\u003e\nCc: William Lee Irwin III \u003cwli@holomorphy.com\u003e\nCc: \"Seth, Rohit\" \u003crohit.seth@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "85ef47f74afe96c8c23eaa605f28cc01443c905f",
      "tree": "afe3a52f3e00cbab3f30f756fb60b250fe8de2c6",
      "parents": [
        "f0916794f00be44154102dedaeafe68b743078a2"
      ],
      "author": {
        "name": "Adam Litke",
        "email": "agl@us.ibm.com",
        "time": "Fri Jan 06 00:10:42 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 08:33:22 2006 -0800"
      },
      "message": "[PATCH] Hugetlb: Rename find_lock_page to find_or_alloc_huge_page\n\nfind_lock_huge_page() isn\u0027t a great name, since it does extra things not\nanalagous to find_lock_page().  Rename it find_or_alloc_huge_page() which is\ncloser to the mark.\n\nSigned-off-by: David Gibson \u003cdavid@gibson.dropbear.id.au\u003e\nSigned-off-by: Adam Litke \u003cagl@us.ibm.com\u003e\nCc: William Lee Irwin III \u003cwli@holomorphy.com\u003e\nCc: \"Seth, Rohit\" \u003crohit.seth@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f0916794f00be44154102dedaeafe68b743078a2",
      "tree": "0faa7e86d938c184f5ccead70410b4d014c2bdf2",
      "parents": [
        "f6b3ec238d12c8cc6cc71490c6e3127988460349"
      ],
      "author": {
        "name": "Adam Litke",
        "email": "agl@us.ibm.com",
        "time": "Fri Jan 06 00:10:40 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 08:33:22 2006 -0800"
      },
      "message": "[PATCH] Hugetlb: Remove duplicate i_size check\n\ncleanup\n\nSigned-off-by: David Gibson \u003cdavid@gibson.dropbear.id.au\u003e\nSigned-off-by: Adam Litke \u003cagl@us.ibm.com\u003e\nCc: William Lee Irwin III \u003cwli@holomorphy.com\u003e\nCc: \"Seth, Rohit\" \u003crohit.seth@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f6b3ec238d12c8cc6cc71490c6e3127988460349",
      "tree": "b395c1054802760b0e938199231a9de9ac2f358a",
      "parents": [
        "d7339071f6a8b50101d7ba327926b770f22d5d8b"
      ],
      "author": {
        "name": "Badari Pulavarty",
        "email": "pbadari@us.ibm.com",
        "time": "Fri Jan 06 00:10:38 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 08:33:22 2006 -0800"
      },
      "message": "[PATCH] madvise(MADV_REMOVE): remove pages from tmpfs shm backing store\n\nHere is the patch to implement madvise(MADV_REMOVE) - which frees up a\ngiven range of pages \u0026 its associated backing store.  Current\nimplementation supports only shmfs/tmpfs and other filesystems return\n-ENOSYS.\n\n\"Some app allocates large tmpfs files, then when some task quits and some\nclient disconnect, some memory can be released.  However the only way to\nrelease tmpfs-swap is to MADV_REMOVE\". - Andrea Arcangeli\n\nDatabases want to use this feature to drop a section of their bufferpool\n(shared memory segments) - without writing back to disk/swap space.\n\nThis feature is also useful for supporting hot-plug memory on UML.\n\nConcerns raised by Andrew Morton:\n\n- \"We have no plan for holepunching!  If we _do_ have such a plan (or\n  might in the future) then what would the API look like?  I think\n  sys_holepunch(fd, start, len), so we should start out with that.\"\n\n- Using madvise is very weird, because people will ask \"why do I need to\n  mmap my file before I can stick a hole in it?\"\n\n- None of the other madvise operations call into the filesystem in this\n  manner.  A broad question is: is this capability an MM operation or a\n  filesytem operation?  truncate, for example, is a filesystem operation\n  which sometimes has MM side-effects.  madvise is an mm operation and with\n  this patch, it gains FS side-effects, only they\u0027re really, really\n  significant ones.\"\n\nComments:\n\n- Andrea suggested the fs operation too but then it\u0027s more efficient to\n  have it as a mm operation with fs side effects, because they don\u0027t\n  immediatly know fd and physical offset of the range.  It\u0027s possible to\n  fixup in userland and to use the fs operation but it\u0027s more expensive,\n  the vmas are already in the kernel and we can use them.\n\nShort term plan \u0026  Future Direction:\n\n- We seem to need this interface only for shmfs/tmpfs files in the short\n  term.  We have to add hooks into the filesystem for correctness and\n  completeness.  This is what this patch does.\n\n- In the future, plan is to support both fs and mmap apis also.  This\n  also involves (other) filesystem specific functions to be implemented.\n\n- Current patch doesn\u0027t support VM_NONLINEAR - which can be addressed in\n  the future.\n\nSigned-off-by: Badari Pulavarty \u003cpbadari@us.ibm.com\u003e\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: Andrea Arcangeli \u003candrea@suse.de\u003e\nCc: Michael Kerrisk \u003cmtk-manpages@gmx.net\u003e\nCc: Ulrich Drepper \u003cdrepper@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "d7339071f6a8b50101d7ba327926b770f22d5d8b",
      "tree": "051234ada89be22abb9ebbe4a541b16ade3bc2ff",
      "parents": [
        "900b2b463dc6e65ec474d6880412c63c25b3aea9"
      ],
      "author": {
        "name": "Hans Reiser",
        "email": "reiser@namesys.com",
        "time": "Fri Jan 06 00:10:36 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 08:33:22 2006 -0800"
      },
      "message": "[PATCH] reiser4: vfs: add truncate_inode_pages_range()\n\nThis patch makes truncate_inode_pages_range from truncate_inode_pages.\ntruncate_inode_pages became a one-liner call to truncate_inode_pages_range.\n\nReiser4 needs truncate_inode_pages_ranges because it tries to keep\ncorrespondence between existences of metadata pointing to data pages and pages\nto which those metadata point to.  So, when metadata of certain part of file\nis removed from filesystem tree, only pages of corresponding range are to be\ntruncated.\n\n(Needed by the madvise(MADV_REMOVE) patch)\n\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "5ac24eefd1d89bc6aa2817741c3bd5d4205b2efd",
      "tree": "3112180da39a0fa9967c55022118a6f8dfa10d8f",
      "parents": [
        "47f3a867f6310d6abfa185ab12baaba7ed1d69af"
      ],
      "author": {
        "name": "Andy Whitcroft",
        "email": "apw@shadowen.org",
        "time": "Fri Jan 06 00:10:33 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 08:33:21 2006 -0800"
      },
      "message": "[PATCH] memhotplug: __add_section remove unused pgdat definition\n\n__add_section defines an unused pointer to the zones pgdat.  Remove this\ndefinition.  This fixes a compile warning.\n\nSigned-off-by: Andy Whitcroft \u003capw@shadowen.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "47f3a867f6310d6abfa185ab12baaba7ed1d69af",
      "tree": "59e218a6d18c683bc3f3d86055d3df553a5acaed",
      "parents": [
        "a576219aca70e6700705a9836e098dbecd25fb56"
      ],
      "author": {
        "name": "Paul Jackson",
        "email": "pj@sgi.com",
        "time": "Fri Jan 06 00:10:32 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 08:33:21 2006 -0800"
      },
      "message": "[PATCH] mm: fix __alloc_pages cpuset ALLOC_* flags\n\nTwo changes to the setting of the ALLOC_CPUSET flag in\nmm/page_alloc.c:__alloc_pages()\n\n- A bug fix - the \"ignoring mins\" case should not be honoring ALLOC_CPUSET.\n  This case of all cases, since it is handling a request that will free up\n  more memory than is asked for (exiting tasks, e.g.) should be allowed to\n  escape cpuset constraints when memory is tight.\n\n- A logic change to make it simpler.  Honor cpusets even on GFP_ATOMIC\n  (!wait) requests.  With this, cpuset confinement applies to all requests\n  except ALLOC_NO_WATERMARKS, so that in a subsequent cleanup patch, I can\n  remove the ALLOC_CPUSET flag entirely.  Since I don\u0027t know any real reason\n  this logic has to be either way, I am choosing the path of the simplest\n  code.\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": "994fc28c7b1e697ac56befe4aecabf23f0689f46",
      "tree": "da36d162e9bd077e9b5be385b28e2db90475c263",
      "parents": [
        "7063fbf2261194f72ee75afca67b3b38b554b5fa"
      ],
      "author": {
        "name": "Zach Brown",
        "email": "zach.brown@oracle.com",
        "time": "Thu Dec 15 14:28:17 2005 -0800"
      },
      "committer": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Tue Jan 03 11:45:42 2006 -0800"
      },
      "message": "[PATCH] add AOP_TRUNCATED_PAGE, prepend AOP_ to WRITEPAGE_ACTIVATE\n\nreadpage(), prepare_write(), and commit_write() callers are updated to\nunderstand the special return code AOP_TRUNCATED_PAGE in the style of\nwritepage() and WRITEPAGE_ACTIVATE.  AOP_TRUNCATED_PAGE tells the caller that\nthe callee has unlocked the page and that the operation should be tried again\nwith a new page.  OCFS2 uses this to detect and work around a lock inversion in\nits aop methods.  There should be no change in behaviour for methods that don\u0027t\nreturn AOP_TRUNCATED_PAGE.\n\nWRITEPAGE_ACTIVATE is also prepended with AOP_ for consistency and they are\nmade enums so that kerneldoc can be used to document their semantics.\n\nSigned-off-by: Zach Brown \u003czach.brown@oracle.com\u003e\n"
    },
    {
      "commit": "8f493d797bc1fe470377adc9d8775845427e240e",
      "tree": "08f4555a0064185152a51ed707e9571dbeedddc7",
      "parents": [
        "abe842eb98c45e2b77c5868ef106616ca828a3e4"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@suse.de",
        "time": "Tue Jan 03 00:07:28 2006 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jan 02 17:01:42 2006 -0800"
      },
      "message": "[PATCH] Make sure interleave masks have at least one node set\n\nOtherwise a bad mem policy system call can confuse the interleaving\ncode into referencing undefined nodes.\n\nOriginally reported by Doug Chapman\n\nI was told it\u0027s CVE-2005-3358\n(one has to love these security people - they make everything sound important)\n\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "4d7672b46244abffea1953e55688c0ea143dd617",
      "tree": "9f3bdf438bcb0d5f6e723665ced23308fffb8368",
      "parents": [
        "281ab031a8c9e5b593142eb4ec59a87faae8676a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Dec 16 10:21:23 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Dec 16 10:21:23 2005 -0800"
      },
      "message": "Make sure we copy pages inserted with \"vm_insert_page()\" on fork\n\nThe logic that decides that a fork() might be able to avoid copying a VM\narea when it can be re-created by page faults didn\u0027t know about the new\nvm_insert_page() case.\n\nAlso make some things a bit more anal wrt VM_PFNMAP.\n\nPointed out by Hugh Dickins \u003chugh@veritas.com\u003e\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "78d9955bb06493e7bd78e43dfdc17fb5f1dc59b6",
      "tree": "67254d5c6df42764f5666cd17a6c9b564353ed0a",
      "parents": [
        "538bacf8a4802d209f955726b66891b8a921dabf"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ftp.linux.org.uk",
        "time": "Thu Dec 15 09:18:25 2005 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Dec 15 10:04:30 2005 -0800"
      },
      "message": "[PATCH] missing prototype (mm/page_alloc.c)\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "118c71bcacce82a4317c9bd99c6a15af14020aee",
      "tree": "9a1f286152a7f21242ba04dd5b24b0cf7be88266",
      "parents": [
        "664d22ab954de54e52e0f71103a89c7a78738adc"
      ],
      "author": {
        "name": "Yasunori Goto",
        "email": "y-goto@jp.fujitsu.com",
        "time": "Tue Dec 13 17:03:37 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Dec 13 21:18:16 2005 -0800"
      },
      "message": "[PATCH] Fix calculation of grow_pgdat_span() in mm/memory_hotplug.c\n\nThe calculation for node_spanned_pages at grow_pgdat_span() is clearly\nwrong.  This is patch for it.\n\n(Please see grow_zone_span() to compare. It is correct.)\n\nSigned-off-by: Yasunori Goto \u003cy-goto@jp.fujitsu.com\u003e\nAcked-by: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1ff8038988adecfde71d82c0597727fc239d4e8c",
      "tree": "a592cbfad237a5e373724918a0cc17ee9c421237",
      "parents": [
        "14ee0a1414536d27bc29373bf23c106b8ef8ce0b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Dec 12 16:24:33 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Dec 12 16:24:33 2005 -0800"
      },
      "message": "get_user_pages: don\u0027t try to follow PFNMAP pages\n\nNick Piggin points out that a few drivers play games with VM_IO (why?\nwho knows..) and thus a pfn-remapped area may not have that bit set even\nif remap_pfn_range() set it originally.\n\nSo make it explicit in get_user_pages() that we don\u0027t follow VM_PFNMAP\npages, since pretty much by definition they do not have a \"struct page\"\nassociated with them.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "66d43e98ea6ff291cd4e524386bfb99105feb180",
      "tree": "56cff27261a3f9b16022c9ec8d53e4913f758eb9",
      "parents": [
        "ff9569bc5558e958777fd43580f2ccd83733cdf6"
      ],
      "author": {
        "name": "Haren Myneni",
        "email": "haren@us.ibm.com",
        "time": "Mon Dec 12 00:37:39 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Dec 12 08:57:45 2005 -0800"
      },
      "message": "[PATCH] fix in __alloc_bootmem_core() when there is no free page in first node\u0027s memory\n\nHitting BUG_ON() in __alloc_bootmem_core() when there is no free page\navailable in the first node\u0027s memory.  For the case of kdump on PPC64\n(Power 4 machine), the captured kernel is used two memory regions - memory\nfor TCE tables (tce-base and tce-size at top of RAM and reserved) and\ncaptured kernel memory region (crashk_base and crashk_size).  Since we\nreserve the memory for the first node, we should be returning from\n__alloc_bootmem_core() to search for the next node (pg_dat).\n\nCurrently, find_next_zero_bit() is returning the n^th bit (eidx) when there\nis no free page.  Then, test_bit() is failed since we set 0xff only for the\nactual size initially (init_bootmem_core()) even though rounded up to one\npage for bdata-\u003enode_bootmem_map.  We are hitting the BUG_ON after failing\nto enter second \"for\" loop.\n\nSigned-off-by: Haren Myneni \u003charen@us.ibm.com\u003e\nCc: Andy Whitcroft \u003capw@shadowen.org\u003e\nCc: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "67121172f9753f38689651b613a4850e0e75876f",
      "tree": "cfb6ea8365c44a43ee254385c7d246f0418cedd0",
      "parents": [
        "913f2d792ff584bf9ebf5968472b3e4ffe0fd9c8"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Dec 11 20:38:17 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Dec 11 20:38:17 2005 -0800"
      },
      "message": "Allow arbitrary read-only shared pfn-remapping too\n\nThe VM layer (for historical reasons) turns a read-only shared mmap into\na private-like mapping with the VM_MAYWRITE bit clear.  Thus checking\njust VM_SHARED isn\u0027t actually sufficient.\n\nSo use a trivial helper function for the cases where we wanted to inquire\nif a mapping was COW-like or not.\n\nMoo!\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "7fc7e2eeecb599ba719c4c4503100fc8cd6a6920",
      "tree": "389b63cf2cbdf27fceef52a450b4b05367fe4425",
      "parents": [
        "fb155c1619f056ae9765eed272cd6aba6e1a7399"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Dec 11 19:57:52 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Dec 11 19:57:52 2005 -0800"
      },
      "message": "Remove (at least temporarily) the \"incomplete PFN mapping\" support\n\nWith the previous commit, we can handle arbitrary shared re-mappings\neven without this complexity, and since the only known private mappings\nare for strange users of /dev/mem (which never create an incomplete one),\nthere seems to be no reason to support it.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "fb155c1619f056ae9765eed272cd6aba6e1a7399",
      "tree": "04a82b5fbf83bdb9dcf7fec9aeaaecf92532d88c",
      "parents": [
        "e4f5c82a92c2a546a16af1614114eec19120e40a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Dec 11 19:46:02 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Dec 11 19:46:02 2005 -0800"
      },
      "message": "Allow arbitrary shared PFNMAP\u0027s\n\nA shared mapping doesn\u0027t cause COW-pages, so we don\u0027t need to worry\nabout the whole vm_pgoff logic to decide if a PFN-remapped page has\ngone through COW or not.\n\nThis makes it possible to entirely avoid the special \"partial remapping\"\nlogic for the common case.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "e3c3374fbf7efe9487edc53cd10436ed641983aa",
      "tree": "316a9e9ea22c49de5bef8af6a4b4557353f7d36a",
      "parents": [
        "0ceaacc9785fedc500e19b024d606a82a23f5372"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Dec 03 20:48:11 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Dec 03 20:48:11 2005 -0800"
      },
      "message": "Make vm_insert_page() available to NVidia module\n\nIt used to use remap_pfn_range(), which wasn\u0027t GPL-only either, and the\nnew interface is actually simpler and does more checking, so we\nshouldn\u0027t unnecessarily discourage people from switching over.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "0ceaacc9785fedc500e19b024d606a82a23f5372",
      "tree": "ad178c7daa6ec7eaaae4e57d5ac8e20a8e806282",
      "parents": [
        "9a40525788a1b692ee0fc780a8cdb2ac808de1b0"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "nickpiggin@yahoo.com.au",
        "time": "Sun Dec 04 13:55:25 2005 +1100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Dec 03 20:46:40 2005 -0800"
      },
      "message": "[PATCH] Fix up per-cpu page batch sizes\n\nThe code to clamp batch sizes to 2^n - 1 went missing and an extra\ncheck got added, which must have been a hunk of the \"higer order pcp\nbatch refills\" work sneaking in.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "a145dd411eb28c83ee4bb68b66f62c326c0f764e",
      "tree": "d88745d3839f501e59cf9ada5274777af939aa2d",
      "parents": [
        "f8e988436b9d83b20bc5cc378f1a8034816ae6a6"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Nov 30 09:35:19 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Nov 30 09:35:19 2005 -0800"
      },
      "message": "VM: add \"vm_insert_page()\" function\n\nThis is what a lot of drivers will actually want to use to insert\nindividual pages into a user VMA.  It doesn\u0027t have the old PageReserved\nrestrictions of remap_pfn_range(), and it doesn\u0027t complain about partial\nremappings.\n\nThe page you insert needs to be a nice clean kernel allocation, so you\ncan\u0027t insert arbitrary page mappings with this, but that\u0027s not what\npeople want.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "49c91fb01ff3948285608c65754b3ffbf57d50f2",
      "tree": "f229ea6c060fb927080fe668a0f277d0aee3ef8a",
      "parents": [
        "2f12c74f0cfdc93e1d47ac70766e837ef29472fd"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "trond.myklebust@fys.uio.no",
        "time": "Tue Nov 29 19:27:22 2005 -0500"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Nov 29 17:29:57 2005 -0800"
      },
      "message": "[PATCH] VM: Fix typos in get_locked_pte\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "325f04dbca60a4cfe4ac25e7cf246edd07eb4c5f",
      "tree": "eb9e9fb10b1897fae3130c55c4821b829748767b",
      "parents": [
        "e5bbe4dfc8dbfc50ef89f8641e020616d4d1e69e"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Tue Nov 29 16:55:48 2005 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Nov 29 14:09:17 2005 -0800"
      },
      "message": "[PATCH] pfnmap: do_no_page BUG_ON again\n\nUse copy_user_highpage directly instead of cow_user_page in do_no_page:\nin the immediately following page_cache_release, and elsewhere, it is\nassuming that new_page is normal.  If any VM_PFNMAP driver can get to\ndo_no_page, it\u0027s just a BUG (but not in the case of do_anonymous_page).\n\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "e5bbe4dfc8dbfc50ef89f8641e020616d4d1e69e",
      "tree": "8bf22ece18b6f7e20024bef19d8afd2a0b07556a",
      "parents": [
        "5d2a2dbbc1025dbf7998b9289574d9592b8f21cc"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Tue Nov 29 16:54:51 2005 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Nov 29 14:09:16 2005 -0800"
      },
      "message": "[PATCH] pfnmap: remove src_page from do_wp_page\n\nClean away do_wp_page\u0027s \"src_page\": cow_user_page makes it unnecessary.\n\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "5d2a2dbbc1025dbf7998b9289574d9592b8f21cc",
      "tree": "b4f3f45190b814b5196235c21f983fbc7878a47b",
      "parents": [
        "c9cfcddfd65735437a4cb8563d6b66a6da8a5ed6"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Nov 29 14:07:55 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Nov 29 14:07:55 2005 -0800"
      },
      "message": "cow_user_page: fix page alignment\n\nHigh Dickins points out that the user virtual address passed to the page\nfault handler isn\u0027t necessarily page-aligned.\n\nAlso, add a comment on why the copy could fail for the user address case.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "c9cfcddfd65735437a4cb8563d6b66a6da8a5ed6",
      "tree": "618cdf37baafe8b283bcc9923d9dde89d6428fb5",
      "parents": [
        "4168f7a31801bba6acc18662978d24ec850bbbd0"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Nov 29 14:03:14 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Nov 29 14:03:14 2005 -0800"
      },
      "message": "VM: add common helper function to create the page tables\n\nThis logic was duplicated four times, for no good reason.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "238f58d898df941aa9d1cb390fb27ff4febe8965",
      "tree": "4a897b3a47e7d209e3ff8601febd3dde16f3803e",
      "parents": [
        "eca351336acb2fa943611e0846562ce3997ef53b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Nov 29 13:01:56 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Nov 29 13:01:56 2005 -0800"
      },
      "message": "Support strange discontiguous PFN remappings\n\nThese get created by some drivers that don\u0027t generally even want a pfn\nremapping at all, but would really mostly prefer to just map pages\nthey\u0027ve allocated individually instead.\n\nFor now, create a helper function that turns such an incomplete PFN\nremapping call into a loop that does that explicit mapping.  In the long\nrun we almost certainly want to export a totally different interface for\nthat, though.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "eca351336acb2fa943611e0846562ce3997ef53b",
      "tree": "9b7b022d7b2d5f2f23bc979fa8bf5c1e418456bd",
      "parents": [
        "d70aa5e4b54aa7e704c886838715ac8a45d5750f"
      ],
      "author": {
        "name": "Ben Collins",
        "email": "bcollins@debian.org",
        "time": "Tue Nov 29 11:45:26 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Nov 29 12:57:17 2005 -0800"
      },
      "message": "[PATCH] Fix missing pfn variables caused by vm changes\n\nI image this showed up because of \"unused var...\" when the changes\noccured, because flush_cache_page() is a noop in most places.  This\nshowed up for me on parisc however, where flush_cache_page() is a real\nfunction.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "fa2a455b028f3b6ca4dae129c6337d7edf21f12c",
      "tree": "42b147522c5c112e26efa55b8173a97b424149a5",
      "parents": [
        "624f54be206adf970cd8eece16446b027913e533"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "nickpiggin@yahoo.com.au",
        "time": "Tue Nov 29 18:43:17 2005 +1100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Nov 29 07:53:32 2005 -0800"
      },
      "message": "[PATCH] Fix vma argument in get_usr_pages() for gate areas\n\nThe system call gate area handling called vm_normal_page() with the\nwrong vma (which was always NULL, and caused an oops).\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "ea164d73a7a0b2b2be3a1d8c2a8a4dab8999fa9c",
      "tree": "60ad3933633f1e1858f9c506546daaa077e1f81d",
      "parents": [
        "154f484b92e5c25c400f6903512c511644a49322"
      ],
      "author": {
        "name": "Andrea Arcangeli",
        "email": "andrea@suse.de",
        "time": "Mon Nov 28 13:44:15 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Nov 28 14:42:26 2005 -0800"
      },
      "message": "[PATCH] shrinker-\u003enr \u003d LONG_MAX means deadlock for icache\n\nWith Andrew Morton \u003cakpm@osdl.org\u003e\n\nThe slab scanning code tries to balance the scanning rate of slabs versus the\nscanning rate of LRU pages.  To do this, it retains state concerning how many\nslabs have been scanned - if a particular slab shrinker didn\u0027t scan enough\nobjects, we remember that for next time, and scan more objects on the next\npass.\n\nThe problem with this is that with (say) a huge number of GFP_NOIO\ndirect-reclaim attempts, the number of objects which are to be scanned when we\nfinally get a GFP_KERNEL request can be huge.  Because some shrinker handlers\njust bail out if !__GFP_FS.\n\nSo the patch clamps the number of objects-to-be-scanned to 2* the total number\nof objects in the slab cache.\n\nSigned-off-by: Andrea Arcangeli \u003candrea@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f7b7fd8f3ebbb2810d6893295aa984acd0fd30db",
      "tree": "01afc1edafc50a3c65ec8576c05c60da53d8d242",
      "parents": [
        "a93a117eaa0bec426d4671a49bfa96a6fdcd2ac9"
      ],
      "author": {
        "name": "Rik van Riel",
        "email": "riel@redhat.com",
        "time": "Mon Nov 28 13:44:07 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Nov 28 14:42:25 2005 -0800"
      },
      "message": "[PATCH] temporarily disable swap token on memory pressure\n\nSome users (hi Zwane) have seen a problem when running a workload that\neats nearly all of physical memory - th system does an OOM kill, even\nwhen there is still a lot of swap free.\n\nThe problem appears to be a very big task that is holding the swap\ntoken, and the VM has a very hard time finding any other page in the\nsystem that is swappable.\n\nInstead of ignoring the swap token when sc-\u003epriority reaches 0, we could\nsimply take the swap token away from the memory hog and make sure we\ndon\u0027t give it back to the memory hog for a few seconds.\n\nThis patch resolves the problem Zwane ran into.\n\nSigned-off-by: Rik van Riel \u003criel@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "3148890bfa4f36c9949871264e06ef4d449eeff9",
      "tree": "f8d7b2498ec83883d1434abd9042ae8e6863bdb2",
      "parents": [
        "aa877b3dc9f2a1fdffac4ea36bee97c21db11a69"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "nickpiggin@yahoo.com.au",
        "time": "Mon Nov 28 13:44:03 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Nov 28 14:42:24 2005 -0800"
      },
      "message": "[PATCH] mm: __alloc_pages cleanup fix\n\nI believe this patch is required to fix breakage in the asynch reclaim\nwatermark logic introduced by this patch:\n\nhttp://www.kernel.org/git/?p\u003dlinux/kernel/git/torvalds/linux-2.6.git;a\u003dcommitdiff;h\u003d7fb1d9fca5c6e3b06773b69165a73f3fb786b8ee\n\nJust some background of the watermark logic in case it isn\u0027t clear...\nBasically what we have is this:\n\n ---  pages_high\n   |\n   | (a)\n   |\n ---  pages_low\n   |\n   | (b)\n   |\n ---  pages_min\n   |\n   | (c)\n   |\n ---  0\n\nNow when pages_low is reached, we want to kick asynch reclaim, which gives us\nan interval of \"b\" before we must start synch reclaim, and gives kswapd an\ninterval of \"a\" before it need go back to sleep.\n\nWhen pages_min is reached, normal allocators must enter synch reclaim, but\nPF_MEMALLOC, ALLOC_HARDER, and ALLOC_HIGH (ie.  atomic allocations, recursive\nallocations, etc.) get access to varying amounts of the reserve \"c\".\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: \"Seth, Rohit\" \u003crohit.seth@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "e0f39591cc178026607fcbbe9a53be435fe8285d",
      "tree": "18387c401edd3f672a30246b6e580067d8806355",
      "parents": [
        "5cd9194a1b0b0fa219c31421ac64dfd38670ed49"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Mon Nov 28 13:43:44 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Nov 28 14:42:22 2005 -0800"
      },
      "message": "[PATCH] Workaround for gcc 2.96 (undefined references)\n\n  LD      .tmp_vmlinux1\nmm/built-in.o(.text+0x100d6): In function `copy_page_range\u0027:\n: undefined reference to `__pud_alloc\u0027\nmm/built-in.o(.text+0x1010b): In function `copy_page_range\u0027:\n: undefined reference to `__pmd_alloc\u0027\nmm/built-in.o(.text+0x11ef4): In function `__handle_mm_fault\u0027:\n: undefined reference to `__pud_alloc\u0027\nfs/built-in.o(.text+0xc930): In function `install_arg_page\u0027:\n: undefined reference to `__pud_alloc\u0027\nmake: *** [.tmp_vmlinux1] Error 1\n\nThose missing references in mm/memory.c arise from this code in\ninclude/linux/mm.h, combined with the fact that __PGTABLE_PMD_FOLDED and\n__PGTABLE_PUD_FOLDED are both set and __ARCH_HAS_4LEVEL_HACK is not:\n\n/*\n * The following ifdef needed to get the 4level-fixup.h header to work.\n * Remove it when 4level-fixup.h has been removed.\n */\n#if defined(CONFIG_MMU) \u0026\u0026 !defined(__ARCH_HAS_4LEVEL_HACK)\nstatic inline pud_t *pud_alloc(struct mm_struct *mm, pgd_t *pgd, unsigned long address)\n{\n        return (unlikely(pgd_none(*pgd)) \u0026\u0026 __pud_alloc(mm, pgd, address))?\n                NULL: pud_offset(pgd, address);\n}\n\nstatic inline pmd_t *pmd_alloc(struct mm_struct *mm, pud_t *pud, unsigned long address)\n{\n        return (unlikely(pud_none(*pud)) \u0026\u0026 __pmd_alloc(mm, pud, address))?\n                NULL: pmd_offset(pud, address);\n}\n#endif /* CONFIG_MMU \u0026\u0026 !__ARCH_HAS_4LEVEL_HACK */\n\nWith my configuration the pgd_none and pud_none routines are inlines\nreturning a constant 0.  Apparently the old compiler avoids generating\ncalls to __pud_alloc and __pmd_alloc but still lists them as undefined\nreferences in the module\u0027s symbol table.\n\nI don\u0027t know which change caused this problem.  I think it was added\nsomewhere between 2.6.14 and 2.6.15-rc1, because I remember building\nseveral 2.6.14-rc kernels without difficulty.  However I can\u0027t point to an\nindividual culprit.\n\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "6aab341e0a28aff100a09831c5300a2994b8b986",
      "tree": "1af3908275aa5e1b16e80efee554a9a7504c56d4",
      "parents": [
        "458af5439fe7ae7d95ca14106844e61f0795166c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Nov 28 14:34:23 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Nov 28 14:34:23 2005 -0800"
      },
      "message": "mm: re-architect the VM_UNPAGED logic\n\nThis replaces the (in my opinion horrible) VM_UNMAPPED logic with very\nexplicit support for a \"remapped page range\" aka VM_PFNMAP.  It allows a\nVM area to contain an arbitrary range of page table entries that the VM\nnever touches, and never considers to be normal pages.\n\nAny user of \"remap_pfn_range()\" automatically gets this new\nfunctionality, and doesn\u0027t even have to mark the pages reserved or\nindeed mark them any other way.  It just works.  As a side effect, doing\nmmap() on /dev/mem works for arbitrary ranges.\n\nSparc update from David in the next commit.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "479ef592f3664dd629417098c8599261c0f689ab",
      "tree": "616270b5c79cc3ef5f1fba683f1913f4bea74f47",
      "parents": [
        "02b7068221eed702a37527fa2da4d63a27b3126a"
      ],
      "author": {
        "name": "Oleg Drokin",
        "email": "green@linuxhacker.ru",
        "time": "Wed Nov 23 13:37:47 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Nov 23 16:08:39 2005 -0800"
      },
      "message": "[PATCH] 32bit integer overflow in invalidate_inode_pages2()\n\nFix a 32 bit integer overflow in invalidate_inode_pages2_range.\n\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "7b6ac9dffe6f4dd8776908b234ac1410ed15f112",
      "tree": "1e30fde299519eb964899be79560599e04a32a66",
      "parents": [
        "c101e77301877086e6f977fcfb140d1cbbe23fd5"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Wed Nov 23 13:37:37 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Nov 23 16:08:38 2005 -0800"
      },
      "message": "[PATCH] mm: update split ptlock Kconfig\n\nCloser attention to the arithmetic shows that neither ppc64 nor sparc really\nuses one page for multiple page tables: how on earth could they, while\npte_alloc_one returns just a struct page pointer, with no offset?\n\nWell, arm26 manages it by returning a pte_t pointer cast to a struct page\npointer, harumph, then compensating in its pmd_populate.  But arm26 is never\nSMP, so it\u0027s not a problem for split ptlock either.\n\nAnd the PA-RISC situation has been recently improved: CONFIG_PA20 works\nwithout the 16-byte alignment which inflated its spinlock_t.  But the current\nunion of spinlock_t with private does make the 7xxx struct page significantly\nlarger, even without debug, so disable its split ptlock.\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": "0bd0f9fb190a0fc0fb25b764c8b04869711f7657",
      "tree": "0bd7b58c037b5905cf834f27625bd4e0cbb2f3f2",
      "parents": [
        "5ef897c71a8985b62b7ec320a37376daaad364d0"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Mon Nov 21 21:32:28 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Nov 22 09:13:43 2005 -0800"
      },
      "message": "[PATCH] hugetlb: fix race in set_max_huge_pages for multiple updaters of nr_huge_pages\n\nIf there are multiple updaters to /proc/sys/vm/nr_hugepages simultaneously\nit is possible for the nr_huge_pages variable to become incorrect.  There\nis no locking in the set_max_huge_pages function around\nalloc_fresh_huge_page which is able to update nr_huge_pages.  Two callers\nto alloc_fresh_huge_page could race against each other as could a call to\nalloc_fresh_huge_page and a call to update_and_free_page.  This patch just\nexpands the area covered by the hugetlb_lock to cover the call into\nalloc_fresh_huge_page.  I\u0027m not sure how we could say that a sysctl section\nis performance critical where more specific locking would be needed.\n\nMy reproducer was to run a couple copies of the following script\nsimultaneously\n\nwhile [ true ]; do\n\techo 1000 \u003e /proc/sys/vm/nr_hugepages\n\techo 500 \u003e /proc/sys/vm/nr_hugepages\n\techo 750 \u003e /proc/sys/vm/nr_hugepages\n\techo 100 \u003e /proc/sys/vm/nr_hugepages\n\techo 0 \u003e /proc/sys/vm/nr_hugepages\ndone\n\nand then watch /proc/meminfo and eventually you will see things like\n\nHugePages_Total:     100\nHugePages_Free:      109\n\nAfter applying the patch all seemed well.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\nAcked-by: William Irwin \u003cwli@holomorphy.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "689bcebfda16d7bace742740bfb3137fff30b529",
      "tree": "7a7c1f583ed2c4838244650d83b53557ec1a8efa",
      "parents": [
        "f57e88a8d83de8d844b57e16b84d2f762fe9f092"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Mon Nov 21 21:32:20 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Nov 22 09:13:42 2005 -0800"
      },
      "message": "[PATCH] unpaged: PG_reserved bad_page\n\nIt used to be the case that PG_reserved pages were silently never freed, but\nin 2.6.15-rc1 they may be freed with a \"Bad page state\" message.  We should\nwork through such cases as they appear, fixing the code; but for now it\u0027s\nsafer to issue the message without freeing the page, leaving PG_reserved set.\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": "f57e88a8d83de8d844b57e16b84d2f762fe9f092",
      "tree": "32fee3ab5c177bc0f47827dd18ad4471be3b2a74",
      "parents": [
        "ee498ed730283e9cdfc8913f12b90a2246f1a8cc"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Mon Nov 21 21:32:19 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Nov 22 09:13:42 2005 -0800"
      },
      "message": "[PATCH] unpaged: ZERO_PAGE in VM_UNPAGED\n\nIt\u0027s strange enough to be looking out for anonymous pages in VM_UNPAGED areas,\nlet\u0027s not insert the ZERO_PAGE there - though whether it would matter will\ndepend on what we decide about ZERO_PAGE refcounting.\n\nBut whereas do_anonymous_page may (exceptionally) be called on a VM_UNPAGED\narea, do_no_page should never be: just BUG_ON.\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": "ee498ed730283e9cdfc8913f12b90a2246f1a8cc",
      "tree": "797966a8454e40fdf1879bacea510ad8c55a91a2",
      "parents": [
        "920fc356f58d0e455bdfa53451f1c58eb211a846"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Mon Nov 21 21:32:18 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Nov 22 09:13:42 2005 -0800"
      },
      "message": "[PATCH] unpaged: anon in VM_UNPAGED\n\ncopy_one_pte needs to copy the anonymous COWed pages in a VM_UNPAGED area,\nzap_pte_range needs to free them, do_wp_page needs to COW them: just like\nordinary pages, not like the unpaged.\n\nBut recognizing them is a little subtle: because PageReserved is no longer a\ncondition for remap_pfn_range, we can now mmap all of /dev/mem (whether the\ndistro permits, and whether it\u0027s advisable on this or that architecture, is\nanother matter).  So if we can see a PageAnon, it may not be ours to mess with\n(or may be ours from elsewhere in the address space).  I suspect there\u0027s an\nentertaining insoluble self-referential problem here, but the page_is_anon\nfunction does a good practical job, and MAP_PRIVATE PROT_WRITE VM_UNPAGED will\nalways be an odd choice.\n\nIn updating the comment on page_address_in_vma, noticed a potential NULL\ndereference, in a path we don\u0027t actually take, but fixed it.\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": "920fc356f58d0e455bdfa53451f1c58eb211a846",
      "tree": "cb5fe90bc74ad9dd95191bb3c105aadd833197f2",
      "parents": [
        "101d2be7646b7dd1c367d50208a59b29fce61398"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Mon Nov 21 21:32:17 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Nov 22 09:13:42 2005 -0800"
      },
      "message": "[PATCH] unpaged: COW on VM_UNPAGED\n\nRemove the BUG_ON(vma-\u003evm_flags \u0026 VM_UNPAGED) from do_wp_page, and let it do\nCopy-On-Write without touching the VM_UNPAGED\u0027s page counts - but this is\nincomplete, because the anonymous page it inserts will itself need to be\nhandled, here and in other functions - next patch.\n\nWe still don\u0027t copy the page if the pfn is invalid, because the\ncopy_user_highpage interface does not allow it.  But that\u0027s not been a problem\nin the past: can be added in later if the need arises.\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": "101d2be7646b7dd1c367d50208a59b29fce61398",
      "tree": "5b01c8a93a749cc776744c71c4f79e95ef5d6393",
      "parents": [
        "0b14c179a483e71ea41df2aa4a661760063115bd"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Mon Nov 21 21:32:16 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Nov 22 09:13:42 2005 -0800"
      },
      "message": "[PATCH] unpaged: VM_NONLINEAR VM_RESERVED\n\nThere\u0027s one peculiar use of VM_RESERVED which the previous patch left behind:\nbecause VM_NONLINEAR\u0027s try_to_unmap_cluster uses vm_private_data as a swapout\ncursor, but should never meet VM_RESERVED vmas, it was a way of extending\nVM_NONLINEAR to VM_RESERVED vmas using vm_private_data for some other purpose.\n But that\u0027s an empty set - they don\u0027t have the populate function required.  So\njust throw away those VM_RESERVED tests.\n\nBut one more interesting in rmap.c has to go too: try_to_unmap_one will want\nto swap out an anonymous page from VM_RESERVED or VM_UNPAGED area.\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": "0b14c179a483e71ea41df2aa4a661760063115bd",
      "tree": "075fc303a3d2fd33f66c0af8f64064cff2b72b79",
      "parents": [
        "664beed0190fae687ac51295694004902ddeb18e"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Mon Nov 21 21:32:15 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Nov 22 09:13:42 2005 -0800"
      },
      "message": "[PATCH] unpaged: VM_UNPAGED\n\nAlthough we tend to associate VM_RESERVED with remap_pfn_range, quite a few\ndrivers set VM_RESERVED on areas which are then populated by nopage.  The\nPageReserved removal in 2.6.15-rc1 changed VM_RESERVED not to free pages in\nzap_pte_range, without changing those drivers not to set it: so their pages\njust leak away.\n\nLet\u0027s not change miscellaneous drivers now: introduce VM_UNPAGED at the core,\nto flag the special areas where the ptes may have no struct page, or if they\nhave then it\u0027s not to be touched.  Replace most instances of VM_RESERVED in\ncore mm by VM_UNPAGED.  Force it on in remap_pfn_range, and the sparc and\nsparc64 io_remap_pfn_range.\n\nRevert addition of VM_RESERVED to powerpc vdso, it\u0027s not needed there.  Is it\nneeded anywhere?  It still governs the mm-\u003ereserved_vm statistic, and special\nvmas not to be merged, and areas not to be core dumped; but could probably be\neliminated later (the drivers are probably specifying it because in 2.4 it\nkept swapout off the vma, but in 2.6 we work from the LRU, which these pages\ndon\u0027t get on).\n\nUse the VM_SHM slot for VM_UNPAGED, and define VM_SHM to 0: it serves no\npurpose whatsoever, and should be removed from drivers when we clean up.\n\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nAcked-by: William Irwin \u003cwli@holomorphy.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "664beed0190fae687ac51295694004902ddeb18e",
      "tree": "89a7c8d9d541fb678c567834cb758fc88b375d47",
      "parents": [
        "1cdca61bf8537043edde8ef784ce1a1351361dac"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Mon Nov 21 21:32:14 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Nov 22 09:13:42 2005 -0800"
      },
      "message": "[PATCH] unpaged: unifdefed PageCompound\n\nIt looks like snd_xxx is not the only nopage to be using PageReserved as a way\nof holding a high-order page together: which no longer works, but is masked by\nour failure to free from VM_RESERVED areas.  We cannot fix that bug without\nfirst substituting another way to hold the high-order page together, while\nfarming out the 0-order pages from within it.\n\nThat\u0027s just what PageCompound is designed for, but it\u0027s been kept under\nCONFIG_HUGETLB_PAGE.  Remove the #ifdefs: which saves some space (out- of-line\nput_page), doesn\u0027t slow down what most needs to be fast (already using\nhugetlb), and unifies the way we handle high-order pages.\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": "83e9b7e929d1323b9a155d186f77aa8c06155cc3",
      "tree": "3cad39e867ca337b08bc4a7309c2b17787abd527",
      "parents": [
        "ed5297a94090d9a9f27b0ce1f9601ebe73561cff"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Mon Nov 21 21:32:12 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Nov 22 09:13:42 2005 -0800"
      },
      "message": "[PATCH] unpaged: private write VM_RESERVED\n\nThe PageReserved removal in 2.6.15-rc1 issued a \"deprecated\" message when you\ntried to mmap or mprotect MAP_PRIVATE PROT_WRITE a VM_RESERVED, and failed\nwith -EACCES: because do_wp_page lacks the refinement to COW pages in those\nareas, nor do we expect to find anonymous pages in them; and it seemed just\nbloat to add code for handling such a peculiar case.  But immediately it\ncaused vbetool and ddcprobe (using lrmi) to fail.\n\nSo revert the \"deprecated\" messages, letting mmap and mprotect succeed.  But\nleave do_wp_page\u0027s BUG_ON(vma-\u003evm_flags \u0026 VM_RESERVED) in place until we\u0027ve\nadded the code to do it right: so this particular patch is only good if the\napp doesn\u0027t really need to write to that private area.\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": "ed5297a94090d9a9f27b0ce1f9601ebe73561cff",
      "tree": "00d28144ae949b3f9d566279cb12be0c802f86e6",
      "parents": [
        "aa1a64ee12ae130706f3fc0007841ce9b0ddf9c2"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Mon Nov 21 21:32:11 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Nov 22 09:13:41 2005 -0800"
      },
      "message": "[PATCH] unpaged: get_user_pages VM_RESERVED\n\nThe PageReserved removal in 2.6.15-rc1 prohibited get_user_pages on the areas\nflagged VM_RESERVED in place of PageReserved.  That is correct in theory - we\nought not to interfere with struct pages in such a reserved area; but in\npractice it broke BTTV for one.\n\nSo revert to prohibiting only on VM_IO: if someone gets into trouble with\nget_user_pages on VM_RESERVED, it\u0027ll just be a \"don\u0027t do that\".\n\nYou can argue that videobuf_mmap_mapper shouldn\u0027t set VM_RESERVED in the first\nplace, but now\u0027s not the time for breaking drivers without notice.\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": "2161558fa5bebfeb272493ae91e836b497029023",
      "tree": "16304f91757243626d74e65063ee7224cacbf797",
      "parents": [
        "e670dfb9a4f9e136da44db167da75b2365f7cebb",
        "e67b23c71cb9ee02d65a74c3858716ba2dedd554"
      ],
      "author": {
        "name": "Kyle McMartin",
        "email": "kyle@parisc-linux.org",
        "time": "Fri Nov 18 16:39:20 2005 -0500"
      },
      "committer": {
        "name": "Kyle McMartin",
        "email": "kyle@parisc-linux.org",
        "time": "Fri Nov 18 16:39:20 2005 -0500"
      },
      "message": "Merge branch \u0027master\u0027\n"
    },
    {
      "commit": "9ab8851549fb9ed570013c33e0786a3fd084be41",
      "tree": "a5ed61d5e2a09ee0f8bd1a9e707b46954dff13ae",
      "parents": [
        "a39cf72ceb406e152c4682c0b635a96f1439c5ed"
      ],
      "author": {
        "name": "Matthew Wilcox",
        "email": "willy@parisc-linux.org",
        "time": "Fri Nov 18 16:16:42 2005 -0500"
      },
      "committer": {
        "name": "Kyle McMartin",
        "email": "kyle@parisc-linux.org",
        "time": "Fri Nov 18 16:16:42 2005 -0500"
      },
      "message": "[PARISC] Fix compile warning caused by conflicting types of expand_upwards()\n\nFix compile warning caused by conflicting types of expand_upwards. IA64\nrequires it to not be static inline, as it\u0027s used outside mm/mmap.c\n\nSigned-off-by: Matthew Wilcox \u003cwilly@parisc-linux.org\u003e\nSigned-off-by: Kyle McMartin \u003ckyle@parisc-linux.org\u003e\n"
    },
    {
      "commit": "58bb01a9cd72eebf60d00c57b948a76aa7b85727",
      "tree": "556a2185831feae57684f9c92f011a559420dab7",
      "parents": [
        "996417d2c4eb583e94553e4ede58974e0da1c38e"
      ],
      "author": {
        "name": "Hans Reiser",
        "email": "reiser@namesys.com",
        "time": "Fri Nov 18 01:10:53 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Nov 18 07:49:45 2005 -0800"
      },
      "message": "[PATCH] re-export clear_page_dirty_for_io()\n\n2.6.14 has this exported, and reiser4 (at least) uses it.  Put things back\nthe way they were.\n\nSigned-off-by: Vladimir V. Saveliev \u003cvs@namesys.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "6b1de9161e973bac8c4675db608fe4f38d2689bd",
      "tree": "3ab6aaad7d22dcb7a00a339b8b49c2f5b2ecc12d",
      "parents": [
        "bb833986674ce1fc1b237b3d81459511ad2df393"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Thu Nov 17 21:35:02 2005 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Nov 17 12:43:01 2005 -0800"
      },
      "message": "[PATCH] VM: fix zone list restart in page allocatate\n\nWe must reassign z before looping through the zones kicking kswapd,\nsince it will be NULL if we hit an OOM condition and jump back to the\nbeginning again. \u0027z\u0027 is initially assigned before the restart: label. So\nmove the restart label up a little.\n\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\n"
    },
    {
      "commit": "4060994c3e337b40e0f6fa8ce2cc178e021baf3d",
      "tree": "980297c1747ca89354bc879cc5d17903eacb19e2",
      "parents": [
        "0174f72f848dfe7dc7488799776303c81b181b16",
        "d3ee871e63d0a0c70413dc0aa5534b8d6cd6ec37"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Nov 14 19:56:02 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Nov 14 19:56:02 2005 -0800"
      },
      "message": "Merge x86-64 update from Andi\n"
    },
    {
      "commit": "07808b74e7dab1aa385e698795875337d72daf7d",
      "tree": "3b593c31e6e58364f4001105bfeebefa94708209",
      "parents": [
        "1dff7f3db5f045ccbfeca5bb00b0958a78501557"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@suse.de",
        "time": "Sat Nov 05 17:25:53 2005 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Nov 14 19:55:14 2005 -0800"
      },
      "message": "[PATCH] x86_64: Remove obsolete ARCH_HAS_ATOMIC_UNSIGNED and page_flags_t\n\nHas been introduced for x86-64 at some point to save memory\nin struct page, but has been obsolete for some time. Just\nremove it.\n\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "b0d41693217b3bb5b837940dc7465e82a9d49476",
      "tree": "965dbdfea6644d57fd107619b2ea9e0c9ec6bdc1",
      "parents": [
        "fed644132f8ec4bf05b63f79c507c0acaa692c37"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@suse.de",
        "time": "Sat Nov 05 17:25:53 2005 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Nov 14 19:55:13 2005 -0800"
      },
      "message": "[PATCH] x86_64: When cpu_up fails clean up page allocator properly\n\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "a2f1b424900715ed9d1699c3bb88a434a2b42bc0",
      "tree": "8ef440f840656365166ff2d71aa445c224c53546",
      "parents": [
        "56720367cd89ef5265f39da2d674c5b92cd4cd87"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@suse.de",
        "time": "Sat Nov 05 17:25:53 2005 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Nov 14 19:55:13 2005 -0800"
      },
      "message": "[PATCH] x86_64: Add 4GB DMA32 zone\n\nAdd a new 4GB GFP_DMA32 zone between the GFP_DMA and GFP_NORMAL zones.\n\nAs a bit of historical background: when the x86-64 port\nwas originally designed we had some discussion if we should\nuse a 16MB DMA zone like i386 or a 4GB DMA zone like IA64 or\nboth. Both was ruled out at this point because it was in early\n2.4 when VM is still quite shakey and had bad troubles even\ndealing with one DMA zone.  We settled on the 16MB DMA zone mainly\nbecause we worried about older soundcards and the floppy.\n\nBut this has always caused problems since then because\ndevice drivers had trouble getting enough DMA able memory. These days\nthe VM works much better and the wide use of NUMA has proven\nit can deal with many zones successfully.\n\nSo this patch adds both zones.\n\nThis helps drivers who need a lot of memory below 4GB because\ntheir hardware is not accessing more (graphic drivers - proprietary\nand free ones, video frame buffer drivers, sound drivers etc.).\nPreviously they could only use IOMMU+16MB GFP_DMA, which\nwas not enough memory.\n\nAnother common problem is that hardware who has full memory\naddressing for \u003e4GB misses it for some control structures in memory\n(like transmit rings or other metadata).  They tended to allocate memory\nin the 16MB GFP_DMA or the IOMMU/swiotlb then using pci_alloc_consistent,\nbut that can tie up a lot of precious 16MB GFPDMA/IOMMU/swiotlb memory\n(even on AMD systems the IOMMU tends to be quite small) especially if you have\nmany devices.  With the new zone pci_alloc_consistent can just put\nthis stuff into memory below 4GB which works better.\n\nOne argument was still if the zone should be 4GB or 2GB. The main\nmotivation for 2GB would be an unnamed not so unpopular hardware\nraid controller (mostly found in older machines from a particular four letter\ncompany) who has a strange 2GB restriction in firmware. But\nthat one works ok with swiotlb/IOMMU anyways, so it doesn\u0027t really\nneed GFP_DMA32. I chose 4GB to be compatible with IA64 and because\nit seems to be the most common restriction.\n\nThe new zone is so far added only for x86-64.\n\nFor other architectures who don\u0027t set up this\nnew zone nothing changes. Architectures can set a compatibility\ndefine in Kconfig CONFIG_DMA_IS_DMA32 that will define GFP_DMA32\nas GFP_DMA. Otherwise it\u0027s a nop because on 32bit architectures\nit\u0027s normally not needed because GFP_NORMAL (\u003d0) is DMA able\nenough.\n\nOne problem is still that GFP_DMA means different things on different\narchitectures. e.g. some drivers used to have #ifdef ia64  use GFP_DMA\n(trusting it to be 4GB) #elif __x86_64__ (use other hacks like\nthe swiotlb because 16MB is not enough) ... . This was quite\nugly and is now obsolete.\n\nThese should be now converted to use GFP_DMA32 unconditionally. I haven\u0027t done\nthis yet. Or best only use pci_alloc_consistent/dma_alloc_coherent\nwhich will use GFP_DMA32 transparently.\n\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "50c85a19e7b3928b5b5188524c44ffcbacdd4e35",
      "tree": "a886792eba2e11615c3846bc6b1c77c41ce6dda0",
      "parents": [
        "065d41cb269e9debb18c6d5052e4de1088ae3d8f"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@engr.sgi.com",
        "time": "Sun Nov 13 16:06:47 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Nov 13 18:14:12 2005 -0800"
      },
      "message": "[PATCH] slab: remove alloc_pages() calls\n\nThe slab allocator never uses alloc_pages since kmem_getpages() is always\ncalled with a valid nodeid.  Remove the branch and the code from\nkmem_getpages()\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\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": "065d41cb269e9debb18c6d5052e4de1088ae3d8f",
      "tree": "db3fbad420fc3dec144c76ecc51cc1d72e31aef9",
      "parents": [
        "669ed17521b9b78cdbeac8a53c30599aca9527ce"
      ],
      "author": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Sun Nov 13 16:06:46 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Nov 13 18:14:12 2005 -0800"
      },
      "message": "[PATCH] slab: convert cache to page mapping macros\n\nThis patch converts object cache \u003c-\u003e page mapping macros to static inline\nfunctions to make the more explicit and readable.\n\nSigned-off-by: 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": "669ed17521b9b78cdbeac8a53c30599aca9527ce",
      "tree": "9a4c037120b7a85943c37115be9f4a6eacb28874",
      "parents": [
        "2d6c666e8704cf06267f29a4fa3d2cf823469c38"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "nickpiggin@yahoo.com.au",
        "time": "Sun Nov 13 16:06:45 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Nov 13 18:14:12 2005 -0800"
      },
      "message": "[PATCH] mm: highmem watermarks\n\nThe pages_high - pages_low and pages_low - pages_min deltas are the asynch\nreclaim watermarks.  As such, the should be in the same ratios as any other\nzone for highmem zones.  It is the pages_min - 0 delta which is the\nPF_MEMALLOC reserve, and this is the region that isn\u0027t very useful for\nhighmem.\n\nThis patch ensures highmem systems have similar characteristics as non highmem\nones with the same amount of memory, and also that highmem zones get similar\nreclaim pressures to other zones.\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": "7fb1d9fca5c6e3b06773b69165a73f3fb786b8ee",
      "tree": "21f8b7deeb8a7e1197edfccc610365a12d60322e",
      "parents": [
        "51c6f666fceb3184eeff045dad4432b602cd648e"
      ],
      "author": {
        "name": "Rohit Seth",
        "email": "rohit.seth@intel.com",
        "time": "Sun Nov 13 16:06:43 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Nov 13 18:14:12 2005 -0800"
      },
      "message": "[PATCH] mm: __alloc_pages cleanup\n\nClean up of __alloc_pages.\n\nRestoration of previous behaviour, plus further cleanups by introducing an\n\u0027alloc_flags\u0027, removing the last of should_reclaim_zone.\n\nSigned-off-by: Rohit Seth \u003crohit.seth@intel.com\u003e\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": "51c6f666fceb3184eeff045dad4432b602cd648e",
      "tree": "33e29916e0fea872ba6f29eba698219a740b078f",
      "parents": [
        "885036d32f5d3c427c3e2b385b5a5503805e3e52"
      ],
      "author": {
        "name": "Robin Holt",
        "email": "holt@sgi.com",
        "time": "Sun Nov 13 16:06:42 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Nov 13 18:14:12 2005 -0800"
      },
      "message": "[PATCH] mm: ZAP_BLOCK causes redundant work\n\nThe address based work estimate for unmapping (for lockbreak) is and always\nwas horribly inefficient for sparse mappings.  The problem is most simply\nexplained with an example:\n\nIf we find a pgd is clear, we still have to call into unmap_page_range\nPGDIR_SIZE / ZAP_BLOCK_SIZE times, each time checking the clear pgd, in\norder to progress the working address to the next pgd.\n\nThe fundamental way to solve the problem is to keep track of the end\naddress we\u0027ve processed and pass it back to the higher layers.\n\nFrom: Nick Piggin \u003cnpiggin@suse.de\u003e\n\n  Modification to completely get away from address based work estimate\n  and instead use an abstract count, with a very small cost for empty\n  entries as opposed to present pages.\n\n  On 2.6.14-git2, ppc64, and CONFIG_PREEMPT\u003dy, mapping and unmapping 1TB\n  of virtual address space takes 1.69s; with the following patch applied,\n  this operation can be done 1000 times in less than 0.01s\n\nFrom: Andrew Morton \u003cakpm@osdl.org\u003e\n\nWith CONFIG_HUTETLB_PAGE\u003dn:\n\nmm/memory.c: In function `unmap_vmas\u0027:\nmm/memory.c:779: warning: division by zero\n\nDue to\n\n\t\t\tzap_work -\u003d (end - start) /\n\t\t\t\t\t(HPAGE_SIZE / PAGE_SIZE);\n\nSo make the dummy HPAGE_SIZE non-zero\n\nSigned-off-by: Robin Holt \u003cholt@sgi.com\u003e\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: 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": "885036d32f5d3c427c3e2b385b5a5503805e3e52",
      "tree": "7f442b309a749d8cbe0f2ac5c38531eeff8bfcd8",
      "parents": [
        "d4d28dd4b12649d02a89d19e6bd12ab92a6fcd4e"
      ],
      "author": {
        "name": "Kirill Korotaev",
        "email": "dev@sw.ru",
        "time": "Sun Nov 13 16:06:41 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Nov 13 18:14:12 2005 -0800"
      },
      "message": "[PATCH] mm: __GFP_NOFAIL fix\n\nIn __alloc_pages():\n\nif ((p-\u003eflags \u0026 (PF_MEMALLOC | PF_MEMDIE)) \u0026\u0026 !in_interrupt()) {\n         /* go through the zonelist yet again, ignoring mins */\n         for (i \u003d 0; zones[i] !\u003d NULL; i++) {\n                 struct zone *z \u003d zones[i];\n\n                 page \u003d buffered_rmqueue(z, order, gfp_mask);\n                 if (page) {\n                         zone_statistics(zonelist, z);\n                         goto got_pg;\n                 }\n         }\n         goto nopage;                \u003c\u003c\u003c\u003c HERE!!! FAIL...\n}\n\nkswapd (which has PF_MEMALLOC flag) can fail to allocate memory even when\nit allocates it with __GFP_NOFAIL flag.\n\nSigned-Off-By: Pavel Emelianov \u003cxemul@sw.ru\u003e\nSigned-Off-By: Denis Lunev \u003cden@sw.ru\u003e\nSigned-Off-By: Kirill Korotaev \u003cdev@sw.ru\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": "63f45b80947cb0819673860f6970f483e2cab21d",
      "tree": "6b0d46c7da70786c15ee893d8a48aa866ae3742c",
      "parents": [
        "85837ebdd7bb3e96a60e9b4c6af6c60d1273bc67",
        "b2d1a8adc9cf3bde32a18a1a1856641638a9c729"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Nov 11 16:29:22 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Nov 11 16:29:22 2005 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial\n"
    },
    {
      "commit": "6b482c6779daaa893b277fc9b70767a7c2e7c5eb",
      "tree": "e5e5be3db037e724b276a0324b44810207dc5341",
      "parents": [
        "393b07258766130146b962bc294d66615a47468a"
      ],
      "author": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Thu Nov 10 15:45:56 2005 -0500"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Nov 10 13:25:53 2005 -0800"
      },
      "message": "[PATCH] Don\u0027t print per-cpu vm stats for offline cpus.\n\nI just hit a page allocation error on a kernel configured to support\n64 CPUs.  It spewed 60 completely useless unnecessary lines of info.\n\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "dc6f3f276e2b4cbc1563def8fb39373a45db84ac",
      "tree": "d16d7f3e84b2f9c320748c0bb5610cd996775b9b",
      "parents": [
        "f093182d313edde9b1f86dbdaf40ba4da2dbd0e7"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Tue Nov 08 16:44:08 2005 +0100"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@r063144.stusta.swh.mhn.de",
        "time": "Tue Nov 08 16:44:08 2005 +0100"
      },
      "message": "mm/slab.c: fix a comment typo\n"
    },
    {
      "commit": "4936967374c1ad0eb3b734f24875e2484c3786cc",
      "tree": "99d7edc8c2730d68ca4b4ef7ee26b8401667b521",
      "parents": [
        "e2de225710b0f7480c29700bf93326b078657db8"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Mon Nov 07 01:01:41 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Nov 07 07:54:07 2005 -0800"
      },
      "message": "[PATCH] mm/swap_state.c: unexport swapper_space\n\nI didn\u0027t find any possible modular usage in the kernel.\n\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": "e2de225710b0f7480c29700bf93326b078657db8",
      "tree": "d2c0ea62f9a5c0c8f262633af2d2e5a7745e651b",
      "parents": [
        "1b09d16489f831bfc23d1c7311ee331b0680e90e"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Mon Nov 07 01:01:41 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Nov 07 07:54:07 2005 -0800"
      },
      "message": "[PATCH] mm/swapfile.c: unexport total_swap_pages\n\nI didn\u0027t find any possible modular usage in the kernel.\n\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": "1b09d16489f831bfc23d1c7311ee331b0680e90e",
      "tree": "999528c9e6b6686bb008d6a683aab3527892fa61",
      "parents": [
        "47bdfb96de47d25bea423b5adbfe1c2e1ceaa296"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Mon Nov 07 01:01:40 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Nov 07 07:54:07 2005 -0800"
      },
      "message": "[PATCH] mm/swap.c: unexport vm_acct_memory\n\nI didn\u0027t find any possible modular usage in the kernel.\n\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": "f8b8db77b0cc36670ef4ed6bc31e64537ffa197e",
      "tree": "a55807b704a7120722d3903ec92c3d393b33f87d",
      "parents": [
        "e6a7e0e7cee3d4bc9a9d2f82ef2f9de4687a5656"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Mon Nov 07 01:01:39 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Nov 07 07:54:07 2005 -0800"
      },
      "message": "[PATCH] unexport nr_swap_pages\n\nI didn\u0027t find any possible modular usage in the kernel.\n\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": "e6a7e0e7cee3d4bc9a9d2f82ef2f9de4687a5656",
      "tree": "a9f5fcf248676f96517bae6216f5a4c9809bcb84",
      "parents": [
        "99697dc02d2c1e8234c88d4256879d080483a57a"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Mon Nov 07 01:01:38 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Nov 07 07:54:06 2005 -0800"
      },
      "message": "[PATCH] unexport clear_page_dirty_for_io\n\nI didn\u0027t find any possible modular usage in the kernel.\n\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"
    }
  ],
  "next": "99697dc02d2c1e8234c88d4256879d080483a57a"
}
