)]}'
{
  "log": [
    {
      "commit": "9b83a6a8523a8a96b6353174b193c5c93e16c6c3",
      "tree": "33bfdc0e1794b3970b7454d746b20c177037765a",
      "parents": [
        "de01bad2f5dec2977143aa242e7eba71d11a4363"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Wed Feb 28 20:11:03 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Mar 01 14:53:35 2007 -0800"
      },
      "message": "[PATCH] mm/{,tiny-}shmem.c cleanups\n\nshmem_{nopage,mmap} are no longer used in ipc/shm.c\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "22cd25ed31bbf849acaa06ab220dc4f526153f13",
      "tree": "bffc0fa86b3734d89afb3eccb19249663de34ce2",
      "parents": [
        "e0dc0d8f4a327d033bfb63d43f113d5f31d11b3c"
      ],
      "author": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Mon Feb 12 00:51:38 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Feb 12 09:48:27 2007 -0800"
      },
      "message": "[PATCH] Add NOPFN_REFAULT result from vm_ops-\u003enopfn()\n\nAdd a NOPFN_REFAULT return code for vm_ops-\u003enopfn() equivalent to\nNOPAGE_REFAULT for vmops-\u003enopage() indicating that the handler requests a\nre-execution of the faulting instruction\n\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Arnd Bergmann \u003carnd.bergmann@de.ibm.com\u003e\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e0dc0d8f4a327d033bfb63d43f113d5f31d11b3c",
      "tree": "7af435f3caacd18eef6e30577e61d62e0afbe4d2",
      "parents": [
        "2ca48ed5cc5935cbd2a6f5d14fecd4ddbbdb4315"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Mon Feb 12 00:51:36 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Feb 12 09:48:27 2007 -0800"
      },
      "message": "[PATCH] add vm_insert_pfn()\n\nAdd a vm_insert_pfn helper, so that -\u003efault handlers can have nopfn\nfunctionality by installing their own pte and returning NULL.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Arnd Bergmann \u003carnd.bergmann@de.ibm.com\u003e\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "767193253bbac889e176f90b6f17b7015f986551",
      "tree": "a81c5c90d14c7892e6d7adb0432f4dff4ca3f906",
      "parents": [
        "bd8029b66069d29fd02c304599411ca9bb7fa38c"
      ],
      "author": {
        "name": "Ken Chen",
        "email": "kenchen@google.com",
        "time": "Sat Feb 10 01:43:15 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Feb 11 10:51:19 2007 -0800"
      },
      "message": "[PATCH] simplify shmem_aops.set_page_dirty() method\n\nshmem backed file does not have page writeback, nor it participates in\nbacking device\u0027s dirty or writeback accounting.  So using generic\n__set_page_dirty_nobuffers() for its .set_page_dirty aops method is a bit\noverkill.  It unnecessarily prolongs shm unmap latency.\n\nFor example, on a densely populated large shm segment (sevearl GBs), the\nunmapping operation becomes painfully long.  Because at unmap, kernel\ntransfers dirty bit in PTE into page struct and to the radix tree tag.  The\noperation of tagging the radix tree is particularly expensive because it\nhas to traverse the tree from the root to the leaf node on every dirty\npage.  What\u0027s bothering is that radix tree tag is used for page write back.\n However, shmem is memory backed and there is no page write back for such\nfile system.  And in the end, we spend all that time tagging radix tree and\nnone of that fancy tagging will be used.  So let\u0027s simplify it by introduce\na new aops __set_page_dirty_no_writeback and this will speed up shm unmap.\n\nSigned-off-by: Ken Chen \u003ckenchen@google.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "bd8029b66069d29fd02c304599411ca9bb7fa38c",
      "tree": "2b4088813f060afc40c00ac668c2c3d183e156ad",
      "parents": [
        "5ac6da669e2476dbdac89b357b05b5a79bc5b657"
      ],
      "author": {
        "name": "Andy Whitcroft",
        "email": "apw@shadowen.org",
        "time": "Sat Feb 10 01:43:14 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Feb 11 10:51:19 2007 -0800"
      },
      "message": "[PATCH] zoneid: fix up calculations for ZONEID_PGSHIFT\n\nCurrently if we have a non-zero ZONES_SHIFT we assume we are able to rely\non that as the bottom edge of the ZONEID, if not then we use the\nNODES_PGOFF as the right end of either NODES _or_ SECTION.  This latter is\nmore luck than judgement and would be incorrect if we reordered the\nSECTION,NODE,ZONE options in the fields space.\n\nReally what we want is the lower of the right hand end of the two fields we\nare using (either NODE,ZONE or SECTION,ZONE).  Codify that explicitly.  As\nalways allow for there being no bits in either of the fields, such as might\nbe valid in a non-numa machine with only a zone NORMAL.\n\nI have checked that the compiler is still able to constant fold all of this\naway correctly.\n\nSigned-off-by: Andy Whitcroft \u003capw@shadowen.org\u003e\nAcked-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "fa5dc22f8586cc3742413dd05f5cd9e039dfab9e",
      "tree": "39a97d91e25794f64e3cc03f1d4a8fa2c8ad78d2",
      "parents": [
        "a25700a53f715fde30443e737e52310c6d4a311a"
      ],
      "author": {
        "name": "Roland McGrath",
        "email": "roland@redhat.com",
        "time": "Thu Feb 08 14:20:41 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 09 09:25:47 2007 -0800"
      },
      "message": "[PATCH] Add install_special_mapping\n\nThis patch adds a utility function install_special_mapping, for creating a\nspecial vma using a fixed set of preallocated pages as backing, such as for a\nvDSO.  This consolidates some nearly identical code used for vDSO mapping\nreimplemented for different architectures.\n\nSigned-off-by: Roland McGrath \u003croland@redhat.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e5b97dde514f9bd43f9e525451d0a863c4fc8a9a",
      "tree": "e1096d4446c5dab878b50b7001cd58ab9ce5fa45",
      "parents": [
        "b6558c4a2378af06f2beca6c8a3304e21d1cf135"
      ],
      "author": {
        "name": "Roland McGrath",
        "email": "roland@redhat.com",
        "time": "Fri Jan 26 00:56:48 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Jan 26 13:50:58 2007 -0800"
      },
      "message": "[PATCH] Add VM_ALWAYSDUMP\n\nThis patch adds the VM_ALWAYSDUMP flag for vm_flags in vm_area_struct.  This\nprovides a clean explicit way to have a vma always included in core dumps, as\nis needed for vDSO\u0027s.\n\nSigned-off-by: Roland McGrath \u003croland@redhat.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a2f3aa02576632cdb60bd3de1f4bf55e9ac65604",
      "tree": "2b9b73675de73866fbd219fab5bf2d804e6817b1",
      "parents": [
        "47a4d5be7c50b2e9b905abbe2b97dc87051c5a44"
      ],
      "author": {
        "name": "Dave Hansen",
        "email": "haveblue@us.ibm.com",
        "time": "Wed Jan 10 23:15:30 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Jan 11 18:18:20 2007 -0800"
      },
      "message": "[PATCH] Fix sparsemem on Cell\n\nFix an oops experienced on the Cell architecture when init-time functions,\nearly_*(), are called at runtime.  It alters the call paths to make sure\nthat the callers explicitly say whether the call is being made on behalf of\na hotplug even, or happening at boot-time.\n\nIt has been compile tested on ppc64, ia64, s390, i386 and x86_64.\n\nAcked-by: Arnd Bergmann \u003carndb@de.ibm.com\u003e\nSigned-off-by: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nCc: Yasunori Goto \u003cy-goto@jp.fujitsu.com\u003e\nAcked-by: Andy Whitcroft \u003capw@shadowen.org\u003e\nCc: Christoph Lameter \u003cclameter@engr.sgi.com\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nAcked-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "33f2ef89f8e181486b63fdbdc97c6afa6ca9f34b",
      "tree": "b90eac24ff367bc628c44eaa51a9f0ea1b69d1a4",
      "parents": [
        "3c517a6132098ca37e122a2980fc64a9e798b0d7"
      ],
      "author": {
        "name": "Andy Whitcroft",
        "email": "apw@shadowen.org",
        "time": "Wed Dec 06 20:33:32 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:25 2006 -0800"
      },
      "message": "[PATCH] mm: make compound page destructor handling explicit\n\nCurrently we we use the lru head link of the second page of a compound page\nto hold its destructor.  This was ok when it was purely an internal\nimplmentation detail.  However, hugetlbfs overrides this destructor\nviolating the layering.  Abstract this out as explicit calls, also\nintroduce a type for the callback function allowing them to be type\nchecked.  For each callback we pre-declare the function, causing a type\nerror on definition rather than on use elsewhere.\n\n[akpm@osdl.org: cleanups]\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": "25ba77c141dbcd2602dd0171824d0d72aa023a01",
      "tree": "153eb9bc567f63d739dcaf8a3caf11c8f48b8379",
      "parents": [
        "bc4ba393c007248f76c05945abb7b7b892cdd1cc"
      ],
      "author": {
        "name": "Andy Whitcroft",
        "email": "apw@shadowen.org",
        "time": "Wed Dec 06 20:33:03 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:23 2006 -0800"
      },
      "message": "[PATCH] numa node ids are int, page_to_nid and zone_to_nid should return int\n\nNUMA node ids are passed as either int or unsigned int almost exclusivly\npage_to_nid and zone_to_nid both return unsigned long.  This is a throw\nback to when page_to_nid was a #define and was thus exposing the real type\nof the page flags field.\n\nIn addition to fixing up the definitions of page_to_nid and zone_to_nid I\naudited the users of these functions identifying the following incorrect\nuses:\n\n1) mm/page_alloc.c show_node() -- printk dumping the node id,\n2) include/asm-ia64/pgalloc.h pgtable_quicklist_free() -- comparison\n   against numa_node_id() which returns an int from cpu_to_node(), and\n3) mm/mpolicy.c check_pte_range -- used as an index in node_isset which\n   uses bit_set which in generic code takes an int.\n\nSigned-off-by: Andy Whitcroft \u003capw@shadowen.org\u003e\nCc: Christoph Lameter \u003cclameter@engr.sgi.com\u003e\nCc: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "c43692e85f306667545b91194c748a6e46c1f8b4",
      "tree": "5a1a47c0ddeded4d4591befcd3176f50669cd322",
      "parents": [
        "298ec1e2ac85cecce3eddd167286359358c44d5d"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Wed Dec 06 20:32:48 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:22 2006 -0800"
      },
      "message": "[PATCH] Move vm_area_cachep to include/mm.h\n\nvm_area_cachep is used to store vm_area_structs. So move to mm.h.\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": "89689ae7f95995723fbcd5c116c47933a3bb8b13",
      "tree": "4d73ff59b557fa1a84c6064406ff101c76ff8adc",
      "parents": [
        "c0a499c2c42992cff097b38be29d2ba60d2fd99a"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Wed Dec 06 20:31:45 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:20 2006 -0800"
      },
      "message": "[PATCH] Get rid of zone_table[]\n\nThe zone table is mostly not needed.  If we have a node in the page flags\nthen we can get to the zone via NODE_DATA() which is much more likely to be\nalready in the cpu cache.\n\nIn case of SMP and UP NODE_DATA() is a constant pointer which allows us to\naccess an exact replica of zonetable in the node_zones field.  In all of\nthe above cases there will be no need at all for the zone table.\n\nThe only remaining case is if in a NUMA system the node numbers do not fit\ninto the page flags.  In that case we make sparse generate a table that\nmaps sections to nodes and use that table to to figure out the node number.\n This table is sized to fit in a single cache line for the known 32 bit\nNUMA platform which makes it very likely that the information can be\nobtained without a cache miss.\n\nFor sparsemem the zone table seems to be have been fairly large based on\nthe maximum possible number of sections and the number of zones per node.\nThere is some memory saving by removing zone_table.  The main benefit is to\nreduce the cache foootprint of the VM from the frequent lookups of zones.\nPlus it simplifies the page allocator.\n\n[akpm@osdl.org: build fix]\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nCc: Andy Whitcroft \u003capw@shadowen.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "8ac773b4f73afa6fd66695131103944b975d5d5c",
      "tree": "7a3ea0d703cde009c5f2e1196d80f06cf5d00d54",
      "parents": [
        "887b95931b4072e60e3bf4253ff7bffe372bca46"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Thu Oct 19 23:28:32 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Oct 20 10:26:38 2006 -0700"
      },
      "message": "[PATCH] OOM killer meets userspace headers\n\nDespite mm.h is not being exported header, it does contain one thing\nwhich is part of userspace ABI -- value disabling OOM killer for given\nprocess. So,\na) create and export include/linux/oom.h\nb) move OOM_DISABLE define there.\nc) turn bounding values of /proc/$PID/oom_adj into defines and export\n   them too.\n\nNote: mass __KERNEL__ removal will be done later.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: David Woodhouse \u003cdwmw2@infradead.org\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "9858db504caedb2424b9a32744c23f9a81ec1731",
      "tree": "516b4735df82feb9b14bea4984769e7ac013373d",
      "parents": [
        "dafb13673c463bc2aade4a4819704dde0f5fa37f"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Wed Oct 11 01:21:30 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 11 11:14:19 2006 -0700"
      },
      "message": "[PATCH] mm: locks_freed fix\n\nMove the lock debug checks below the page reserved checks.  Also, having\ndebug_check_no_locks_freed in kernel_map_pages is wrong.\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": "7f7bbbe50b8a28f4dfaa4cea939ddb50198c4a99",
      "tree": "6421bee762afd8f09c643e90860c4bdbe4dde93b",
      "parents": [
        "1ca4cb2418c04914e4661c059cf5b7b9262c645a"
      ],
      "author": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Fri Oct 06 00:43:53 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Oct 06 08:53:40 2006 -0700"
      },
      "message": "[PATCH] page fault retry with NOPAGE_REFAULT\n\nAdd a way for a no_page() handler to request a retry of the faulting\ninstruction.  It goes back to userland on page faults and just tries again\nin get_user_pages().  I added a cond_resched() in the loop in that later\ncase.\n\nThe problem I have with signal and spufs is an actual bug affecting apps and I\ndon\u0027t see other ways of fixing it.\n\nIn addition, we are having issues with infiniband and 64k pages (related to\nthe way the hypervisor deals with some HV cards) that will require us to muck\naround with the MMU from within the IB driver\u0027s no_page() (it\u0027s a pSeries\nspecific driver) and return to the caller the same way using NOPAGE_REFAULT.\n\nAnd to add to this, the graphics folks have been following a new approach of\nmemory management that involves transparently swapping objects between video\nram and main meory.  To do that, they need installing PTEs from a no_page()\nhandler as well and that also requires returning with NOPAGE_REFAULT.\n\n(For the later, they are currently using io_remap_pfn_range to install one PTE\nfrom no_page() which is a bit racy, we need to add a check for the PTE having\nalready been installed afer taking the lock, but that\u0027s ok, they are only at\nthe proof-of-concept stage.  I\u0027ll send a patch adding a \"clean\" function to do\nthat, we can use that from spufs too and get rid of the sparsemem hacks we do\nto create struct page for SPEs.  Basically, that provides a generic solution\nfor being able to have no_page() map hardware devices, which is something that\nI think sound driver folks have been asking for some time too).\n\nAll of these things depend on having the NOPAGE_REFAULT exit path from\nno_page() handlers.\n\nSigned-off-by: Benjamin Herrenchmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f28c5edc06ecd8068b38b7662ad19f4d20d741af",
      "tree": "4582acbf62b7a484b62b69e3f465cf4d069f7e2a",
      "parents": [
        "236561e5df009f79f1939e3ca269b9b6f18092f5"
      ],
      "author": {
        "name": "Keith Mannthey",
        "email": "kmannth@us.ibm.com",
        "time": "Sat Sep 30 23:27:04 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Oct 01 00:39:18 2006 -0700"
      },
      "message": "[PATCH] hot-add-mem x86_64: fixup externs\n\nFix up externs in memory_hotplug.c.  Cleanup.\n\nSigned-off-by: Keith Mannthey \u003ckmannth@us.ibm.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Andi Kleen \u003cak@muc.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "cf9a2ae8d49948f861b56e5333530e491a9da190",
      "tree": "21f0b0d781b3e60cc60464d39b6d95681201b37e",
      "parents": [
        "4090959aee403817ff386415f9bc602c1a0882ef"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Tue Aug 29 19:05:54 2006 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@nelson.home.kernel.dk",
        "time": "Sat Sep 30 20:31:19 2006 +0200"
      },
      "message": "[PATCH] BLOCK: Move functions out of buffer code [try #6]\n\nMove some functions out of the buffering code that aren\u0027t strictly buffering\nspecific.  This is a precursor to being able to disable the block layer.\n\n (*) Moved some stuff out of fs/buffer.c:\n\n     (*) The file sync and general sync stuff moved to fs/sync.c.\n\n     (*) The superblock sync stuff moved to fs/super.c.\n\n     (*) do_invalidatepage() moved to mm/truncate.c.\n\n     (*) try_to_release_page() moved to mm/filemap.c.\n\n (*) Moved some related declarations between header files:\n\n     (*) declarations for do_invalidatepage() and try_to_release_page() moved\n     \t to linux/mm.h.\n\n     (*) __set_page_dirty_buffers() moved to linux/buffer_head.h.\n\nSigned-Off-By: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Jens Axboe \u003caxboe@kernel.dk\u003e\n"
    },
    {
      "commit": "f269fdd1829acc5e53bf57b145003e5733133f2b",
      "tree": "494fef02f26f089f14c719e9a4394a41f7b686ec",
      "parents": [
        "930e652a21a08986b03d1f370f933057dc0db2dc"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Sep 27 01:50:23 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Sep 27 08:26:15 2006 -0700"
      },
      "message": "[PATCH] NOMMU: move the fallback arch_vma_name() to a sensible place\n\nMove the fallback arch_vma_name() to a sensible place (kernel/signal.c).\n\nCurrently it\u0027s in fs/proc/task_mmu.c, a file that is dependent on both\nCONFIG_PROC_FS and CONFIG_MMU being enabled, but it\u0027s used from\nkernel/signal.c from where it is called unconditionally.\n\n[akpm@osdl.org: build fix]\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": "f4b81804a2d1ab341a4613089dc31ecce0800ed8",
      "tree": "fdad77a7c40790908546a74a9b5918400d01333d",
      "parents": [
        "5d2923436217ba8bd05c5ee157712a391891c382"
      ],
      "author": {
        "name": "Jes Sorensen",
        "email": "jes@sgi.com",
        "time": "Wed Sep 27 01:50:10 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Sep 27 08:26:13 2006 -0700"
      },
      "message": "[PATCH] do_no_pfn()\n\nImplement do_no_pfn() for handling mapping of memory without a struct page\nbacking it.  This avoids creating fake page table entries for regions which\nare not backed by real memory.\n\nThis feature is used by the MSPEC driver and other users, where it is\nhighly undesirable to have a struct page sitting behind the page (for\ninstance if the page is accessed in cached mode via the struct page in\nparallel to the the driver accessing it uncached, which can result in data\ncorruption on some architectures, such as ia64).\n\nThis version uses specific NOPFN_{SIGBUS,OOM} return values, rather than\nexpect all negative pfn values would be an error.  It also bugs on cow\nmappings as this would not work with the VM.\n\n[akpm@osdl.org: micro-optimise]\nSigned-off-by: Jes Sorensen \u003cjes@sgi.com\u003e\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "d5f541ed6e31518508c688912e7464facf253c87",
      "tree": "028d296306e247ca32ec5db398d365dcd70d26b7",
      "parents": [
        "765c4507af71c39aba21006bbd3ec809fe9714ff"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Wed Sep 27 01:50:08 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Sep 27 08:26:13 2006 -0700"
      },
      "message": "[PATCH] Add node to zone for the NUMA case\n\nAdd the node in order to optimize zone_to_nid.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nAcked-by: Paul Jackson \u003cpj@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "5b99cd0effaf846240a15441aec459a592577eaf",
      "tree": "355772422c716698762030e6261596c2ba484a37",
      "parents": [
        "e129b5c23c2b471d47f1c5d2b8b193fc2034af43"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Wed Sep 27 01:50:01 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Sep 27 08:26:12 2006 -0700"
      },
      "message": "[PATCH] own header file for struct page\n\nThis moves the definition of struct page from mm.h to its own header file\npage-struct.h.  This is a prereq to fix SetPageUptodate which is broken on\ns390:\n\n#define SetPageUptodate(_page)\n       do {\n               struct page *__page \u003d (_page);\n               if (!test_and_set_bit(PG_uptodate, \u0026__page-\u003eflags))\n                       page_test_and_clear_dirty(_page);\n       } while (0)\n\n_page gets used twice in this macro which can cause subtle bugs.  Using\n__page for the page_test_and_clear_dirty call doesn\u0027t work since it causes\nyet another problem with the page_test_and_clear_dirty macro as well.\n\nIn order to avoid all these problems caused by macros it seems to be a good\nidea to get rid of them and convert them to static inline functions.\nBecause of header file include order it\u0027s necessary to have a seperate\nheader file for the struct page definition.\n\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "fb01439c5b778d5974a488c5d4fe85e6d0e18a68",
      "tree": "dd5483b2555adbdc51f215fcb010484d423f63a0",
      "parents": [
        "9c7cd6877cf8db15269163deda69392263124c1e"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mel@skynet.ie",
        "time": "Wed Sep 27 01:49:59 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Sep 27 08:26:12 2006 -0700"
      },
      "message": "[PATCH] Allow an arch to expand node boundaries\n\nArch-independent zone-sizing determines the size of a node\n(pgdat-\u003enode_spanned_pages) based on the physical memory that was\nregistered by the architecture.  However, when\nCONFIG_MEMORY_HOTPLUG_RESERVE is set, the architecture expects that the\nspanned_pages will be much larger and that mem_map will be allocated that\nis used lated on memory hot-add.\n\nThis patch allows an architecture that sets CONFIG_MEMORY_HOTPLUG_RESERVE\nto call push_node_boundaries() which will set the node beginning and end to\nat *least* the requested boundary.\n\nCc: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nCc: Andy Whitcroft \u003capw@shadowen.org\u003e\nCc: Andi Kleen \u003cak@muc.de\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: \"Keith Mannthey\" \u003ckmannth@gmail.com\u003e\nCc: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Yasunori Goto \u003cy-goto@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "0e0b864e069c52a7b3e4a7da56e29b03a012fd75",
      "tree": "e3fcfd997ef912ed3c61cb2b5c2ca57a7f45ec58",
      "parents": [
        "05e0caad3b7bd0d0fbeff980bca22f186241a501"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mel@csn.ul.ie",
        "time": "Wed Sep 27 01:49:56 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Sep 27 08:26:11 2006 -0700"
      },
      "message": "[PATCH] Account for memmap and optionally the kernel image as holes\n\nThe x86_64 code accounted for memmap and some portions of the the DMA zone as\nholes.  This was because those areas would never be reclaimed and accounting\nfor them as memory affects min watermarks.  This patch will account for the\nmemmap as a memory hole.  Architectures may optionally use set_dma_reserve()\nif they wish to account for a portion of memory in ZONE_DMA as a hole.\n\nSigned-off-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nCc: Andy Whitcroft \u003capw@shadowen.org\u003e\nCc: Andi Kleen \u003cak@muc.de\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: \"Keith Mannthey\" \u003ckmannth@gmail.com\u003e\nCc: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Yasunori Goto \u003cy-goto@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "c713216deebd95d2b0ab38fef8bb2361c0180c2d",
      "tree": "a5a8c61be427e3591811ff712b9ec7ef2f1a1f20",
      "parents": [
        "2bd0cfbde2c0a74e209acbf045f1298cc2f61e01"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mel@csn.ul.ie",
        "time": "Wed Sep 27 01:49:43 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Sep 27 08:26:11 2006 -0700"
      },
      "message": "[PATCH] Introduce mechanism for registering active regions of memory\n\nAt a basic level, architectures define structures to record where active\nranges of page frames are located.  Once located, the code to calculate zone\nsizes and holes in each architecture is very similar.  Some of this zone and\nhole sizing code is difficult to read for no good reason.  This set of patches\neliminates the similar-looking architecture-specific code.\n\nThe patches introduce a mechanism where architectures register where the\nactive ranges of page frames are with add_active_range().  When all areas have\nbeen discovered, free_area_init_nodes() is called to initialise the pgdat and\nzones.  The zone sizes and holes are then calculated in an architecture\nindependent manner.\n\nPatch 1 introduces the mechanism for registering and initialising PFN ranges\nPatch 2 changes ppc to use the mechanism - 139 arch-specific LOC removed\nPatch 3 changes x86 to use the mechanism - 136 arch-specific LOC removed\nPatch 4 changes x86_64 to use the mechanism - 74 arch-specific LOC removed\nPatch 5 changes ia64 to use the mechanism - 52 arch-specific LOC removed\nPatch 6 accounts for mem_map as a memory hole as the pages are not reclaimable.\n\tIt adjusts the watermarks slightly\n\nTony Luck has successfully tested for ia64 on Itanium with tiger_defconfig,\ngensparse_defconfig and defconfig.  Bob Picco has also tested and debugged on\nIA64.  Jack Steiner successfully boot tested on a mammoth SGI IA64-based\nmachine.  These were on patches against 2.6.17-rc1 and release 3 of these\npatches but there have been no ia64-changes since release 3.\n\nThere are differences in the zone sizes for x86_64 as the arch-specific code\nfor x86_64 accounts the kernel image and the starting mem_maps as memory holes\nbut the architecture-independent code accounts the memory as present.\n\nThe big benefit of this set of patches is a sizable reduction of\narchitecture-specific code, some of which is very hairy.  There should be a\ngreater reduction when other architectures use the same mechanisms for zone\nand hole sizing but I lack the hardware to test on.\n\nAdditional credit;\n\tDave Hansen for the initial suggestion and comments on early patches\n\tAndy Whitcroft for reviewing early versions and catching numerous\n\t\terrors\n\tTony Luck for testing and debugging on IA64\n\tBob Picco for fixing bugs related to pfn registration, reviewing a\n\t\tnumber of patch revisions, providing a number of suggestions\n\t\ton future direction and testing heavily\n\tJack Steiner and Robin Holt for testing on IA64 and clarifying\n\t\tissues related to memory holes\n\tYasunori for testing on IA64\n\tAndi Kleen for reviewing and feeding back about x86_64\n\tChristian Kujau for providing valuable information related to ACPI\n\t\tproblems on x86_64 and testing potential fixes\n\nThis patch:\n\nDefine the structure to represent an active range of page frames within a node\nin an architecture independent manner.  Architectures are expected to register\nactive ranges of PFNs using add_active_range(nid, start_pfn, end_pfn) and call\nfree_area_init_nodes() passing the PFNs of the end of each zone.\n\nSigned-off-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nSigned-off-by: Bob Picco \u003cbob.picco@hp.com\u003e\nCc: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nCc: Andy Whitcroft \u003capw@shadowen.org\u003e\nCc: Andi Kleen \u003cak@muc.de\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: \"Keith Mannthey\" \u003ckmannth@gmail.com\u003e\nCc: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Yasunori Goto \u003cy-goto@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "89fa30242facca249aead2aac03c4c69764f911c",
      "tree": "1ac46b4777b819f2a4793d8e37330576ae5089ec",
      "parents": [
        "4415cc8df630b05d3a54267d5f3e5c0b63a4ec05"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Mon Sep 25 23:31:55 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Sep 26 08:48:52 2006 -0700"
      },
      "message": "[PATCH] NUMA: Add zone_to_nid function\n\nThere are many places where we need to determine the node of a zone.\nCurrently we use a difficult to read sequence of pointer dereferencing.\nPut that into an inline function and use throughout VM.  Maybe we can find\na way to optimize the lookup in the future.\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": "da6052f7b33abe55fbfd7d2213815f58c00a88d4",
      "tree": "a2deda88ae8e9fc33d9a0ce80f42fde2c55c7bbc",
      "parents": [
        "e5ac9c5aec7c4bc57fa93f2d37d760a22cb7bd33"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Mon Sep 25 23:31:35 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Sep 26 08:48:49 2006 -0700"
      },
      "message": "[PATCH] update some mm/ comments\n\nLet\u0027s try to keep mm/ comments more useful and up to date. This is a start.\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": "2f1b6248682f8b39ca3c7e549dfc216d26c4109b",
      "tree": "2340347d10fd0e564fb8527efe3ffbcb216e1906",
      "parents": [
        "98d2b0ebda72fc39cdefd3720d50b9b3ce409085"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Mon Sep 25 23:31:13 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Sep 26 08:48:46 2006 -0700"
      },
      "message": "[PATCH] reduce MAX_NR_ZONES: use enum to define zones, reformat and comment\n\nUse enum for zones and reformat zones dependent information\n\nAdd comments explaning the use of zones and add a zones_t type for zone\nnumbers.\n\nLine up information that will be #ifdefd by the following patches.\n\n[akpm@osdl.org: comment cleanups]\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": "b221385bc41d6789edde3d2fa0cb20d5045730eb",
      "tree": "93f3317247d587fd011eb9d77cd73a49670d8d5f",
      "parents": [
        "204ec841fbea3e5138168edbc3a76d46747cc987"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Mon Sep 25 23:31:02 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Sep 26 08:48:45 2006 -0700"
      },
      "message": "[PATCH] mm/: make functions static\n\nThis patch makes the following needlessly global functions static:\n - slab.c: kmem_find_general_cachep()\n - swap.c: __page_cache_release()\n - vmalloc.c: __vmalloc_node()\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": "d08b3851da41d0ee60851f2c75b118e1f7a5fc89",
      "tree": "a01f6930a1387e8f66607e2fe16c62bb7044353b",
      "parents": [
        "725d704ecaca4a43f067092c140d4f3271cf2856"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Sep 25 23:30:57 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Sep 26 08:48:44 2006 -0700"
      },
      "message": "[PATCH] mm: tracking shared dirty pages\n\nTracking of dirty pages in shared writeable mmap()s.\n\nThe idea is simple: write protect clean shared writeable pages, catch the\nwrite-fault, make writeable and set dirty.  On page write-back clean all the\nPTE dirty bits and write protect them once again.\n\nThe implementation is a tad harder, mainly because the default\nbacking_dev_info capabilities were too loosely maintained.  Hence it is not\nenough to test the backing_dev_info for cap_account_dirty.\n\nThe current heuristic is as follows, a VMA is eligible when:\n - its shared writeable\n    (vm_flags \u0026 (VM_WRITE|VM_SHARED)) \u003d\u003d (VM_WRITE|VM_SHARED)\n - it is not a \u0027special\u0027 mapping\n    (vm_flags \u0026 (VM_PFNMAP|VM_INSERTPAGE)) \u003d\u003d 0\n - the backing_dev_info is cap_account_dirty\n    mapping_cap_account_dirty(vma-\u003evm_file-\u003ef_mapping)\n - f_op-\u003emmap() didn\u0027t change the default page protection\n\nPage from remap_pfn_range() are explicitly excluded because their COW\nsemantics are already horrid enough (see vm_normal_page() in do_wp_page()) and\nbecause they don\u0027t have a backing store anyway.\n\nmprotect() is taught about the new behaviour as well.  However it overrides\nthe last condition.\n\nCleaning the pages on write-back is done with page_mkclean() a new rmap call.\nIt can be called on any page, but is currently only implemented for mapped\npages, if the page is found the be of a VMA that accounts dirty pages it will\nalso wrprotect the PTE.\n\nFinally, in fs/buffers.c:try_to_free_buffers(); remove clear_page_dirty() from\nunder -\u003eprivate_lock.  This seems to be safe, since -\u003eprivate_lock is used to\nserialize access to the buffers, not the page itself.  This is needed because\nclear_page_dirty() will call into page_mkclean() and would thereby violate\nlocking order.\n\n[dhowells@redhat.com: Provide a page_mkclean() implementation for NOMMU]\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\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": "725d704ecaca4a43f067092c140d4f3271cf2856",
      "tree": "320cf8ab5457ac6c01c05da8c30d6026538ee259",
      "parents": [
        "a6ca1b99ed434f3fb41bbed647ed36c0420501e5"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Mon Sep 25 23:30:55 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Sep 26 08:48:44 2006 -0700"
      },
      "message": "[PATCH] mm: VM_BUG_ON\n\nIntroduce a VM_BUG_ON, which is turned on with CONFIG_DEBUG_VM.  Use this\nin the lightweight, inline refcounting functions; PageLRU and PageActive\nchecks in vmscan, because they\u0027re pretty well confined to vmscan.  And in\npage allocate/free fastpaths which can be the hottest parts of the kernel\nfor kbuilds.\n\nUnlike BUG_ON, VM_BUG_ON must not be used to execute statements with\nside-effects, and should not be used outside core mm code.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: Christoph Lameter \u003cclameter@engr.sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "115b384cf87249d76adb0b21aca11ee22128927d",
      "tree": "f39a2a54863e9d82d1196906f92c82ab5991c6af",
      "parents": [
        "8eb7925f93af75e66a240d148efdec212f95bcb7",
        "c336923b668fdcf0312efbec3b44895d713f4d81"
      ],
      "author": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Tue Sep 05 17:20:21 2006 -0400"
      },
      "committer": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Tue Sep 05 17:20:21 2006 -0400"
      },
      "message": "Merge ../linus\n"
    },
    {
      "commit": "1d7ea7324ae7a59f8e17e4ba76a2707c1e6f24d2",
      "tree": "902b646ed70af86481a77a67582b79e67264a481",
      "parents": [
        "9b41ea7289a589993d3daabc61f999b4147872c4"
      ],
      "author": {
        "name": "Alexander Zarochentsev",
        "email": "zam@namesys.com",
        "time": "Sun Aug 13 23:24:27 2006 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Aug 14 12:54:29 2006 -0700"
      },
      "message": "[PATCH] fuse: fix error case in fuse_readpages\n\nDon\u0027t let fuse_readpages leave the @pages list not empty when exiting\non error.\n\n[akpm@osdl.org: kernel-doc fixes]\nSigned-off-by: Alexander Zarochentsev \u003czam@namesys.com\u003e\nSigned-off-by: Miklos Szeredi \u003cmiklos@szeredi.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "804af2cf6e7af31d2e664b54e657dddd9b531dbd",
      "tree": "a9127236c76953ddc627b8133aae208651e206fd",
      "parents": [
        "64821324ca49f24be1a66f2f432108f96a24e596"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Wed Jul 26 21:39:49 2006 +0100"
      },
      "committer": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Wed Jul 26 19:58:39 2006 -0400"
      },
      "message": "[AGPGART] remove private page protection map\n\nAGP keeps its own copy of the protection_map, upcoming DRM changes will\nalso require access to this map from modules.\n\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Dave Airlie \u003cairlied@linux.ie\u003e\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\n"
    },
    {
      "commit": "9a11b49a805665e13a56aa067afaf81d43ec1514",
      "tree": "bf499956e3f67d1211d68ab1e2eb76645f453dfb",
      "parents": [
        "fb7e42413a098cc45b3adf858da290033af62bae"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 03 00:24:33 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jul 03 15:27:01 2006 -0700"
      },
      "message": "[PATCH] lockdep: better lock debugging\n\nGeneric lock debugging:\n\n - generalized lock debugging framework. For example, a bug in one lock\n   subsystem turns off debugging in all lock subsystems.\n\n - got rid of the caller address passing (__IP__/__IP_DECL__/etc.) from\n   the mutex/rtmutex debugging code: it caused way too much prototype\n   hackery, and lockdep will give the same information anyway.\n\n - ability to do silent tests\n\n - check lock freeing in vfree too.\n\n - more finegrained debugging options, to allow distributions to\n   turn off more expensive debugging features.\n\nThere\u0027s no separate \u0027held mutexes\u0027 list anymore - but there\u0027s a \u0027held locks\u0027\nstack within lockdep, which unifies deadlock detection across all lock\nclasses.  (this is independent of the lockdep validation stuff - lockdep first\nchecks whether we are holding a lock already)\n\nHere are the current debugging options:\n\nCONFIG_DEBUG_MUTEXES\u003dy\nCONFIG_DEBUG_LOCK_ALLOC\u003dy\n\nwhich do:\n\n config DEBUG_MUTEXES\n          bool \"Mutex debugging, basic checks\"\n\n config DEBUG_LOCK_ALLOC\n         bool \"Detect incorrect freeing of live mutexes\"\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f6ac2354d791195ca40822b84d73d48a4e8b7f2b",
      "tree": "5f600175cf3591eac3d32bb8cebfd45d0aabf804",
      "parents": [
        "672b2714ae57af16fe7d760dc4e0918a7a6cb0fa"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Fri Jun 30 01:55:32 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 30 11:25:34 2006 -0700"
      },
      "message": "[PATCH] zoned vm counters: create vmstat.c/.h from page_alloc.c/.h\n\nNOTE: ZVC are *not* the lightweight event counters.  ZVCs are reliable whereas\nevent counters do not need to be.\n\nZone based VM statistics are necessary to be able to determine what the state\nof memory in one zone is.  In a NUMA system this can be helpful for local\nreclaim and other memory optimizations that may be able to shift VM load in\norder to get more balanced memory use.\n\nIt is also useful to know how the computing load affects the memory\nallocations on various zones.  This patchset allows the retrieval of that data\nfrom userspace.\n\nThe patchset introduces a framework for counters that is a cross between the\nexisting page_stats --which are simply global counters split per cpu-- and the\napproach of deferred incremental updates implemented for nr_pagecache.\n\nSmall per cpu 8 bit counters are added to struct zone.  If the counter exceeds\ncertain thresholds then the counters are accumulated in an array of\natomic_long in the zone and in a global array that sums up all zone values.\nThe small 8 bit counters are next to the per cpu page pointers and so they\nwill be in high in the cpu cache when pages are allocated and freed.\n\nAccess to VM counter information for a zone and for the whole machine is then\npossible by simply indexing an array (Thanks to Nick Piggin for pointing out\nthat approach).  The access to the total number of pages of various types does\nno longer require the summing up of all per cpu counters.\n\nBenefits of this patchset right now:\n\n- Ability for UP and SMP configuration to determine how memory\n  is balanced between the DMA, NORMAL and HIGHMEM zones.\n\n- loops over all processors are avoided in writeback and\n  reclaim paths. We can avoid caching the writeback information\n  because the needed information is directly accessible.\n\n- Special handling for nr_pagecache removed.\n\n- zone_reclaim_interval vanishes since VM stats can now determine\n  when it is worth to do local reclaim.\n\n- Fast inline per node page state determination.\n\n- Accurate counters in /sys/devices/system/node/node*/meminfo. Current\n  counters are counting simply which processor allocated a page somewhere\n  and guestimate based on that. So the counters were not useful to show\n  the actual distribution of page use on a specific zone.\n\n- The swap_prefetch patch requires per node statistics in order to\n  figure out when processors of a node can prefetch. This patch provides\n  some of the needed numbers.\n\n- Detailed VM counters available in more /proc and /sys status files.\n\nReferences to earlier discussions:\nV1 http://marc.theaimsgroup.com/?l\u003dlinux-kernel\u0026m\u003d113511649910826\u0026w\u003d2\nV2 http://marc.theaimsgroup.com/?l\u003dlinux-kernel\u0026m\u003d114980851924230\u0026w\u003d2\nV3 http://marc.theaimsgroup.com/?l\u003dlinux-kernel\u0026m\u003d115014697910351\u0026w\u003d2\nV4 http://marc.theaimsgroup.com/?l\u003dlinux-kernel\u0026m\u003d115024767318740\u0026w\u003d2\n\nPerformance tests with AIM7 did not show any regressions.  Seems to be a tad\nfaster even.  Tested on ia64/NUMA.  Builds fine on i386, SMP / UP.  Includes\nfixes for s390/arm/uml arch code.\n\nThis patch:\n\nMove counter code from page_alloc.c/page-flags.h to vmstat.c/h.\n\nCreate vmstat.c/vmstat.h by separating the counter code and the proc\nfunctions.\n\nMove the vm_stat_text array before zoneinfo_show.\n\n[akpm@osdl.org: s390 build fix]\n[akpm@osdl.org: HOTPLUG_CPU build fix]\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "e7eebaf6a81b956c989f184ee4b27277c88f8afe",
      "tree": "25adcfb17ec5f857791557a874cc1cced390ca9f",
      "parents": [
        "a6537be9324c67b41f6d98f5a60a1bd5a8e02861"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jun 27 02:54:55 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 17:32:47 2006 -0700"
      },
      "message": "[PATCH] pi-futex: rt mutex debug\n\nRuntime debugging functionality for rt-mutexes.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f9b8404cf8f8456dfa83459510762b700dc00385",
      "tree": "f74b54c79ee3913d587644195d8af7ba13b6cc2a",
      "parents": [
        "6abdce7680e3e8436b3292b345d77b67d5ec9ea8"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jun 27 02:54:49 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 17:32:46 2006 -0700"
      },
      "message": "[PATCH] pi-futex: introduce debug_check_no_locks_freed()\n\nAdd debug_check_no_locks_freed(), as a central inline to add\nbad-lock-free-debugging functionality to.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "e6e5494cb23d1933735ee47cc674ffe1c4afed6f",
      "tree": "c8945bb3ae5bec38693d801fb589d22d48d6f8eb",
      "parents": [
        "d5fb34261dcd32c9cb3b28121fdc46308db513a1"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jun 27 02:53:50 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 17:32:38 2006 -0700"
      },
      "message": "[PATCH] vdso: randomize the i386 vDSO by moving it into a vma\n\nMove the i386 VDSO down into a vma and thus randomize it.\n\nBesides the security implications, this feature also helps debuggers, which\ncan COW a vma-backed VDSO just like a normal DSO and can thus do\nsingle-stepping and other debugging features.\n\nIt\u0027s good for hypervisors (Xen, VMWare) too, which typically live in the same\nhigh-mapped address space as the VDSO, hence whenever the VDSO is used, they\nget lots of guest pagefaults and have to fix such guest accesses up - which\nslows things down instead of speeding things up (the primary purpose of the\nVDSO).\n\nThere\u0027s a new CONFIG_COMPAT_VDSO (default\u003dy) option, which provides support\nfor older glibcs that still rely on a prelinked high-mapped VDSO.  Newer\ndistributions (using glibc 2.3.3 or later) can turn this option off.  Turning\nit off is also recommended for security reasons: attackers cannot use the\npredictable high-mapped VDSO page as syscall trampoline anymore.\n\nThere is a new vdso\u003d[0|1] boot option as well, and a runtime\n/proc/sys/vm/vdso_enabled sysctl switch, that allows the VDSO to be turned\non/off.\n\n(This version of the VDSO-randomization patch also has working ELF\ncoredumping, the previous patch crashed in the coredumping code.)\n\nThis code is a combined work of the exec-shield VDSO randomization\ncode and Gerd Hoffmann\u0027s hypervisor-centric VDSO patch. Rusty Russell\nstarted this patch and i completed it.\n\n[akpm@osdl.org: cleanups]\n[akpm@osdl.org: compile fix]\n[akpm@osdl.org: compile fix 2]\n[akpm@osdl.org: compile fix 3]\n[akpm@osdl.org: revernt MAXMEM change]\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Arjan van de Ven \u003carjan@infradead.org\u003e\nCc: Gerd Hoffmann \u003ckraxel@suse.de\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Zachary Amsden \u003czach@vmware.com\u003e\nCc: Andi Kleen \u003cak@muc.de\u003e\nCc: Jan Beulich \u003cjbeulich@novell.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "7b2259b3e53f128c10a9fded0965e69d4a949847",
      "tree": "c1827144c22dd49775190e05de791531e9fd21fd",
      "parents": [
        "68402ddc677005ed1b1359bbc1f279548cfc0928"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Sun Jun 25 05:46:48 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jun 25 10:00:55 2006 -0700"
      },
      "message": "[PATCH] page migration: Support a vma migration function\n\nHooks for calling vma specific migration functions\n\nWith this patch a vma may define a vma-\u003evm_ops-\u003emigrate function.  That\nfunction may perform page migration on its own (some vmas may not contain page\nstructs and therefore cannot be handled by regular page migration.  Pages in a\nvma may require special preparatory treatment before migration is possible\netc) .  Only mmap_sem is held when the migration function is called.  The\nmigrate() function gets passed two sets of nodemasks describing the source and\nthe target of the migration.  The flags parameter either contains\n\nMPOL_MF_MOVE\twhich means that only pages used exclusively by\n\t\tthe specified mm should be moved\n\nor\n\nMPOL_MF_MOVE_ALL which means that pages shared with other processes\n\t\tshould also be moved.\n\nThe migration function returns 0 on success or an error condition.  An error\ncondition will prevent regular page migration from occurring.\n\nOn its own this patch cannot be included since there are no users for this\nfunctionality.  But it seems that the uncached allocator will need this\nfunctionality at some point.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: Andi Kleen \u003cak@muc.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "68402ddc677005ed1b1359bbc1f279548cfc0928",
      "tree": "83da62a2b55e2ea7e0c46ed79c0d6498d36e1942",
      "parents": [
        "9f1a3cfcffaed2fbb3206179295c79ca8289f5c3"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Sun Jun 25 05:46:47 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jun 25 10:00:55 2006 -0700"
      },
      "message": "[PATCH] mm: remove VM_LOCKED before remap_pfn_range and drop VM_SHM\n\nRemove VM_LOCKED before remap_pfn range from device drivers and get rid of\nVM_SHM.\n\nremap_pfn_range() already sets VM_IO.  There is no need to set VM_SHM since\nit does nothing.  VM_LOCKED is of no use since the remap_pfn_range does not\nplace pages on the LRU.  The pages are therefore never subject to swap\nanyways.  Remove all the vm_flags settings before calling remap_pfn_range.\n\nAfter removing all the vm_flag settings no use of VM_SHM is left.  Drop it.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nAcked-by: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "9637a5efd4fbe36164c5ce7f6a0ee68b2bf22b7f",
      "tree": "38b86e3e2151e78f952076e36bee4fd7d77e3baf",
      "parents": [
        "bd96b9eb7cfd6ab24ba244360a09980a720874d2"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Fri Jun 23 02:03:43 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 23 07:42:51 2006 -0700"
      },
      "message": "[PATCH] add page_mkwrite() vm_operations method\n\nAdd a new VMA operation to notify a filesystem or other driver about the\nMMU generating a fault because userspace attempted to write to a page\nmapped through a read-only PTE.\n\nThis facility permits the filesystem or driver to:\n\n (*) Implement storage allocation/reservation on attempted write, and so to\n     deal with problems such as ENOSPC more gracefully (perhaps by generating\n     SIGBUS).\n\n (*) Delay making the page writable until the contents have been written to a\n     backing cache. This is useful for NFS/AFS when using FS-Cache/CacheFS.\n     It permits the filesystem to have some guarantee about the state of the\n     cache.\n\n (*) Account and limit number of dirty pages. This is one piece of the puzzle\n     needed to make shared writable mapping work safely in FUSE.\n\nNeeded by cachefs (Or is it cachefiles?  Or fscache? \u003chead spins\u003e).\n\nAt least four other groups have stated an interest in it or a desire to use\nthe functionality it provides: FUSE, OCFS2, NTFS and JFFS2.  Also, things like\nEXT3 really ought to use it to deal with the case of shared-writable mmap\nencountering ENOSPC before we permit the page to be dirtied.\n\nFrom: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\n\n  get_user_pages(.write\u003d1, .force\u003d1) can generate COW hits on read-only\n  shared mappings, this patch traps those as mkpage_write candidates and fails\n  to handle them the old way.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nCc: Miklos Szeredi \u003cmiklos@szeredi.hu\u003e\nCc: Joel Becker \u003cJoel.Becker@oracle.com\u003e\nCc: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\nCc: Anton Altaparmakov \u003caia21@cantab.net\u003e\nCc: David Woodhouse \u003cdwmw2@infradead.org\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": "cb2b95e1c6b56e3d2369d3a5f4bc97f4fa180683",
      "tree": "121d3fcd539f7d62887949840307ac26aadaa9e4",
      "parents": [
        "6f0419e06a3b151ab616a31accdabef41dc2d1b0"
      ],
      "author": {
        "name": "Andy Whitcroft",
        "email": "apw@shadowen.org",
        "time": "Fri Jun 23 02:03:01 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 23 07:42:45 2006 -0700"
      },
      "message": "[PATCH] zone handle unaligned zone boundaries\n\nThe buddy allocator has a requirement that boundaries between contigious\nzones occur aligned with the the MAX_ORDER ranges.  Where they do not we\nwill incorrectly merge pages cross zone boundaries.  This can lead to pages\nfrom the wrong zone being handed out.\n\nOriginally the buddy allocator would check that buddies were in the same\nzone by referencing the zone start and end page frame numbers.  This was\nremoved as it became very expensive and the buddy allocator already made\nthe assumption that zones boundaries were aligned.\n\nIt is clear that not all configurations and architectures are honouring\nthis alignment requirement.  Therefore it seems safest to reintroduce\nsupport for non-aligned zone boundaries.  This patch introduces a new check\nwhen considering a page a buddy it compares the zone_table index for the\ntwo pages and refuses to merge the pages where they do not match.  The\nzone_table index is unique for each node/zone combination when\nFLATMEM/DISCONTIGMEM is enabled and for each section/zone combination when\nSPARSEMEM is enabled (a SPARSEMEM section is at least a MAX_ORDER size).\n\nSigned-off-by: Andy Whitcroft \u003capw@shadowen.org\u003e\nCc: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Yasunori Goto \u003cy-goto@jp.fujitsu.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "62c4f0a2d5a188f73a94f2cb8ea0dba3e7cf0a7f",
      "tree": "e85ca2d0dd43f90dccf758338764c3caa55f333f",
      "parents": [
        "089f26d5e31b7bf42a9a8fefec08b30cd27f4b0e"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Wed Apr 26 12:56:16 2006 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Wed Apr 26 12:56:16 2006 +0100"
      },
      "message": "Don\u0027t include linux/config.h from anywhere else in include/\n\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\n"
    },
    {
      "commit": "676165a8af7167f488abdcce6851a9bc36e83254",
      "tree": "a9b2b8dc155b48ce073b5ada31f2ac0694118e69",
      "parents": [
        "c3a9d6541f84ac3ff566982d08389b87c1c36b4e"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "piggin@cyberone.com.au",
        "time": "Mon Apr 10 11:21:48 2006 +1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Apr 10 10:16:37 2006 -0700"
      },
      "message": "[PATCH] Fix buddy list race that could lead to page lru list corruptions\n\nRohit found an obscure bug causing buddy list corruption.\n\npage_is_buddy is using a non-atomic test (PagePrivate \u0026\u0026 page_count \u003d\u003d 0)\nto determine whether or not a free page\u0027s buddy is itself free and in the\nbuddy lists.\n\nEach of the conjuncts may be true at different times due to unrelated\nconditions, so the non-atomic page_is_buddy test may find each conjunct to\nbe true even if they were not both true at the same time (ie. the page was\nnot on the buddy lists).\n\nSigned-off-by: Martin Bligh \u003cmbligh@google.com\u003e\nSigned-off-by: Rohit Seth \u003crohitseth@google.com\u003e\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "617d2214ee06c209e5c375c280d50abace8058e1",
      "tree": "dd2fbf4a2cfa9854ebf27e6f100608c8a0507850",
      "parents": [
        "b7ab795b7bec9997d4fde39f249d52823d36d98d"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Wed Mar 22 00:08:43 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Mar 22 07:54:02 2006 -0800"
      },
      "message": "[PATCH] mm: optimise page_count\n\nOptimise page_count compound page test and make it consistent with similar\nfunctions.\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": "7835e98b2e3c66dba79cb0ff8ebb90a2fe030c29",
      "tree": "405a96eade34845dabe2f125b6c5eb095846869d",
      "parents": [
        "70dc991d66cac40fdb07346dba2b5d862d732c34"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Wed Mar 22 00:08:40 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Mar 22 07:54:02 2006 -0800"
      },
      "message": "[PATCH] remove set_page_count() outside mm/\n\nset_page_count usage outside mm/ is limited to setting the refcount to 1.\nRemove set_page_count from outside mm/, and replace those users with\ninit_page_count() and set_page_refcounted().\n\nThis allows more debug checking, and tighter control on how code is allowed\nto play around with page-\u003e_count.\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": "84097518d1ecd2330f9488e4c2d09953a3340e74",
      "tree": "50981fe0584c456a1a86e6d7f611eec223b5f536",
      "parents": [
        "0f8053a509ceba4a077a50ea7b77039b5559b428"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Wed Mar 22 00:08:34 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Mar 22 07:54:01 2006 -0800"
      },
      "message": "[PATCH] mm: nommu use compound pages\n\nNow that compound page handling is properly fixed in the VM, move nommu\nover to using compound pages rather than rolling their own refcounting.\n\nnommu vm page refcounting is broken anyway, but there is no need to have\ndivergent code in the core VM now, nor when it gets fixed.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\n\n(Needs testing, please).\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "0f8053a509ceba4a077a50ea7b77039b5559b428",
      "tree": "5a66021540395e20256f38a3a45174617428a832",
      "parents": [
        "4fa4f53bf92139595cae6f1a3d972fc0a3451d29"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Wed Mar 22 00:08:33 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Mar 22 07:54:01 2006 -0800"
      },
      "message": "[PATCH] mm: make __put_page internal\n\nRemove __put_page from outside the core mm/.  It is dangerous because it does\nnot handle compound pages nicely, and misses 1-\u003e0 transitions.  If a user\nlater appears that really needs the extra speed we can reevaluate.\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": "69e05944af39fc6c97b09380c8721e38433bd828",
      "tree": "165e594ed5cd34c3a2b2ec236f75ac5b192ade7a",
      "parents": [
        "179e96395b1f01e95ebe1ff5ef306b810dbbd147"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Wed Mar 22 00:08:19 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Mar 22 07:54:00 2006 -0800"
      },
      "message": "[PATCH] vmscan: use unsigned longs\n\nTurn basically everything in vmscan.c into `unsigned long\u0027.  This is to avoid\nthe possibility that some piece of code in there might decide to operate upon\nmore than 4G (or even 2G) of pages in one hit.\n\nThis might be silly, but we\u0027ll need it one day.\n\nCc: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "8dfcc9ba27e2ed257e5de9539f7f03e57c2c0e33",
      "tree": "aecaeb6a0b33c23f79dfcd2418e4a3881a29f2e2",
      "parents": [
        "8e7a9aae91101916b86de07fafe3272ea8dc1f10"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Wed Mar 22 00:08:05 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Mar 22 07:53:57 2006 -0800"
      },
      "message": "[PATCH] mm: split highorder pages\n\nHave an explicit mm call to split higher order pages into individual pages.\n Should help to avoid bugs and be more explicit about the code\u0027s intention.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Chris Zankel \u003cchris@zankel.net\u003e\nSigned-off-by: Yoichi Yuasa \u003cyoichi_yuasa@tripeaks.co.jp\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "8dc04efbfb3c08a08fb7a3b97348d5d561b26ae2",
      "tree": "a48ce376d077745fdab23a33e5be1d48c979c3ae",
      "parents": [
        "7c8ee9a86340db686cd4314e9944dc9b6111bda9"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Wed Mar 22 00:08:03 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Mar 22 07:53:57 2006 -0800"
      },
      "message": "[PATCH] mm: de-skew page refcounting\n\natomic_add_unless (atomic_inc_not_zero) no longer requires an offset refcount\nto function correctly.\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": "7c8ee9a86340db686cd4314e9944dc9b6111bda9",
      "tree": "80638e1658556b4fd7c0b92d571aaac854245bd3",
      "parents": [
        "f205b2fe62d321403525065a4cb31b6bff1bbe53"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Wed Mar 22 00:08:03 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Mar 22 07:53:57 2006 -0800"
      },
      "message": "[PATCH] mm: simplify vmscan vs release refcounting\n\nThe VM has an interesting race where a page refcount can drop to zero, but it\nis still on the LRU lists for a short time.  This was solved by testing a 0-\u003e1\nrefcount transition when picking up pages from the LRU, and dropping the\nrefcount in that case.\n\nInstead, use atomic_add_unless to ensure we never pick up a 0 refcount page\nfrom the LRU, thus a 0 refcount page will never have its refcount elevated\nuntil it is allocated again.\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": "7a9166e3b037296366cea6f3c97f705d33e209e6",
      "tree": "275c713bc92309b6f90e5c66699753c0268c6be5",
      "parents": [
        "c8b8b1f2e0eeb91cca22211950742b5f51564672"
      ],
      "author": {
        "name": "Luke Yang",
        "email": "luke.adi@gmail.com",
        "time": "Mon Feb 20 18:28:07 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Feb 20 20:00:11 2006 -0800"
      },
      "message": "[PATCH] Fix undefined symbols for nommu architecture\n\nSigned-off-by: Luke Yang \u003cluke.adi@gmail.com\u003e\nAcked-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": "a62eaf151d9cb478d127cfbc2e93c498869785b0",
      "tree": "b13d62257ada7e0a9d37fdc9a69a7afa6f028b30",
      "parents": [
        "99019e919969be88e7e4042f3afa296bd55ad9ec"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@suse.de",
        "time": "Thu Feb 16 23:41:58 2006 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Feb 17 08:00:40 2006 -0800"
      },
      "message": "[PATCH] x86_64: Add boot option to disable randomized mappings and cleanup\n\nAMD SimNow!\u0027s JIT doesn\u0027t like them at all in the guest. For distribution\ninstallation it\u0027s easiest if it\u0027s a boot time option.\n\nAlso I moved the variable to a more appropiate place and make\nit independent from sysctl\n\nAnd marked __read_mostly which it is.\n\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "8519fb30e438f8088b71a94a7d5a660a814d3872",
      "tree": "8d29a7b1fa33e5f65e649d363cfa10e83c4fab97",
      "parents": [
        "99f6d61bda82d09b2d94414d413d39f66a0b7da2"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Tue Feb 07 12:58:52 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Feb 07 16:12:33 2006 -0800"
      },
      "message": "[PATCH] mm: compound release fix\n\nCompound pages on SMP systems can now often be freed from pagetables via\nthe release_pages path.  This uses put_page_testzero which does not handle\ncompound pages at all.  Releasing constituent pages from process mappings\ndecrements their count to a large negative number and leaks the reference\nat the head page - net result is a memory leak.\n\nThe problem was hidden because the debug check in put_page_testzero itself\nactually did take compound pages into consideration.\n\nFix the bug and the debug check.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nAcked-by: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "652050aec936fdd70ed9cbce1cd1ef30a7c9d117",
      "tree": "a2859991fd1c71d918c85c5a8b4bc63bb2c64808",
      "parents": [
        "9ab34fe76114b9538bfcaf3a9d112dee0feb5f17"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Jan 14 13:21:30 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Jan 14 18:27:15 2006 -0800"
      },
      "message": "[PATCH] mark several functions __always_inline\n\n      Arjan van de Ven \u003carjan@infradead.org\u003e\n\nMark a number of functions as \u0027must inline\u0027.  The functions affected by this\npatch need to be inlined because they use knowledge that their arguments are\nconstant so that most of the function optimizes away.  At this point this\npatch does not change behavior, it\u0027s for documentation only (and for future\npatches in the inline series)\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Arjan van de Ven \u003carjan@infradead.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "c59ede7b78db329949d9cdcd7064e22d357560ef",
      "tree": "f9dc9d464fdad5bfd464d983e77c1af031389dda",
      "parents": [
        "e16885c5ad624a6efe1b1bf764e075d75f65a788"
      ],
      "author": {
        "name": "Randy.Dunlap",
        "email": "rdunlap@xenotime.net",
        "time": "Wed Jan 11 12:17:46 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Jan 11 18:42:13 2006 -0800"
      },
      "message": "[PATCH] move capable() to capability.h\n\n- Move capable() from sched.h to capability.h;\n\n- Use \u003clinux/capability.h\u003e where capable() is used\n\t(in include/, block/, ipc/, kernel/, a few drivers/,\n\tmm/, security/, \u0026 sound/;\n\tmany more drivers/ to go)\n\nSigned-off-by: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "a4fc7ab1d065a9dd89ed0e74439ef87d4a16e980",
      "tree": "6312597ad183ee45e8769b1bc5b0035bfa681d64",
      "parents": [
        "a8b9ee7396ccc8db3bdb4108993556acbe2d3527"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Wed Jan 11 14:41:26 2006 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Jan 11 08:14:16 2006 -0800"
      },
      "message": "[PATCH] fix/simplify mutex debugging code\n\nLet\u0027s switch mutex_debug_check_no_locks_freed() to take (addr, len) as\narguments instead, since all its callers were just calculating the \u0027to\u0027\naddress for themselves anyway... (and sometimes doing so badly).\n\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "de5097c2e73f826302cd8957c225b3725e0c7553",
      "tree": "3d56ab6fd891088ac55a9ef529faf4360391a22f",
      "parents": [
        "408894ee4dd4debfdedd472eb4d8414892fc90f6"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jan 09 15:59:21 2006 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@hera.kernel.org",
        "time": "Mon Jan 09 15:59:21 2006 -0800"
      },
      "message": "[PATCH] mutex subsystem, more debugging code\n\nmore mutex debugging: check for held locks during memory freeing,\ntask exit, enable sysrq printouts, etc.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Arjan van de Ven \u003carjan@infradead.org\u003e\n"
    },
    {
      "commit": "349aef0bc4c7f07d685c977e12d0e2d0b5d0e6db",
      "tree": "6bb266ed8826bb4e7355a07a0092acb3d5d92647",
      "parents": [
        "59d9136b9844d3a0376d93c945ab280decedb323"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Sun Jan 08 01:04:36 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jan 08 20:14:04 2006 -0800"
      },
      "message": "[PATCH] shrink struct page\n\nReduce the size of the pageframe for NR_CPUS\u003e4, CONFIG_PREEMPT back to the\nminimal size by unionising both -\u003eprivate and -\u003emapping with the pagetable\nlock.\n\nIt uses an anonymous struct and hence requires gcc-3.x.\n\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": "152194aaa6266d71dfee57882a23def339ef17a4",
      "tree": "9af269a9f4c14e549c719207b0856da32ddec746",
      "parents": [
        "aea47ff363c15b0be5fc27ed991b1fdee338f0a7"
      ],
      "author": {
        "name": "Avishay Traeger",
        "email": "atraeger@cs.sunysb.edu",
        "time": "Sun Jan 08 01:00:58 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jan 08 20:12:43 2006 -0800"
      },
      "message": "[PATCH] set_page_count() macro safety\n\nFix set_page_count() macro to handle complex arguments.\n\nSigned-off-by: Avishay Traeger \u003catraeger@cs.sunysb.edu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "9d0243bca345d5ce25d3f4b74b7facb3a6df1232",
      "tree": "a3a0a763bf83a483282dc1c3caab587941a98fc2",
      "parents": [
        "bec6b0c89b234090681a4516e20ac5debe3e7c59"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Sun Jan 08 01:00:39 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jan 08 20:12:40 2006 -0800"
      },
      "message": "[PATCH] drop-pagecache\n\nAdd /proc/sys/vm/drop_caches.  When written to, this will cause the kernel to\ndiscard as much pagecache and/or reclaimable slab objects as it can.  THis\noperation requires root permissions.\n\nIt won\u0027t drop dirty data, so the user should run `sync\u0027 first.\n\nCaveats:\n\na) Holds inode_lock for exorbitant amounts of time.\n\nb) Needs to be taught about NUMA nodes: propagate these all the way through\n   so the discarding can be controlled on a per-node basis.\n\nThis is a debugging feature: useful for getting consistent results between\nfilesystem benchmarks.  We could possibly put it under a config option, but\nit\u0027s less than 300 bytes.\n\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "7ee1dd3fee22f15728f545d266403fc977e1eb99",
      "tree": "e2f9f42b0731d5006fa329a590069be6787af1de",
      "parents": [
        "5c40f7f373889930d176a515ec375b60a70b5b49"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Fri Jan 06 00:11:44 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 08:33:33 2006 -0800"
      },
      "message": "[PATCH] FRV: Make futex code compilable on nommu [try #2]\n\nMake the futex code compilable and usable on NOMMU by making the attempt to\nhandle page faults conditional on CONFIG_MMU.  If this is not enabled, then\nwe can assume that EFAULT returned from futex_atomic_op_inuser() is not\nrecoverable, and that the address lies outside of valid memory.\n\nhandle_mm_fault() is made to BUG if called on NOMMU without attempting to\ninvoke the actual handler (__handle_mm_fault).\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": "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": "03b00ebcc804180829d513df9e92e5fe8f72aacf",
      "tree": "6ffa5de42322cca4b1823f7257647e70a4a166bb",
      "parents": [
        "a94b3ab7eab4edcc9b2cb474b188f774c331adf7"
      ],
      "author": {
        "name": "Russell King",
        "email": "rmk@arm.linux.org.uk",
        "time": "Fri Jan 06 00:10:52 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 08:33:24 2006 -0800"
      },
      "message": "[PATCH] Shut up warnings in ipc/shm.c\n\nFix two warnings in ipc/shm.c\n\nipc/shm.c:122: warning: statement with no effect\nipc/shm.c:560: warning: statement with no effect\n\nby converting the macros to empty inline functions.  For safety, let\u0027s do\nall three.  This also has the advantage that typechecking gets performed\neven without CONFIG_SHMEM enabled.\n\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\nCc: Manfred Spraul \u003cmanfred@colorfullife.com\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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "7361f4d8ca65d23a18ba009b4484612183332c2f",
      "tree": "7e3dcf22f7d191bcbeb78eb633ae067a76163124",
      "parents": [
        "bf8f972d3a1daf969cf44f64cc36d53bfd76441f"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Mon Nov 07 00:59:28 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Nov 07 07:53:37 2005 -0800"
      },
      "message": "[PATCH] readahead commentary\n\nAdd a few comments surrounding the generic readahead API.\n\nAlso convert some ulongs into pgoff_t: the identifier for PAGE_CACHE_SIZE\noffsets into pagecache.\n\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "3947be1969a9ce455ec30f60ef51efb10e4323d1",
      "tree": "0b4b3b4c268beb7aa88cb685cce48b6bb5053c47",
      "parents": [
        "bdc8cb984576ab5b550c8b24c6fa111a873503e3"
      ],
      "author": {
        "name": "Dave Hansen",
        "email": "haveblue@us.ibm.com",
        "time": "Sat Oct 29 18:16:54 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Oct 29 21:40:44 2005 -0700"
      },
      "message": "[PATCH] memory hotplug: sysfs and add/remove functions\n\nThis adds generic memory add/remove and supporting functions for memory\nhotplug into a new file as well as a memory hotplug kernel config option.\n\nIndividual architecture patches will follow.\n\nFor now, disable memory hotplug when swsusp is enabled.  There\u0027s a lot of\nchurn there right now.  We\u0027ll fix it up properly once it calms down.\n\nSigned-off-by: Matt Tolentino \u003cmatthew.e.tolentino@intel.com\u003e\nSigned-off-by: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "4c21e2f2441dc5fbb957b030333f5a3f2d02dea7",
      "tree": "1f76d33bb1d76221c6424bc5fed080a4f91349a6",
      "parents": [
        "b38c6845b695141259019e2b7c0fe6c32a6e720d"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Sat Oct 29 18:16:40 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Oct 29 21:40:42 2005 -0700"
      },
      "message": "[PATCH] mm: split page table lock\n\nChristoph Lameter demonstrated very poor scalability on the SGI 512-way, with\na many-threaded application which concurrently initializes different parts of\na large anonymous area.\n\nThis patch corrects that, by using a separate spinlock per page table page, to\nguard the page table entries in that page, instead of using the mm\u0027s single\npage_table_lock.  (But even then, page_table_lock is still used to guard page\ntable allocation, and anon_vma allocation.)\n\nIn this implementation, the spinlock is tucked inside the struct page of the\npage table page: with a BUILD_BUG_ON in case it overflows - which it would in\nthe case of 32-bit PA-RISC with spinlock debugging enabled.\n\nSplitting the lock is not quite for free: another cacheline access.  Ideally,\nI suppose we would use split ptlock only for multi-threaded processes on\nmulti-cpu machines; but deciding that dynamically would have its own costs.\nSo for now enable it by config, at some number of cpus - since the Kconfig\nlanguage doesn\u0027t support inequalities, let preprocessor compare that with\nNR_CPUS.  But I don\u0027t think it\u0027s worth being user-configurable: for good\ntesting of both split and unsplit configs, split now at 4 cpus, and perhaps\nchange that to 8 later.\n\nThere is a benefit even for singly threaded processes: kswapd can be attacking\none part of the mm while another part is busy faulting.\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": "deceb6cd17e6dfafe4c4f81b1b4153bc41b2cb70",
      "tree": "2a722f50e8edef8609a49f65bfcb222e499c44cc",
      "parents": [
        "c34d1b4d165c67b966bca4aba026443d7ff161eb"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Sat Oct 29 18:16:33 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Oct 29 21:40:41 2005 -0700"
      },
      "message": "[PATCH] mm: follow_page with inner ptlock\n\nFinal step in pushing down common core\u0027s page_table_lock.  follow_page no\nlonger wants caller to hold page_table_lock, uses pte_offset_map_lock itself;\nand so no page_table_lock is taken in get_user_pages itself.\n\nBut get_user_pages (and get_futex_key) do then need follow_page to pin the\npage for them: take Daniel\u0027s suggestion of bitflags to follow_page.\n\nNeed one for WRITE, another for TOUCH (it was the accessed flag before:\nvanished along with check_user_page_readable, but surely get_numa_maps is\nwrong to mark every page it finds as accessed), another for GET.\n\nAnd another, ANON to dispose of untouched_anonymous_page: it seems silly for\nthat to descend a second time, let follow_page observe if there was no page\ntable and return ZERO_PAGE if so.  Fix minor bug in that: check VM_LOCKED -\nmake_pages_present ought to make readonly anonymous present.\n\nGive get_numa_maps a cond_resched while we\u0027re there.\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": "c34d1b4d165c67b966bca4aba026443d7ff161eb",
      "tree": "27ffca9daba2a6b16d29bd508faf3e68bda2aad1",
      "parents": [
        "c0718806cf955d5eb51ea77bffb5b21d9bba4972"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Sat Oct 29 18:16:32 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Oct 29 21:40:41 2005 -0700"
      },
      "message": "[PATCH] mm: kill check_user_page_readable\n\ncheck_user_page_readable is a problematic variant of follow_page.  It\u0027s used\nonly by oprofile\u0027s i386 and arm backtrace code, at interrupt time, to\nestablish whether a userspace stackframe is currently readable.\n\nThis is problematic, because we want to push the page_table_lock down inside\nfollow_page, and later split it; whereas oprofile is doing a spin_trylock on\nit (in the i386 case, forgotten in the arm case), and needs that to pin\nperhaps two pages spanned by the stackframe (which might be covered by\ndifferent locks when we split).\n\nI think oprofile is going about this in the wrong way: it doesn\u0027t need to know\nthe area is readable (neither i386 nor arm uses read protection of user\npages), it doesn\u0027t need to pin the memory, it should simply\n__copy_from_user_inatomic, and see if that succeeds or not.  Sorry, but I\u0027ve\nnot got around to devising the sparse __user annotations for this.\n\nThen we can eliminate check_user_page_readable, and return to a single\nfollow_page without the __follow_page variants.\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": "508034a32b819a2d40aa7ac0dbc8cd2e044c2de6",
      "tree": "906a8f0095af24f403b30d649d3ec1ffb4ff2f50",
      "parents": [
        "8f4f8c164cb4af1432cc25eda82928ea4519ba72"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Sat Oct 29 18:16:30 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Oct 29 21:40:41 2005 -0700"
      },
      "message": "[PATCH] mm: unmap_vmas with inner ptlock\n\nRemove the page_table_lock from around the calls to unmap_vmas, and replace\nthe pte_offset_map in zap_pte_range by pte_offset_map_lock: all callers are\nnow safe to descend without page_table_lock.\n\nDon\u0027t attempt fancy locking for hugepages, just take page_table_lock in\nunmap_hugepage_range.  Which makes zap_hugepage_range, and the hugetlb test in\nzap_page_range, redundant: unmap_vmas calls unmap_hugepage_range anyway.  Nor\ndoes unmap_vmas have much use for its mm arg now.\n\nThe tlb_start_vma and tlb_end_vma in unmap_page_range are now called without\npage_table_lock: if they\u0027re implemented at all, they typically come down to\nflush_cache_range (usually done outside page_table_lock) and flush_tlb_range\n(which we already audited for the mprotect case).\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": "c74df32c724a1652ad8399b4891bb02c9d43743a",
      "tree": "5a79d56fdcf7dc2053a277dbf6db7c3b339e9659",
      "parents": [
        "1bb3630e89cb8a7b3d3807629c20c5bad88290ff"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Sat Oct 29 18:16:23 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Oct 29 21:40:40 2005 -0700"
      },
      "message": "[PATCH] mm: ptd_alloc take ptlock\n\nSecond step in pushing down the page_table_lock.  Remove the temporary\nbridging hack from __pud_alloc, __pmd_alloc, __pte_alloc: expect callers not\nto hold page_table_lock, whether it\u0027s on init_mm or a user mm; take\npage_table_lock internally to check if a racing task already allocated.\n\nConvert their callers from common code.  But avoid coming back to change them\nagain later: instead of moving the spin_lock(\u0026mm-\u003epage_table_lock) down,\nswitch over to new macros pte_alloc_map_lock and pte_unmap_unlock, which\nencapsulate the mapping+locking and unlocking+unmapping together, and in the\nend may use alternatives to the mm page_table_lock itself.\n\nThese callers all hold mmap_sem (some exclusively, some not), so at no level\ncan a page table be whipped away from beneath them; and pte_alloc uses the\n\"atomic\" pmd_present to test whether it needs to allocate.  It appears that on\nall arches we can safely descend without page_table_lock.\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": "1bb3630e89cb8a7b3d3807629c20c5bad88290ff",
      "tree": "3d1fd73487ca66f227701b9530f2c76fcc6f9da4",
      "parents": [
        "872fec16d9a0ed3b75b8893aa217e49cca575ee5"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Sat Oct 29 18:16:22 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Oct 29 21:40:40 2005 -0700"
      },
      "message": "[PATCH] mm: ptd_alloc inline and out\n\nIt seems odd to me that, whereas pud_alloc and pmd_alloc test inline, only\ncalling out-of-line __pud_alloc __pmd_alloc if allocation needed,\npte_alloc_map and pte_alloc_kernel are entirely out-of-line.  Though it does\nadd a little to kernel size, change them to macros testing inline, calling\n__pte_alloc or __pte_alloc_kernel to allocate out-of-line.  Mark none of them\nas fastcalls, leave that to CONFIG_REGPARM or not.\n\nIt also seems more natural for the out-of-line functions to leave the offset\ncalculation and map to the inline, which has to do it anyway for the common\ncase.  At least mremap move wants __pte_alloc without _map.\n\nMacros rather than inline functions, certainly to avoid the header file issues\nwhich arise from CONFIG_HIGHPTE needing kmap_types.h, but also in case any\narchitectures I haven\u0027t built would have other such problems.\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": "872fec16d9a0ed3b75b8893aa217e49cca575ee5",
      "tree": "1dfc8b9f2754bdfff645188e497865c00201d535",
      "parents": [
        "46dea3d092d23a58b42499cc8a21de0fad079f4a"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Sat Oct 29 18:16:21 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Oct 29 21:40:40 2005 -0700"
      },
      "message": "[PATCH] mm: init_mm without ptlock\n\nFirst step in pushing down the page_table_lock.  init_mm.page_table_lock has\nbeen used throughout the architectures (usually for ioremap): not to serialize\nkernel address space allocation (that\u0027s usually vmlist_lock), but because\npud_alloc,pmd_alloc,pte_alloc_kernel expect caller holds it.\n\nReverse that: don\u0027t lock or unlock init_mm.page_table_lock in any of the\narchitectures; instead rely on pud_alloc,pmd_alloc,pte_alloc_kernel to take\nand drop it when allocating a new one, to check lest a racing task already\ndid.  Similarly no page_table_lock in vmalloc\u0027s map_vm_area.\n\nSome temporary ugliness in __pud_alloc and __pmd_alloc: since they also handle\nuser mms, which are converted only by a later patch, for now they have to lock\ndifferently according to whether or not it\u0027s init_mm.\n\nIf sources get muddled, there\u0027s a danger that an arch source taking\ninit_mm.page_table_lock will be mixed with common source also taking it (or\nneither take it).  So break the rules and make another change, which should\nbreak the build for such a mismatch: remove the redundant mm arg from\npte_alloc_kernel (ppc64 scrapped its distinct ioremap_mm in 2.6.13).\n\nExceptions: arm26 used pte_alloc_kernel on user mm, now pte_alloc_map; ia64\nused pte_alloc_map on init_mm, now pte_alloc_kernel; parisc had bad args to\npmd_alloc and pte_alloc_kernel in unused USE_HPPA_IOREMAP code; ppc64\nmap_io_page forgot to unlock on failure; ppc mmu_mapin_ram and ppc64 im_free\ntook page_table_lock for no good reason.\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": "46dea3d092d23a58b42499cc8a21de0fad079f4a",
      "tree": "6ca46fb09d18e8ea51a354a1494cc742fcf2f2e7",
      "parents": [
        "f449952bc8bde7fbc73c6d20dff92b627a21f8b9"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Sat Oct 29 18:16:20 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Oct 29 21:40:39 2005 -0700"
      },
      "message": "[PATCH] mm: ia64 use expand_upwards\n\nia64 has expand_backing_store function for growing its Register Backing Store\nvma upwards.  But more complete code for this purpose is found in the\nCONFIG_STACK_GROWSUP part of mm/mmap.c.  Uglify its #ifdefs further to provide\nexpand_upwards for ia64 as well as expand_stack for parisc.\n\nThe Register Backing Store vma should be marked VM_ACCOUNT.  Implement the\nintention of growing it only a page at a time, instead of passing an address\noutside of the vma to handle_mm_fault, with unknown consequences.\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": "365e9c87a982c03d0af3886e29d877f581b59611",
      "tree": "d06c1918ca9fe6677d7e4e869555e095004274f7",
      "parents": [
        "861f2fb8e796022b4928cab9c74fca6681a1c557"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Sat Oct 29 18:16:18 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Oct 29 21:40:39 2005 -0700"
      },
      "message": "[PATCH] mm: update_hiwaters just in time\n\nupdate_mem_hiwater has attracted various criticisms, in particular from those\nconcerned with mm scalability.  Originally it was called whenever rss or\ntotal_vm got raised.  Then many of those callsites were replaced by a timer\ntick call from account_system_time.  Now Frank van Maarseveen reports that to\nbe found inadequate.  How about this?  Works for Frank.\n\nReplace update_mem_hiwater, a poor combination of two unrelated ops, by macros\nupdate_hiwater_rss and update_hiwater_vm.  Don\u0027t attempt to keep\nmm-\u003ehiwater_rss up to date at timer tick, nor every time we raise rss (usually\nby 1): those are hot paths.  Do the opposite, update only when about to lower\nrss (usually by many), or just before final accounting in do_exit.  Handle\nmm-\u003ehiwater_vm in the same way, though it\u0027s much less of an issue.  Demand\nthat whoever collects these hiwater statistics do the work of taking the\nmaximum with rss or total_vm.\n\nAnd there has been no collector of these hiwater statistics in the tree.  The\nnew convention needs an example, so match Frank\u0027s usage by adding a VmPeak\nline above VmSize to /proc/\u003cpid\u003e/status, and also a VmHWM line above VmRSS\n(High-Water-Mark or High-Water-Memory).\n\nThere was a particular anomaly during mremap move, that hiwater_vm might be\ncaptured too high.  A fleeting such anomaly remains, but it\u0027s quickly\ncorrected now, whereas before it would stick.\n\nWhat locking?  None: if the app is racy then these statistics will be racy,\nit\u0027s not worth any overhead to make them exact.  But whenever it suits,\nhiwater_vm is updated under exclusive mmap_sem, and hiwater_rss under\npage_table_lock (for now) or with preemption disabled (later on): without\ngoing to any trouble, minimize the time between reading current values and\nupdating, to minimize those occasions when a racing thread bumps a count up\nand back down in between.\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": "b5810039a54e5babf428e9a1e89fc1940fabff11",
      "tree": "835836cb527ec9bd525f93eb7e016f3dfb8c8ae2",
      "parents": [
        "f9c98d0287de42221c624482fd4f8d485c98ab22"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "nickpiggin@yahoo.com.au",
        "time": "Sat Oct 29 18:16:12 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Oct 29 21:40:39 2005 -0700"
      },
      "message": "[PATCH] core remove PageReserved\n\nRemove PageReserved() calls from core code by tightening VM_RESERVED\nhandling in mm/ to cover PageReserved functionality.\n\nPageReserved special casing is removed from get_page and put_page.\n\nAll setting and clearing of PageReserved is retained, and it is now flagged\nin the page_alloc checks to help ensure we don\u0027t introduce any refcount\nbased freeing of Reserved pages.\n\nMAP_PRIVATE, PROT_WRITE of VM_RESERVED regions is tentatively being\ndeprecated.  We never completely handled it correctly anyway, and is be\nreintroduced in future if required (Hugh has a proof of concept).\n\nOnce PageReserved() calls are removed from kernel/power/swsusp.c, and all\narch/ and driver code, the Set and Clear calls, and the PG_reserved bit can\nbe trivially removed.\n\nLast real user of PageReserved is swsusp, which uses PageReserved to\ndetermine whether a struct page points to valid memory or not.  This still\nneeds to be addressed (a generic page_is_ram() should work).\n\nA last caveat: the ZERO_PAGE is now refcounted and managed with rmap (and\nthus mapcounted and count towards shared rss).  These writes to the struct\npage could cause excessive cacheline bouncing on big systems.  There are a\nnumber of ways this could be addressed if it is an issue.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\n\nRefcount bug fix for filemap_xip.c\n\nSigned-off-by: Carsten Otte \u003ccotte@de.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "a8fb5618dab7e45c8990f3155628d772a9ed45f9",
      "tree": "77977b8fb2f57c855da9e3168977521e8393776a",
      "parents": [
        "2c0b381467bc2997be9d741a152f3fc75785eedc"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Sat Oct 29 18:15:57 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Oct 29 21:40:37 2005 -0700"
      },
      "message": "[PATCH] mm: unlink_file_vma, remove_vma\n\nDivide remove_vm_struct into two parts: first anon_vma_unlink plus\nunlink_file_vma, to unlink the vma from the list and tree by which rmap or\nvmtruncate might find it; then remove_vma to close, fput and free.\n\nThe intention here is to do the anon_vma_unlink and unlink_file_vma earlier,\nin free_pgtables before freeing any page tables: so we can be sure that any\npage tables traversed by rmap and vmtruncate are stable (and other, ordinary\ncases are stabilized by holding mmap_sem).\n\nThis will be crucial to traversing pgd,pud,pmd without page_table_lock.  But\ntesting the split-out patch showed that lifting the page_table_lock is\nsymbiotically necessary to make this change - the lock ordering is wrong to\nmove those unlinks into free_pgtables while it\u0027s under 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": "ab50b8ed818016cfecd747d6d4bb9139986bc029",
      "tree": "33c666578c14dccce05b3f7a5538405098eebcc4",
      "parents": [
        "72866f6f277ec0ddd6df7a3b6ecdcf59a28de115"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Sat Oct 29 18:15:56 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Oct 29 21:40:37 2005 -0700"
      },
      "message": "[PATCH] mm: vm_stat_account unshackled\n\nThe original vm_stat_account has fallen into disuse, with only one user, and\nonly one user of vm_stat_unaccount.  It\u0027s easier to keep track if we convert\nthem all to __vm_stat_account, then free it from its __shackles.\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": "6daa0e28627abf362138244a620a821a9027d816",
      "tree": "5ca9cbc421cc1adf228cdd30cd627bca8be6242c",
      "parents": [
        "af4ca457eaf2d6682059c18463eb106e2ce58198"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Oct 21 03:18:50 2005 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Oct 28 08:16:47 2005 -0700"
      },
      "message": "[PATCH] gfp_t: mm/* (easy parts)\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "7e2cff42cfac27c25202648c5c89f9171e5bc085",
      "tree": "5579fa13b1fc8081201f05d687e6dc795d9d648f",
      "parents": [
        "7e871b6c8f1f4fda41e51ef86147facecac3be9f"
      ],
      "author": {
        "name": "Paolo \u0027Blaisorblade\u0027 Giarrusso",
        "email": "blaisorblade@yahoo.it",
        "time": "Wed Sep 21 09:55:39 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Sep 21 10:11:55 2005 -0700"
      },
      "message": "[PATCH] mm: add a note about partially hardcoded VM_* flags\n\nHugh made me note this line for permission checking in mprotect():\n\n\t\tif ((newflags \u0026 ~(newflags \u003e\u003e 4)) \u0026 0xf) {\n\nafter figuring out what\u0027s that about, I decided it\u0027s nasty enough.  Btw\nHugh itself didn\u0027t like the 0xf.\n\nWe can safely change it to VM_READ|VM_WRITE|VM_EXEC because we never change\nVM_SHARED, so no need to check that.\n\nSigned-off-by: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\u003e\nAcked-by: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "7e871b6c8f1f4fda41e51ef86147facecac3be9f",
      "tree": "d03c9af90786ea7fa8f5e77ce1e71437ab7de4df",
      "parents": [
        "f875a1a6650edce859bd21051a22e1c27ac7ea63"
      ],
      "author": {
        "name": "Paolo \u0027Blaisorblade\u0027 Giarrusso",
        "email": "blaisorblade@yahoo.it",
        "time": "Wed Sep 21 09:55:38 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Sep 21 10:11:55 2005 -0700"
      },
      "message": "[PATCH] mm: update stale comment for removal of page-\u003elist\n\nUpdate comment for the 2.6.6-rc1 conversion from page-\u003elist and\naddress_space-\u003e{clean,dirty,locked}_pages to radix tree tagging and -\u003elru.\n\nI\u0027ve mostly avoided to mention page lists (at least I\u0027ve shortened the\ncomment).\n\nSigned-off-by: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\u003e\nAcked-by: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f33ea7f404e592e4563b12101b7a4d17da6558d7",
      "tree": "1d587ad8a06cb6d2e3a187f0312c8a524ffefe53",
      "parents": [
        "5cb4cc0d8211c490537c8568001958fc76741312"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "nickpiggin@yahoo.com.au",
        "time": "Wed Aug 03 20:24:01 2005 +1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Aug 03 09:12:05 2005 -0700"
      },
      "message": "[PATCH] fix get_user_pages bug\n\nChecking pte_dirty instead of pte_write in __follow_page is problematic\nfor s390, and for copy_one_pte which leaves dirty when clearing write.\n\nSo revert __follow_page to check pte_write as before, and make\ndo_wp_page pass back a special extra VM_FAULT_WRITE bit to say it has\ndone its full job: once get_user_pages receives this value, it no longer\nrequires pte_write in __follow_page.\n\nBut most callers of handle_mm_fault, in the various architectures, have\nswitch statements which do not expect this new case.  To avoid changing\nthem all in a hurry, make an inline wrapper function (using the old\nname) that masks off the new bit, and use the extended interface with\ndouble underscores.\n\nYes, we do have a call to do_wp_page from do_swap_page, but no need to\nchange that: in rare case it\u0027s needed, another do_wp_page will follow.\n\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\n[ Cleanups by Nick Piggin ]\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "d41dee369bff3b9dcb6328d4d822926c28cc2594",
      "tree": "a0405f3b7af3ebca21838a7d427bd75a067bf850",
      "parents": [
        "af705362ab6018071310c5fcd436a6b457517d5f"
      ],
      "author": {
        "name": "Andy Whitcroft",
        "email": "apw@shadowen.org",
        "time": "Thu Jun 23 00:07:54 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:04 2005 -0700"
      },
      "message": "[PATCH] sparsemem memory model\n\nSparsemem abstracts the use of discontiguous mem_maps[].  This kind of\nmem_map[] is needed by discontiguous memory machines (like in the old\nCONFIG_DISCONTIGMEM case) as well as memory hotplug systems.  Sparsemem\nreplaces DISCONTIGMEM when enabled, and it is hoped that it can eventually\nbecome a complete replacement.\n\nA significant advantage over DISCONTIGMEM is that it\u0027s completely separated\nfrom CONFIG_NUMA.  When producing this patch, it became apparent in that NUMA\nand DISCONTIG are often confused.\n\nAnother advantage is that sparse doesn\u0027t require each NUMA node\u0027s ranges to be\ncontiguous.  It can handle overlapping ranges between nodes with no problems,\nwhere DISCONTIGMEM currently throws away that memory.\n\nSparsemem uses an array to provide different pfn_to_page() translations for\neach SECTION_SIZE area of physical memory.  This is what allows the mem_map[]\nto be chopped up.\n\nIn order to do quick pfn_to_page() operations, the section number of the page\nis encoded in page-\u003eflags.  Part of the sparsemem infrastructure enables\nsharing of these bits more dynamically (at compile-time) between the\npage_zone() and sparsemem operations.  However, on 32-bit architectures, the\nnumber of bits is quite limited, and may require growing the size of the\npage-\u003eflags type in certain conditions.  Several things might force this to\noccur: a decrease in the SECTION_SIZE (if you want to hotplug smaller areas of\nmemory), an increase in the physical address space, or an increase in the\nnumber of used page-\u003eflags.\n\nOne thing to note is that, once sparsemem is present, the NUMA node\ninformation no longer needs to be stored in the page-\u003eflags.  It might provide\nspeed increases on certain platforms and will be stored there if there is\nroom.  But, if out of room, an alternate (theoretically slower) mechanism is\nused.\n\nThis patch introduces CONFIG_FLATMEM.  It is used in almost all cases where\nthere used to be an #ifndef DISCONTIG, because SPARSEMEM and DISCONTIGMEM\noften have to compile out the same areas of code.\n\nSigned-off-by: Andy Whitcroft \u003capw@shadowen.org\u003e\nSigned-off-by: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nSigned-off-by: Martin Bligh \u003cmbligh@aracnet.com\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: Yasunori Goto \u003cy-goto@jp.fujitsu.com\u003e\nSigned-off-by: Bob Picco \u003cbob.picco@hp.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "348f8b6c4837a07304d2f72b11ce8d96588065e0",
      "tree": "f4c6c332b2c327630b284598325dff2f44e6c9cf",
      "parents": [
        "6f167ec721108c9282d54424516a12c805e3c306"
      ],
      "author": {
        "name": "Dave Hansen",
        "email": "haveblue@us.ibm.com",
        "time": "Thu Jun 23 00:07:40 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:01 2005 -0700"
      },
      "message": "[PATCH] sparsemem base: reorganize page-\u003eflags bit operations\n\nGenerify the value fields in the page_flags.  The aim is to allow the location\nand size of these fields to be varied.  Additionally we want to move away from\nfixed allocations per field whilst still enforcing the overall bit utilisation\nlimits.  We rely on the compiler to spot and optimise the accessor functions.\n\nSigned-off-by: Andy Whitcroft \u003capw@shadowen.org\u003e\nSigned-off-by: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "e7c8d5c9955a4d2e88e36b640563f5d6d5aba48a",
      "tree": "f04f7b0d08cbc46d2f190a85904a3dd696dc6e88",
      "parents": [
        "63551ae0feaaa23807ebea60de1901564bbef32e"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "christoph@lameter.com",
        "time": "Tue Jun 21 17:14:47 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 18:46:16 2005 -0700"
      },
      "message": "[PATCH] node local per-cpu-pages\n\nThis patch modifies the way pagesets in struct zone are managed.\n\nEach zone has a per-cpu array of pagesets.  So any particular CPU has some\nmemory in each zone structure which belongs to itself.  Even if that CPU is\nnot local to that zone.\n\nSo the patch relocates the pagesets for each cpu to the node that is nearest\nto the cpu instead of allocating the pagesets in the (possibly remote) target\nzone.  This means that the operations to manage pages on remote zone can be\ndone with information available locally.\n\nWe play a macro trick so that non-NUMA pmachines avoid the additional\npointer chase on the page allocator fastpath.\n\nAIM7 benchmark on a 32 CPU SGI Altix\n\nw/o patches:\nTasks    jobs/min  jti  jobs/min/task      real       cpu\n    1      484.68  100       484.6769     12.01      1.97   Fri Mar 25 11:01:42 2005\n  100    27140.46   89       271.4046     21.44    148.71   Fri Mar 25 11:02:04 2005\n  200    30792.02   82       153.9601     37.80    296.72   Fri Mar 25 11:02:42 2005\n  300    32209.27   81       107.3642     54.21    451.34   Fri Mar 25 11:03:37 2005\n  400    34962.83   78        87.4071     66.59    588.97   Fri Mar 25 11:04:44 2005\n  500    31676.92   75        63.3538     91.87    742.71   Fri Mar 25 11:06:16 2005\n  600    36032.69   73        60.0545     96.91    885.44   Fri Mar 25 11:07:54 2005\n  700    35540.43   77        50.7720    114.63   1024.28   Fri Mar 25 11:09:49 2005\n  800    33906.70   74        42.3834    137.32   1181.65   Fri Mar 25 11:12:06 2005\n  900    34120.67   73        37.9119    153.51   1325.26   Fri Mar 25 11:14:41 2005\n 1000    34802.37   74        34.8024    167.23   1465.26   Fri Mar 25 11:17:28 2005\n\nwith slab API changes and pageset patch:\n\nTasks    jobs/min  jti  jobs/min/task      real       cpu\n    1      485.00  100       485.0000     12.00      1.96   Fri Mar 25 11:46:18 2005\n  100    28000.96   89       280.0096     20.79    150.45   Fri Mar 25 11:46:39 2005\n  200    32285.80   79       161.4290     36.05    293.37   Fri Mar 25 11:47:16 2005\n  300    40424.15   84       134.7472     43.19    438.42   Fri Mar 25 11:47:59 2005\n  400    39155.01   79        97.8875     59.46    590.05   Fri Mar 25 11:48:59 2005\n  500    37881.25   82        75.7625     76.82    730.19   Fri Mar 25 11:50:16 2005\n  600    39083.14   78        65.1386     89.35    872.79   Fri Mar 25 11:51:46 2005\n  700    38627.83   77        55.1826    105.47   1022.46   Fri Mar 25 11:53:32 2005\n  800    39631.94   78        49.5399    117.48   1169.94   Fri Mar 25 11:55:30 2005\n  900    36903.70   79        41.0041    141.94   1310.78   Fri Mar 25 11:57:53 2005\n 1000    36201.23   77        36.2012    160.77   1458.31   Fri Mar 25 12:00:34 2005\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Shobhit Dayal \u003cshobhit@calsoftinc.com\u003e\nSigned-off-by: Shai Fultheim \u003cShai@Scalex86.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "845d34318f8acb0d92d18ccc72ef6db4c7baeaea",
      "tree": "6e62572694f1bec82dfb197e637a024d2486bc77",
      "parents": [
        "fba478b1719c39ea67f15c6158ff4993933e9d18"
      ],
      "author": {
        "name": "Domen Puncer",
        "email": "domen@coderock.org",
        "time": "Thu May 05 16:16:14 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu May 05 16:36:49 2005 -0700"
      },
      "message": "[PATCH] Spelling cleanups in shrinker code\n\nJust a few small cleanups to make this coherent english.\n\nSigned-Off-By:  Martin Hicks \u003cmort@wildopensource.com\u003e\nSigned-off-by: Domen Puncer \u003cdomen@coderock.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    }
  ],
  "next": "119f657c72fc07d6fd28c61de59cfba1566970a9"
}
