)]}'
{
  "log": [
    {
      "commit": "c17dad6905fc82d8f523399e5c3f014e81d61df6",
      "tree": "9e28f9f77dd80b2b89d4760d56c2106a3255cdcb",
      "parents": [
        "75b7edfdc12c213402b17a62e5cfe7a802a4ab57"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Wed Oct 29 14:00:50 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 30 11:38:45 2008 -0700"
      },
      "message": ".gitignore updates\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "fa07e787733416c42938a310a8e717295934e33c",
      "tree": "f2ba036532d89fe27e65b18ca862137067587ea2",
      "parents": [
        "b291f000393f5a0b679012b39d79fbc85c018233"
      ],
      "author": {
        "name": "Lee Schermerhorn",
        "email": "lee.schermerhorn@hp.com",
        "time": "Sat Oct 18 20:26:47 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 08:52:31 2008 -0700"
      },
      "message": "doc: unevictable LRU and mlocked pages documentation\n\nDocumentation for unevictable lru list and its usage.\n\nSigned-off-by: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nSigned-off-by: Rik van Riel \u003criel@redhat.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6acb2eceff80027bd67a204227c6c8effd464c25",
      "tree": "c5d76cf757a4b7f5bce2d7f4ba2da92c091f6021",
      "parents": [
        "627240aaa92a4dc00d25584910b5f205e963747b"
      ],
      "author": {
        "name": "Michael Kerrisk",
        "email": "mtk.manpages@googlemail.com",
        "time": "Fri Aug 15 00:40:18 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 15 08:35:42 2008 -0700"
      },
      "message": "Documentation/vm/page_migration: update reference to numa_maps + fix download URI\n\nWith man-pages-3.07, the numa_maps documentation home is now proc(5), so\nthe reference in Documentation/vm/page_migration needs updating.\n(Cliff/Lee are removing numa_maps.5 from the numactl package.) Also, the\ndownload location for the numactl package changed a while back.  This\npatch fixes both things, as well as a typo (provided--\u003eprovides).\n\nSigned-off-by: Michael Kerrisk \u003cmtk.manpages@gmail.com\u003e\nCc: Cliff Wickman \u003ccpw@sgi.com\u003e\nCc: Lee Schermerhorn \u003cLee.Schermerhorn@hp.com\u003e\nCc: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3794f3e812ef707a4f7931742274d1d0ca6597b4",
      "tree": "9a5373fa2bbcfc1626bb666d2c895e2620f7a3b3",
      "parents": [
        "bc2aa80e18a1b43ea2b8066500006b729c4ba4a7"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Tue Aug 12 15:09:06 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 12 16:07:30 2008 -0700"
      },
      "message": "docsrc: build Documentation/ sources\n\nCurrently source files in the Documentation/ sub-dir can easily bit-rot\nsince they are not generally buildable, either because they are hidden in\ntext files or because there are no Makefile rules for them.  This needs to\nbe fixed so that the source files remain usable and good examples of code\ninstead of bad examples.\n\nAdd the ability to build source files that are in the Documentation/ dir.\nAdd to Kconfig as \"BUILD_DOCSRC\" config symbol.\n\nUse \"CONFIG_BUILD_DOCSRC\u003d1 make ...\" to build objects from the\nDocumentation/ sources.  Or enable BUILD_DOCSRC in the *config system.\nHowever, this symbol depends on HEADERS_CHECK since the header files need\nto be installed (for userspace builds).\n\nBuilt (using cross-tools) for x86-64, i386, alpha, ia64, sparc32,\nsparc64, powerpc, sh, m68k, \u0026 mips.\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nReviewed-by: Sam Ravnborg \u003csam@ravnborg.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d91958815d214ea365b98cbff6215383897edcb6",
      "tree": "a50416a04c9ae84c4242dbec62d8f211d97ea4d2",
      "parents": [
        "19fd6231279be3c3bdd02ed99f9b0eb195978064"
      ],
      "author": {
        "name": "Matt LaPlante",
        "email": "kernel1@cyberdogtech.com",
        "time": "Fri Jul 25 19:45:33 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jul 26 12:00:06 2008 -0700"
      },
      "message": "Documentation cleanup: trivial misspelling, punctuation, and grammar corrections.\n\nCc: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a3437870160cf2caaac6bdd76c7377a5a4145a8c",
      "tree": "6d3c8ddd442e4cd96f1f8bdcf59fcaef72f4edc9",
      "parents": [
        "a137e1cc6d6e7d315fef03962a2a5a113348b13b"
      ],
      "author": {
        "name": "Nishanth Aravamudan",
        "email": "nacc@us.ibm.com",
        "time": "Wed Jul 23 21:27:44 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:17 2008 -0700"
      },
      "message": "hugetlb: new sysfs interface\n\nProvide new hugepages user APIs that are more suited to multiple hstates\nin sysfs.  There is a new directory, /sys/kernel/hugepages.  Underneath\nthat directory there will be a directory per-supported hugepage size,\ne.g.:\n\n/sys/kernel/hugepages/hugepages-64kB\n/sys/kernel/hugepages/hugepages-16384kB\n/sys/kernel/hugepages/hugepages-16777216kB\n\ncorresponding to 64k, 16m and 16g respectively.  Within each\nhugepages-size directory there are a number of files, corresponding to the\ntracked counters in the hstate, e.g.:\n\n/sys/kernel/hugepages/hugepages-64/nr_hugepages\n/sys/kernel/hugepages/hugepages-64/nr_overcommit_hugepages\n/sys/kernel/hugepages/hugepages-64/free_hugepages\n/sys/kernel/hugepages/hugepages-64/resv_hugepages\n/sys/kernel/hugepages/hugepages-64/surplus_hugepages\n\nOf these files, the first two are read-write and the latter three are\nread-only.  The size of the hugepage being manipulated is trivially\ndeducible from the enclosing directory and is always expressed in kB (to\nmatch meminfo).\n\n[dave@linux.vnet.ibm.com: fix build]\n[nacc@us.ibm.com: hugetlb: hang off of /sys/kernel/mm rather than /sys/kernel]\n[nacc@us.ibm.com: hugetlb: remove CONFIG_SYSFS dependency]\nAcked-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nSigned-off-by: Nishanth Aravamudan \u003cnacc@us.ibm.com\u003e\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: Dave Hansen \u003cdave@linux.vnet.ibm.com\u003e\nSigned-off-by: Nishanth Aravamudan \u003cnacc@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cde53535991fbb5c34a1566f25955297c1487b8d",
      "tree": "4f87e67b52c8761cfc421a619379263733b91159",
      "parents": [
        "a926c063738f31c8c8b5c2b883812a40e7868072"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Fri Jul 04 09:59:22 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 04 10:40:04 2008 -0700"
      },
      "message": "Christoph has moved\n\nRemove all clameter@sgi.com addresses from the kernel tree since they will\nbecome invalid on June 27th.  Change my maintainer email address for the\nslab allocators to cl@linux-foundation.org (which will be the new email\naddress for the future).\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nCc: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nCc: Matt Mackall \u003cmpm@selenic.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ef421be741a3e56cb89088a7dd4f73cc38739d1b",
      "tree": "932aeb38ff6f973f27743bca48d708c4d67d8e77",
      "parents": [
        "4710d1ac4c491dd8a28f57946214c0b5fe73cc87"
      ],
      "author": {
        "name": "Thomas Tuttle",
        "email": "ttuttle@google.com",
        "time": "Thu Jun 05 22:46:59 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 06 11:29:14 2008 -0700"
      },
      "message": "pagemap: add documentation for pagemap\n\nJust a quick explanation of the pagemap interface from a userspace point\nof view, and an example of how to use it (in English, not code).\n\nSigned-off-by: Thomas  Tuttle \u003cttuttle@google.com\u003e\nCc: Matt Mackall \u003cmpm@selenic.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f715e6f15ee167026581a8a2e09b2ed644b974aa",
      "tree": "5a91e9eb1a72e992759b6ddf8eeb9c4ac68c3b52",
      "parents": [
        "0121c619d03820d965745e56f80f6eb5994533fe"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Tue Apr 29 16:14:46 2008 -0700"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Fri May 02 00:26:51 2008 +0300"
      },
      "message": "slabinfo: Support printout of the number of fallbacks\n\nAdd functionality to slabinfo to print out the number of fallbacks\nthat have occurred for each slab cache when the -D option is specified.\nAlso widen the allocation / free field since the numbers became\ntoo big after a week.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\n"
    },
    {
      "commit": "e97e386b126c2d60b8da61ce1e4964b41b3d1514",
      "tree": "7e04b7f735004330777200c6742568fc130ff893",
      "parents": [
        "d9dedc13851f9cbd568fbc631a17b0be83404957",
        "c124f5b54f879e5870befcc076addbd5d614663f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 14:08:56 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 14:08:56 2008 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/slab-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/slab-2.6:\n  slub: pack objects denser\n  slub: Calculate min_objects based on number of processors.\n  slub: Drop DEFAULT_MAX_ORDER / DEFAULT_MIN_OBJECTS\n  slub: Simplify any_slab_object checks\n  slub: Make the order configurable for each slab cache\n  slub: Drop fallback to page allocator method\n  slub: Fallback to minimal order during slab page allocation\n  slub: Update statistics handling for variable order slabs\n  slub: Add kmem_cache_order_objects struct\n  slub: for_each_object must be passed the number of objects in a slab\n  slub: Store max number of objects in the page struct.\n  slub: Dump list of objects not freed on kmem_cache_close()\n  slub: free_list() cleanup\n  slub: improve kmem_cache_destroy() error message\n  slob: fix bug - when slob allocates \"struct kmem_cache\", it does not force alignment.\n"
    },
    {
      "commit": "fc36b8d3d819047eb4d23ca079fb4d3af20ff076",
      "tree": "65ee215a6bdca1e8d4ac4b57525445d7d1829c1d",
      "parents": [
        "53f2556b6792ed99fde965f5e061749edd455623"
      ],
      "author": {
        "name": "Lee Schermerhorn",
        "email": "lee.schermerhorn@hp.com",
        "time": "Mon Apr 28 02:13:21 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:24 2008 -0700"
      },
      "message": "mempolicy: use MPOL_F_LOCAL to Indicate Preferred Local Policy\n\nNow that we\u0027re using \"preferred local\" policy for system default, we need to\nmake this as fast as possible.  Because of the variable size of the mempolicy\nstructure [based on size of nodemasks], the preferred_node may be in a\ndifferent cacheline from the mode.  This can result in accessing an extra\ncacheline in the normal case of system default policy.  Suspect this is the\ncause of an observed 2-3% slowdown in page fault testing relative to kernel\nwithout this patch series.\n\nTo alleviate this, use an internal mode flag, MPOL_F_LOCAL in the mempolicy\nflags member which is guaranteed [?] to be in the same cacheline as the mode\nitself.\n\nVerified that reworked mempolicy now performs slightly better on 25-rc8-mm1\nfor both anon and shmem segments with system default and vma [preferred local]\npolicy.\n\nSigned-off-by: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nCc: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\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": "bea904d54d6faa92400f10c8ea3d3828b8e1eb93",
      "tree": "24966dd4dabadb4bb32aa1e00fae2c2168661229",
      "parents": [
        "52cd3b074050dd664380b5e8cfc85d4a6ed8ad48"
      ],
      "author": {
        "name": "Lee Schermerhorn",
        "email": "lee.schermerhorn@hp.com",
        "time": "Mon Apr 28 02:13:18 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:24 2008 -0700"
      },
      "message": "mempolicy: use MPOL_PREFERRED for system-wide default policy\n\nCurrently, when one specifies MPOL_DEFAULT via a NUMA memory policy API\n[set_mempolicy(), mbind() and internal versions], the kernel simply installs a\nNULL struct mempolicy pointer in the appropriate context: task policy, vma\npolicy, or shared policy.  This causes any use of that policy to \"fall back\"\nto the next most specific policy scope.\n\nThe only use of MPOL_DEFAULT to mean \"local allocation\" is in the system\ndefault policy.  This requires extra checks/cases for MPOL_DEFAULT in many\nmempolicy.c functions.\n\nThere is another, \"preferred\" way to specify local allocation via the APIs.\nThat is using the MPOL_PREFERRED policy mode with an empty nodemask.\nInternally, the empty nodemask gets converted to a preferred_node id of \u0027-1\u0027.\nAll internal usage of MPOL_PREFERRED will convert the \u0027-1\u0027 to the id of the\nnode local to the cpu where the allocation occurs.\n\nSystem default policy, except during boot, is hard-coded to \"local\nallocation\".  By using the MPOL_PREFERRED mode with a negative value of\npreferred node for system default policy, MPOL_DEFAULT will never occur in the\n\u0027policy\u0027 member of a struct mempolicy.  Thus, we can remove all checks for\nMPOL_DEFAULT when converting policy to a node id/zonelist in the allocation\npaths.\n\nIn slab_node() return local node id when policy pointer is NULL.  No need to\nset a pol value to take the switch default.  Replace switch default with\nBUG()--i.e., shouldn\u0027t happen.\n\nWith this patch MPOL_DEFAULT is only used in the APIs, including internal\ncalls to do_set_mempolicy() and in the display of policy in\n/proc/\u003cpid\u003e/numa_maps.  It always means \"fall back\" to the the next most\nspecific policy scope.  This simplifies the description of memory policies\nquite a bit, with no visible change in behavior.\n\nget_mempolicy() continues to return MPOL_DEFAULT and an empty nodemask when\nthe requested policy [task or vma/shared] is NULL.  These are the values one\nwould supply via set_mempolicy() or mbind() to achieve that condition--default\nbehavior.\n\nThis patch updates Documentation to reflect this change.\n\nSigned-off-by: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nCc: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\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": "52cd3b074050dd664380b5e8cfc85d4a6ed8ad48",
      "tree": "fcfcf55c0e81376ea34919fab26e29bedd7f3b88",
      "parents": [
        "a6020ed759404372e8be2b276e85e51735472cc9"
      ],
      "author": {
        "name": "Lee Schermerhorn",
        "email": "lee.schermerhorn@hp.com",
        "time": "Mon Apr 28 02:13:16 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:24 2008 -0700"
      },
      "message": "mempolicy: rework mempolicy Reference Counting [yet again]\n\nAfter further discussion with Christoph Lameter, it has become clear that my\nearlier attempts to clean up the mempolicy reference counting were a bit of\noverkill in some areas, resulting in superflous ref/unref in what are usually\nfast paths.  In other areas, further inspection reveals that I botched the\nunref for interleave policies.\n\nA separate patch, suitable for upstream/stable trees, fixes up the known\nerrors in the previous attempt to fix reference counting.\n\nThis patch reworks the memory policy referencing counting and, one hopes,\nsimplifies the code.  Maybe I\u0027ll get it right this time.\n\nSee the update to the numa_memory_policy.txt document for a discussion of\nmemory policy reference counting that motivates this patch.\n\nSummary:\n\nLookup of mempolicy, based on (vma, address) need only add a reference for\nshared policy, and we need only unref the policy when finished for shared\npolicies.  So, this patch backs out all of the unneeded extra reference\ncounting added by my previous attempt.  It then unrefs only shared policies\nwhen we\u0027re finished with them, using the mpol_cond_put() [conditional put]\nhelper function introduced by this patch.\n\nNote that shmem_swapin() calls read_swap_cache_async() with a dummy vma\ncontaining just the policy.  read_swap_cache_async() can call alloc_page_vma()\nmultiple times, so we can\u0027t let alloc_page_vma() unref the shared policy in\nthis case.  To avoid this, we make a copy of any non-null shared policy and\nremove the MPOL_F_SHARED flag from the copy.  This copy occurs before reading\na page [or multiple pages] from swap, so the overhead should not be an issue\nhere.\n\nI introduced a new static inline function \"mpol_cond_copy()\" to copy the\nshared policy to an on-stack policy and remove the flags that would require a\nconditional free.  The current implementation of mpol_cond_copy() assumes that\nthe struct mempolicy contains no pointers to dynamically allocated structures\nthat must be duplicated or reference counted during copy.\n\nSigned-off-by: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nCc: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\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": "45c4745af381851b0406d8e4db99e62e265691c2",
      "tree": "d93f6f7b3d7eb3773aaa80444c56baff99e670d6",
      "parents": [
        "ae4d8c16aa22775f5731677abb8a82f03cec877e"
      ],
      "author": {
        "name": "Lee Schermerhorn",
        "email": "lee.schermerhorn@hp.com",
        "time": "Mon Apr 28 02:13:12 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:24 2008 -0700"
      },
      "message": "mempolicy: rename struct mempolicy \u0027policy\u0027 member to \u0027mode\u0027\n\nThe terms \u0027policy\u0027 and \u0027mode\u0027 are both used in various places to describe the\nsemantics of the value stored in the \u0027policy\u0027 member of struct mempolicy.\nFurthermore, the term \u0027policy\u0027 is used to refer to that member, to the entire\nstruct mempolicy and to the more abstract concept of the tuple consisting of a\n\"mode\" and an optional node or set of nodes.  Recently, we have added \"mode\nflags\" that are passed in the upper bits of the \u0027mode\u0027 [or sometimes,\n\u0027policy\u0027] member of the numa APIs.\n\nI\u0027d like to resolve this confusion, which perhaps only exists in my mind, by\nrenaming the \u0027policy\u0027 member to \u0027mode\u0027 throughout, and fixing up the\nDocumentation.  Man pages will be updated separately.\n\nSigned-off-by: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nCc: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\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": "3e1f064562fcff7bf3856bc1d00dfa84d4f121cc",
      "tree": "9ebc17449238ab5284b72f634405044376dc816b",
      "parents": [
        "3842b46de626d1a3c44ad280d67ab0a4dc047d13"
      ],
      "author": {
        "name": "David Rientjes",
        "email": "rientjes@google.com",
        "time": "Mon Apr 28 02:12:34 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:20 2008 -0700"
      },
      "message": "mempolicy: disallow static or relative flags for local preferred mode\n\nMPOL_F_STATIC_NODES and MPOL_F_RELATIVE_NODES don\u0027t mean anything for\nMPOL_PREFERRED policies that were created with an empty nodemask (for purely\nlocal allocations).  They\u0027ll never be invalidated because the allowed mems of\na task changes or need to be rebound relative to a cpuset\u0027s placement.\n\nAlso fixes a bug identified by Lee Schermerhorn that disallowed empty\nnodemasks to be passed to MPOL_PREFERRED to specify local allocations.  [A\ndifferent, somewhat incomplete, patch already existed in 25-rc5-mm1.]\n\nCc: Paul Jackson \u003cpj@sgi.com\u003e\nCc: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: Lee Schermerhorn \u003cLee.Schermerhorn@hp.com\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nCc: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nSigned-off-by: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "65d66fc02ed9433b957588071b60425b12628e25",
      "tree": "8737b2e5d018dc9e9d310d9b032fbeeecd588e62",
      "parents": [
        "4c50bc0116cf3cc35e7152d6a8424b4db65f52d6"
      ],
      "author": {
        "name": "David Rientjes",
        "email": "rientjes@google.com",
        "time": "Mon Apr 28 02:12:31 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:19 2008 -0700"
      },
      "message": "mempolicy: update NUMA memory policy documentation\n\nUpdates Documentation/vm/numa_memory_policy.txt and\nDocumentation/filesystems/tmpfs.txt to describe optional mempolicy mode flags.\n\nCc: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: Lee Schermerhorn \u003cLee.Schermerhorn@hp.com\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nCc: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Paul Jackson \u003cpj@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": "19770b32609b6bf97a3dece2529089494cbfc549",
      "tree": "3b5922d1b20aabdf929bde9309f323841717747a",
      "parents": [
        "dd1a239f6f2d4d3eedd318583ec319aa145b324c"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mel@csn.ul.ie",
        "time": "Mon Apr 28 02:12:18 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:19 2008 -0700"
      },
      "message": "mm: filter based on a nodemask as well as a gfp_mask\n\nThe MPOL_BIND policy creates a zonelist that is used for allocations\ncontrolled by that mempolicy.  As the per-node zonelist is already being\nfiltered based on a zone id, this patch adds a version of __alloc_pages() that\ntakes a nodemask for further filtering.  This eliminates the need for\nMPOL_BIND to create a custom zonelist.\n\nA positive benefit of this is that allocations using MPOL_BIND now use the\nlocal node\u0027s distance-ordered zonelist instead of a custom node-id-ordered\nzonelist.  I.e., pages will be allocated from the closest allowed node with\navailable memory.\n\n[Lee.Schermerhorn@hp.com: Mempolicy: update stale documentation and comments]\n[Lee.Schermerhorn@hp.com: Mempolicy: make dequeue_huge_page_vma() obey MPOL_BIND nodemask]\n[Lee.Schermerhorn@hp.com: Mempolicy: make dequeue_huge_page_vma() obey MPOL_BIND nodemask rework]\nSigned-off-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nAcked-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "205ab99dd103e3dd5b0964dad8a16dfe2db69b2e",
      "tree": "026a601ea25681cbf34f37360880f78a305a32f5",
      "parents": [
        "834f3d119234b35a1985a2449831d99356637937"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Mon Apr 14 19:11:40 2008 +0300"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Sun Apr 27 18:28:17 2008 +0300"
      },
      "message": "slub: Update statistics handling for variable order slabs\n\nChange the statistics to consider that slabs of the same slabcache\ncan have different number of objects in them since they may be of\ndifferent order.\n\nProvide a new sysfs field\n\n\ttotal_objects\n\nwhich shows the total objects that the allocated slabs of a slabcache\ncould hold.\n\nAdd a max field that holds the largest slab order that was ever used\nfor a slab cache.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\n"
    },
    {
      "commit": "423bec43079a2942a3004034df7aad76469758d8",
      "tree": "df77cdba718cbee8a61946689390c92eb3c2ab83",
      "parents": [
        "91446b064c748fc2a238fd68b677c9671e536bfd"
      ],
      "author": {
        "name": "Nishanth Aravamudan",
        "email": "nacc@us.ibm.com",
        "time": "Tue Apr 15 14:34:43 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 15 19:35:41 2008 -0700"
      },
      "message": "Documentation: correct overcommit caveat in hugetlbpage.txt\n\nAs shown by Gurudas Pai recently, we can put hugepages into the surplus\nstate (by echo 0 \u003e /proc/sys/vm/nr_hugepages), even when\n/proc/sys/vm/nr_overcommit_hugepages is 0. This is actually correct, to\nallow the original goal (shrink the static pool to 0) to succeed (we are\nconverting hugepages to surplus because they are in use). However, the\ndocumentation does not accurately reflect this case. Update it.\n\nSigned-off-by: Nishanth Aravamudan \u003cnacc@us.ibm.com\u003e\nAcked-by: Andy Whitcroft \u003capw@shadowen.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "989a7241df87526bfef0396567e71ebe53a84ae4",
      "tree": "7e11acf87a8a8be7cf515aaed16a762aa025fc9b",
      "parents": [
        "6d2144d355d2a532e5cc3fc12a6ba2a8d4ef15e4"
      ],
      "author": {
        "name": "Itaru Kitayama",
        "email": "i-kitayama@ap.jp.nec.com",
        "time": "Wed Mar 05 15:07:30 2008 -0800"
      },
      "committer": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Thu Mar 06 16:21:50 2008 -0800"
      },
      "message": "slub: fix typo in Documentation/vm/slub.txt\n\nslub_debug\u003d,dentry is correct, not dentry_cache.\n\nSigned-off-by: Itaru Kitayama \u003ci-kitayama@ap.jp.nec.com\u003e\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\n"
    },
    {
      "commit": "b6c24de77cbe9afe4962f0738e6444e709e83c81",
      "tree": "8369806f79e82bd91a80e4184972fb29f674c08c",
      "parents": [
        "82bd3f17f4600fd374524c015826c175819f15ea"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Mon Feb 04 23:35:48 2008 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Feb 21 15:27:06 2008 -0800"
      },
      "message": "slabinfo: fall back from /sys/kernel/slab to /sys/slab\n\nI keep running upstream and mm kernels and the location of the slab\ndirectory is different since upstream still uses /sys/slab.  This patch\nmakes slabinfo check /sys/slab if /sys/kernel/slab is not there.  Makes\nslabinfo work on any kernel.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "8ff12cfc009a2a38d87fa7058226fe197bb2696f",
      "tree": "1358ed247d3c897d8790342a978dd5078354a207",
      "parents": [
        "1f84260c8ce3b1ce26d4c1d6dedc2f33a3a29c0c"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Thu Feb 07 17:47:41 2008 -0800"
      },
      "committer": {
        "name": "Christoph Lameter",
        "email": "christoph@stapp.engr.sgi.com",
        "time": "Thu Feb 07 17:47:41 2008 -0800"
      },
      "message": "SLUB: Support for performance statistics\n\nThe statistics provided here allow the monitoring of allocator behavior but\nat the cost of some (minimal) loss of performance. Counters are placed in\nSLUB\u0027s per cpu data structure. The per cpu structure may be extended by the\nstatistics to grow larger than one cacheline which will increase the cache\nfootprint of SLUB.\n\nThere is a compile option to enable/disable the inclusion of the runtime\nstatistics and its off by default.\n\nThe slabinfo tool is enhanced to support these statistics via two options:\n\n-D \tSwitches the line of information displayed for a slab from size\n\tmode to activity mode.\n\n-A\tSorts the slabs displayed by activity. This allows the display of\n\tthe slabs most important to the performance of a certain load.\n\n-r\tReport option will report detailed statistics on\n\nExample (tbench load):\n\nslabinfo -AD\t\t-\u003eShows the most active slabs\n\nName                   Objects    Alloc     Free   %Fast\nskbuff_fclone_cache         33 111953835 111953835  99  99\n:0000192                  2666  5283688  5281047  99  99\n:0001024                   849  5247230  5246389  83  83\nvm_area_struct            1349   119642   118355  91  22\n:0004096                    15    66753    66751  98  98\n:0000064                  2067    25297    23383  98  78\ndentry                   10259    28635    18464  91  45\n:0000080                 11004    18950     8089  98  98\n:0000096                  1703    12358    10784  99  98\n:0000128                   762    10582     9875  94  18\n:0000512                   184     9807     9647  95  81\n:0002048                   479     9669     9195  83  65\nanon_vma                   777     9461     9002  99  71\nkmalloc-8                 6492     9981     5624  99  97\n:0000768                   258     7174     6931  58  15\n\nSo the skbuff_fclone_cache is of highest importance for the tbench load.\nPretty high load on the 192 sized slab. Look for the aliases\n\nslabinfo -a | grep 000192\n:0000192     \u003c- xfs_btree_cur filp kmalloc-192 uid_cache tw_sock_TCP\n\trequest_sock_TCPv6 tw_sock_TCPv6 skbuff_head_cache xfs_ili\n\nLikely skbuff_head_cache.\n\n\nLooking into the statistics of the skbuff_fclone_cache is possible through\n\nslabinfo skbuff_fclone_cache\t-\u003e-r option implied if cache name is mentioned\n\n\n.... Usual output ...\n\nSlab Perf Counter       Alloc     Free %Al %Fr\n--------------------------------------------------\nFastpath             111953360 111946981  99  99\nSlowpath                 1044     7423   0   0\nPage Alloc                272      264   0   0\nAdd partial                25      325   0   0\nRemove partial             86      264   0   0\nRemoteObj/SlabFrozen      350     4832   0   0\nTotal                111954404 111954404\n\nFlushes       49 Refill        0\nDeactivate Full\u003d325(92%) Empty\u003d0(0%) ToHead\u003d24(6%) ToTail\u003d1(0%)\n\nLooks good because the fastpath is overwhelmingly taken.\n\n\nskbuff_head_cache:\n\nSlab Perf Counter       Alloc     Free %Al %Fr\n--------------------------------------------------\nFastpath              5297262  5259882  99  99\nSlowpath                 4477    39586   0   0\nPage Alloc                937      824   0   0\nAdd partial                 0     2515   0   0\nRemove partial           1691      824   0   0\nRemoteObj/SlabFrozen     2621     9684   0   0\nTotal                 5301739  5299468\n\nDeactivate Full\u003d2620(100%) Empty\u003d0(0%) ToHead\u003d0(0%) ToTail\u003d0(0%)\n\n\nDescriptions of the output:\n\nTotal:\t\tThe total number of allocation and frees that occurred for a\n\t\tslab\n\nFastpath:\tThe number of allocations/frees that used the fastpath.\n\nSlowpath:\tOther allocations\n\nPage Alloc:\tNumber of calls to the page allocator as a result of slowpath\n\t\tprocessing\n\nAdd Partial:\tNumber of slabs added to the partial list through free or\n\t\talloc (occurs during cpuslab flushes)\n\nRemove Partial:\tNumber of slabs removed from the partial list as a result of\n\t\tallocations retrieving a partial slab or by a free freeing\n\t\tthe last object of a slab.\n\nRemoteObj/Froz:\tHow many times were remotely freed object encountered when a\n\t\tslab was about to be deactivated. Frozen: How many times was\n\t\tfree able to skip list processing because the slab was in use\n\t\tas the cpuslab of another processor.\n\nFlushes:\tNumber of times the cpuslab was flushed on request\n\t\t(kmem_cache_shrink, may result from races in __slab_alloc)\n\nRefill:\t\tNumber of times we were able to refill the cpuslab from\n\t\tremotely freed objects for the same slab.\n\nDeactivate:\tStatistics how slabs were deactivated. Shows how they were\n\t\tput onto the partial list.\n\nIn general fastpath is very good. Slowpath without partial list processing is\nalso desirable. Any touching of partial list uses node specific locks which\nmay potentially cause list lock contention.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\n\n"
    },
    {
      "commit": "081248de0a0288a0ce4e1447a07ccf56aa4fae01",
      "tree": "2a45ac7ad26aa8f8edb9e72ac8be461be82d0271",
      "parents": [
        "27c3a314d55b810f3b51902d1d815c714a7afbd2"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Nov 01 09:29:06 2007 -0600"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 20:40:16 2008 -0800"
      },
      "message": "kset: move /sys/slab to /sys/kernel/slab\n\n/sys/kernel is where these things should go.\nAlso updated the documentation and tool that used this directory.\n\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nAcked-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "d5dbac87b4343d98ae509fb787efb77f8ddc484b",
      "tree": "5a3cd992275cd754724b7450ec34cea6fa241f6e",
      "parents": [
        "368d2c6358c3c62b3820a8a73f9fe9c8b540cdea"
      ],
      "author": {
        "name": "Nishanth Aravamudan",
        "email": "nacc@us.ibm.com",
        "time": "Mon Dec 17 16:20:25 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Dec 17 19:28:17 2007 -0800"
      },
      "message": "Documentation: update hugetlb information\n\nThe hugetlb documentation has gotten a bit out of sync with the current code.\nUpdated the sysctl file to refer to Documentation/vm/hugetlbpage.txt.  Update\nthat file to contain the current state of affairs (with the newer named sysctl\nin place).\n\nSigned-off-by: Nishanth Aravamudan \u003cnacc@us.ibm.com\u003e\nAcked-by: Adam Litke \u003cagl@us.ibm.com\u003e\nCc: William Lee Irwin III \u003cwli@holomorphy.com\u003e\nCc: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nCc: David Gibson \u003cdavid@gibson.dropbear.id.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f32143a2fedfa299d790ca96bff9b1d2e2d6996b",
      "tree": "351a003cb63efe43a6e53c20483f2caeeef5737e",
      "parents": [
        "24950898ffd161f2ea67c60f398146457bca8bf0"
      ],
      "author": {
        "name": "WANG Cong",
        "email": "xiyou.wangcong@gmail.com",
        "time": "Tue Oct 16 23:31:29 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Oct 17 08:43:06 2007 -0700"
      },
      "message": "Documentation/vm/slabinfo.c: clean up this code\n\nThis patch does the following cleanups for Documentation/vm/slabinfo.c:\n\n\t- Fix two memory leaks;\n\t- Constify some char pointers;\n\t- Use snprintf instead of sprintf in case of buffer overflow;\n\t- Fix some indentations;\n\t- Other little improvements.\n\nAcked-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: WANG Cong \u003cxiyou.wangcong@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e11f9a17b0c037bb627628ce4b45897e0797c479",
      "tree": "99ab7f7325876f4498e0d9f5773e89c535577fb0",
      "parents": [
        "1f27d87ba57cfeee6e58797011cb082d65b70815"
      ],
      "author": {
        "name": "David Rientjes",
        "email": "rientjes@google.com",
        "time": "Tue Oct 16 23:31:17 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Oct 17 08:43:05 2007 -0700"
      },
      "message": "doc: move vm/00-INDEX to Documentation/vm\n\nLooks like the 00-INDEX file lost its parent directory in -rc6-mm1.\n\nSigned-off-by: David Rientjes \u003crientjes@google.com\u003e\nCc: Jesper Juhl \u003cjesper.juhl@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "754af6f5a85fcd1ecb456851d20c65e4c6ce10ab",
      "tree": "8c985bfd704a8c993d6ca992725969c6fc5c9e5a",
      "parents": [
        "32a4330d4156e55a4888a201f484dbafed9504ed"
      ],
      "author": {
        "name": "Lee Schermerhorn",
        "email": "Lee.Schermerhorn@hp.com",
        "time": "Tue Oct 16 01:24:51 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Oct 16 09:42:54 2007 -0700"
      },
      "message": "Mem Policy: add MPOL_F_MEMS_ALLOWED get_mempolicy() flag\n\nAllow an application to query the memories allowed by its context.\n\nUpdated numa_memory_policy.txt to mention that applications can use this to\nobtain allowed memories for constructing valid policies.\n\nTODO:  update out-of-tree libnuma wrapper[s], or maybe add a new\nwrapper--e.g.,  numa_get_mems_allowed() ?\n\nAlso, update numa syscall man pages.\n\nTested with memtoy V\u003e\u003d0.13.\n\nSigned-off-by:  Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nAcked-by: Christoph Lameter \u003cclameter@sgi.com\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": "42b88e6ad4014d290d6b59dfeb5d6949c5a3f346",
      "tree": "2478c6065f2fdee50761c0cd61bc657d06711ee6",
      "parents": [
        "88ae704c2aba150372e3d5c2f017c816773d09a7"
      ],
      "author": {
        "name": "Lee Schermerhorn",
        "email": "Lee.Schermerhorn@hp.com",
        "time": "Wed Aug 22 14:01:06 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Aug 22 19:52:44 2007 -0700"
      },
      "message": "Document Linux Memory Policy\n\nI couldn\u0027t find any memory policy documentation in the Documentation\ndirectory, so here is my attempt to document it.\n\nThere\u0027s lots more that could be written about the internal design--including\ndata structures, functions, etc.  However, if you agree that this is better\nthat the nothing that exists now, perhaps it could be merged.  This will\nprovide a baseline for updates to document the many policy patches that are\ncurrently being worked.\n\nSigned-off-by: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nCc: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nCc: Michael Kerrisk \u003cmtk-manpages@gmx.net\u003e\nAcked-by: Rob Landley \u003crob@landley.net\u003e\nAcked-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ac07860264bd2b18834d3fa3be47032115524cea",
      "tree": "f0456c2ccbbf26a69cd0a137132e8e141ed40780",
      "parents": [
        "1ceef40249f21eceabf8633934d94962e7d8e1d7"
      ],
      "author": {
        "name": "Jesper Juhl",
        "email": "jesper.juhl@gmail.com",
        "time": "Wed Aug 08 16:31:30 2007 -0700"
      },
      "committer": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Thu Aug 09 21:57:16 2007 -0700"
      },
      "message": "SLUB: Fix format specifier in Documentation/vm/slabinfo.c\n\nThere\u0027s a little problem in Documentation/vm/slabinfo.c\nThe code is using \"%d\" in a printf() call to print an \u0027unsigned long\u0027.\nThis patch corrects it to use \"%lu\" instead.\n\nSigned-off-by: Jesper Juhl \u003cjesper.juhl@gmail.com\u003e\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\n"
    },
    {
      "commit": "2492268472e7d326a6fe10f92f9211c4578f2482",
      "tree": "5f668469190b96bc0db13f836d774ae73cf385ca",
      "parents": [
        "8e1f936b73150f5095448a0fee6d4f30a1f9001d"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Tue Jul 17 04:03:18 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 17 10:23:01 2007 -0700"
      },
      "message": "SLUB: change error reporting format to follow lockdep loosely\n\nChanges the error reporting format to loosely follow lockdep.\n\nIf data corruption is detected then we generate the following lines:\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\nBUG \u003cslab-cache\u003e: \u003cproblem\u003e\n--------------------------------------------\n\nINFO: \u003cmore information\u003e [possibly multiple times]\n\n\u003cobject dump\u003e\n\nFIX \u003cslab-cache\u003e: \u003cremedial action\u003e\n\nThis also adds some more intelligence to the data corruption detection. Its\nnow capable of figuring out the start and end.\n\nAdd a comment on how to configure SLUB so that a production system may\ncontinue to operate even though occasional slab corruption occur through\na misbehaving kernel component. See \"Emergency operations\" in\nDocumentation/vm/slub.txt.\n\n[akpm@linux-foundation.org: build fix]\nSigned-off-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": "e73a75fa7f062b52d015f1c961685dcaac57f710",
      "tree": "de9c45f6a3c59651f8cea516f88cd1f7f8e31855",
      "parents": [
        "5216184571946b8bbf06f0cd630c7754190fdd1a"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Sun Jul 15 23:40:52 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:46 2007 -0700"
      },
      "message": "hugetlbfs: use lib/parser, fix docs\n\nUse lib/parser.c to parse hugetlbfs mount options.  Correct docs in\nhugetlbpage.txt.\n\nold size of hugetlbfs_fill_super:  675 bytes\nnew size of hugetlbfs_fill_super:  686 bytes\n(hugetlbfs_parse_options() is inlined)\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: David Gibson \u003cdavid@gibson.dropbear.id.au\u003e\nCc: Adam Litke \u003cagl@us.ibm.com\u003e\nAcked-by: William Lee Irwin III \u003cwli@holomorphy.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f0630fff54a239efbbd89faf6a62da071ef1ff78",
      "tree": "4004adc3adf4dbe1a6188ca0bbd56f7606d4d05f",
      "parents": [
        "fc9a07e7bf1a76e710f5df017abb07628db1781d"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Sun Jul 15 23:38:14 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:36 2007 -0700"
      },
      "message": "SLUB: support slub_debug on by default\n\nAdd a new configuration variable\n\nCONFIG_SLUB_DEBUG_ON\n\nIf set then the kernel will be booted by default with slab debugging\nswitched on. Similar to CONFIG_SLAB_DEBUG. By default slab debugging\nis available but must be enabled by specifying \"slub_debug\" as a\nkernel parameter.\n\nAlso add support to switch off slab debugging for a kernel that was\nbuilt with CONFIG_SLUB_DEBUG_ON. This works by specifying\n\nslub_debug\u003d-\n\nas a kernel parameter.\n\nDave Jones wanted this feature.\nhttp://marc.info/?l\u003dlinux-kernel\u0026m\u003d118072189913045\u0026w\u003d2\n\n[akpm@linux-foundation.org: clean up switch statement]\nSigned-off-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": "c1aee215d760175601b820bd1e2f0364e844ff8c",
      "tree": "afbbbe64b57552fa55a0ee95b01922f64ecec0a1",
      "parents": [
        "9af20376ee65cd2d13f7eb587fab70879d8c355b"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Thu May 31 00:40:47 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu May 31 07:58:13 2007 -0700"
      },
      "message": "SLUB: More documentation\n\nUpdate documentation to describe how to read a SLUB error report.\nAdd slub parameters to Documentation/kernel-parameters.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: \"Randy.Dunlap\" \u003crdunlap@xenotime.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "32f9306b161a5e0c892132f7227f36de94090289",
      "tree": "69a04fdd1d38e535af7729be18e4244dad4b1013",
      "parents": [
        "223a10a98135da38d3668973d72cdffb1ced4b7d"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Fri May 18 00:36:43 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri May 18 08:17:17 2007 -0700"
      },
      "message": "slub: another slabinfo fix\n\nThe slab manipulation functions should not be triggered by slabs that\nare unresovable in the subset of slabs selected on the command line.\n\nSigned-off-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": "eefaca9c3246f3daf56e7ed02987f79abcee7087",
      "tree": "1eac21979f536f7a08ae77d4b59f1c615eef5b94",
      "parents": [
        "ade3aff25fb2dce76e2a9b53e1334bd0a174f739"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Wed May 16 22:10:55 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu May 17 05:23:03 2007 -0700"
      },
      "message": "SLUB: slabinfo fixes\n\nAlign the output of % with K/M/G of sizes.\n\nCheck for empty NUMA information to avoid segfault on !NUMA.\n\n-r should work directly not only if we match a single slab\n   without additional options.\n\nSigned-off-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": "a87615b8f9e2349f6d3770af3d72fd6a41ab4239",
      "tree": "5e2608dad1ad746b0552ef52afec9298320045ac",
      "parents": [
        "be7b3fbcef34452127bed93632b8e788f685d70e"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Wed May 09 02:32:37 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 12:30:44 2007 -0700"
      },
      "message": "SLUB: slabinfo upgrade\n\n-e Show empty slabs\n-d Modification of slab debug options at runtime\n-o Operations. Display of ctor / dtor etc.\n-r Report: Display all available information about a slabcache.\n\nCleanup tracking display and make it work right.\n\nSigned-off-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": "c09d87517298fd01543739ba26987645deb4e6a9",
      "tree": "dddbcc938e28787ea1c411e2cc918411ffaae93a",
      "parents": [
        "352434211dad370316155d90d7dab590519f465b"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Sun May 06 14:49:48 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:12:54 2007 -0700"
      },
      "message": "slub: add slabinfo tool\n\nAdd the tool which gets reports about slabs to the VM documentation directory.\n\nSigned-off-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": "352434211dad370316155d90d7dab590519f465b",
      "tree": "cb0644ccbf10736243aac2a6967641197d0a2d9f",
      "parents": [
        "70d71228af9360cc4a0198ecd6351a1b34fa6d01"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Sun May 06 14:49:47 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:12:54 2007 -0700"
      },
      "message": "slub: user documentation\n\nSigned-off-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": "670e9f34ee3c7e052514c85014d2fdd99b672cdc",
      "tree": "41f82a763ba6d5ca2fcb84d6a05808d095d4d051",
      "parents": [
        "53cb47268e6b38180d9f253527135e1c69c5d310"
      ],
      "author": {
        "name": "Paolo Ornati",
        "email": "ornati@fastwebnet.it",
        "time": "Tue Oct 03 22:57:56 2006 +0200"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Tue Oct 03 22:57:56 2006 +0200"
      },
      "message": "Documentation: remove duplicated words\n\nRemove many duplicated words under Documentation/ and do other small\ncleanups.\n\nExamples:\n        \"and and\" --\u003e \"and\"\n        \"in in\" --\u003e \"in\"\n        \"the the\" --\u003e \"the\"\n        \"the the\" --\u003e \"to the\"\n        ...\n\nSigned-off-by: Paolo Ornati \u003cornati@fastwebnet.it\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\n"
    },
    {
      "commit": "742755a1d8ce2b548428f7aacf1758b4bba50080",
      "tree": "53426657e14dc19a694d418274c9a6f4dcb8a997",
      "parents": [
        "95a402c3847cc16f4ba03013cd01404fa0f14c2e"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Fri Jun 23 02:03:55 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 23 07:42:53 2006 -0700"
      },
      "message": "[PATCH] page migration: sys_move_pages(): support moving of individual pages\n\nmove_pages() is used to move individual pages of a process. The function can\nbe used to determine the location of pages and to move them onto the desired\nnode. move_pages() returns status information for each page.\n\nlong move_pages(pid, number_of_pages_to_move,\n\t\taddresses_of_pages[],\n\t\tnodes[] or NULL,\n\t\tstatus[],\n\t\tflags);\n\nThe addresses of pages is an array of void * pointing to the\npages to be moved.\n\nThe nodes array contains the node numbers that the pages should be moved\nto. If a NULL is passed instead of an array then no pages are moved but\nthe status array is updated. The status request may be used to determine\nthe page state before issuing another move_pages() to move pages.\n\nThe status array will contain the state of all individual page migration\nattempts when the function terminates. The status array is only valid if\nmove_pages() completed successfullly.\n\nPossible page states in status[]:\n\n0..MAX_NUMNODES\tThe page is now on the indicated node.\n\n-ENOENT\t\tPage is not present\n\n-EACCES\t\tPage is mapped by multiple processes and can only\n\t\tbe moved if MPOL_MF_MOVE_ALL is specified.\n\n-EPERM\t\tThe page has been mlocked by a process/driver and\n\t\tcannot be moved.\n\n-EBUSY\t\tPage is busy and cannot be moved. Try again later.\n\n-EFAULT\t\tInvalid address (no VMA or zero page).\n\n-ENOMEM\t\tUnable to allocate memory on target node.\n\n-EIO\t\tUnable to write back page. The page must be written\n\t\tback in order to move it since the page is dirty and the\n\t\tfilesystem does not provide a migration function that\n\t\twould allow the moving of dirty pages.\n\n-EINVAL\t\tA dirty page cannot be moved. The filesystem does not provide\n\t\ta migration function and has no ability to write back pages.\n\nThe flags parameter indicates what types of pages to move:\n\nMPOL_MF_MOVE\tMove pages that are only mapped by the process.\n\nMPOL_MF_MOVE_ALL Also move pages that are mapped by multiple processes.\n\t\tRequires sufficient capabilities.\n\nPossible return codes from move_pages()\n\n-ENOENT\t\tNo pages found that would require moving. All pages\n\t\tare either already on the target node, not present, had an\n\t\tinvalid address or could not be moved because they were\n\t\tmapped by multiple processes.\n\n-EINVAL\t\tFlags other than MPOL_MF_MOVE(_ALL) specified or an attempt\n\t\tto migrate pages in a kernel thread.\n\n-EPERM\t\tMPOL_MF_MOVE_ALL specified without sufficient priviledges.\n\t\tor an attempt to move a process belonging to another user.\n\n-EACCES\t\tOne of the target nodes is not allowed by the current cpuset.\n\n-ENODEV\t\tOne of the target nodes is not online.\n\n-ESRCH\t\tProcess does not exist.\n\n-E2BIG\t\tToo many pages to move.\n\n-ENOMEM\t\tNot enough memory to allocate control array.\n\n-EFAULT\t\tParameters could not be accessed.\n\nA test program for move_pages() may be found with the patches\non ftp.kernel.org:/pub/linux/kernel/people/christoph/pmig/patches-2.6.17-rc4-mm3\n\nFrom: Christoph Lameter \u003cclameter@sgi.com\u003e\n\n  Detailed results for sys_move_pages()\n\n  Pass a pointer to an integer to get_new_page() that may be used to\n  indicate where the completion status of a migration operation should be\n  placed.  This allows sys_move_pags() to report back exactly what happened to\n  each page.\n\n  Wish there would be a better way to do this. Looks a bit hacky.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: Jes Sorensen \u003cjes@trained-monkey.org\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nCc: Andi Kleen \u003cak@muc.de\u003e\nCc: Michael Kerrisk \u003cmtk-manpages@gmx.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "8d3c138b77f195ca0eee6fb639ae73f5ea9edb6b",
      "tree": "832ac3c87484f5875b3b4afeab1de5eca1115770",
      "parents": [
        "04e62a29bf157ce1edd168f2b71b533c80d13628"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Fri Jun 23 02:03:39 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 23 07:42:51 2006 -0700"
      },
      "message": "[PATCH] page migration: Update documentation\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": "5e1222717932ff7d447af6da03c10a81fb60af7d",
      "tree": "b4b3488b24b668be2ecb9d1eb15383e58493ab31",
      "parents": [
        "73374454558b9caea46a5521fdae312d3d0ed3e1"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "rdunlap@xenotime.net",
        "time": "Tue Apr 18 22:21:51 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Apr 19 09:13:52 2006 -0700"
      },
      "message": "[PATCH] Doc: vm/hugetlbpage update-2\n\nAdd new line of /proc/meminfo output.\n\nExplain the HugePage_ lines in /proc/meminfo (from Bill Irwin).\n\nChange KB to kB since the latter is what is used in the kernel.\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": "21a26d49d1ab3163b589bf913dd9176e921eb1d7",
      "tree": "b5a0c33b4d3a954c7ba6200f03d4e647c9ecd9ab",
      "parents": [
        "64a3ca5f7ec2606b03be4a65736164a5373732ed"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "rdunlap@xenotime.net",
        "time": "Mon Apr 10 22:53:04 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Apr 11 06:18:33 2006 -0700"
      },
      "message": "[PATCH] hugetlbfs doc. update\n\nFix typos, spelling, etc., in Doc/vm/hugetlbpage.txt.\n\nSigned-off-by: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nCc: David Gibson \u003cdavid@gibson.dropbear.id.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "b4fb376628e63bfc8071fc915b921da3db4a3385",
      "tree": "01863773f7d48792072b2a49aba9fa78df39eecc",
      "parents": [
        "4983da07f1e2e8dc81cb9d640fbf35b899cdbdf2"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Tue Mar 14 19:50:20 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Mar 14 21:43:02 2006 -0800"
      },
      "message": "[PATCH] Page migration documentation update\n\nUpdate the documentation for page migration.\n\n- Fix up bits and pieces in cpusets.txt\n\n- Rework text in vm/page-migration to be clearer and reflect the final\n  version of page migration in 2.6.16. Mention Andi Kleen\u0027s numactl\n  package that contains user space tools for page migration via\n  libnuma. Add reference to numa_maps and to the manpage in numactl.\n\n- Add todo list for outstanding issues\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": "a48d07afdf18212de22b959715b16793c5a6e57a",
      "tree": "36d5963c29ceb5c2f6df53036cef5c0d30383dbf",
      "parents": [
        "b16664e44c54525be89dc07ad15a13b4eeec5634"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Wed Feb 01 03:05:38 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Feb 01 08:53:16 2006 -0800"
      },
      "message": "[PATCH] Direct Migration V9: migrate_pages() extension\n\nAdd direct migration support with fall back to swap.\n\nDirect migration support on top of the swap based page migration facility.\n\nThis allows the direct migration of anonymous pages and the migration of file\nbacked pages by dropping the associated buffers (requires writeout).\n\nFall back to swap out if necessary.\n\nThe patch is based on lots of patches from the hotplug project but the code\nwas restructured, documented and simplified as much as possible.\n\nNote that an additional patch that defines the migrate_page() method for\nfilesystems is necessary in order to avoid writeback for anonymous and file\nbacked pages.\n\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nSigned-off-by: Mike Kravetz \u003ckravetz@us.ibm.com\u003e\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "5c7ad5104d8ecf2c3a6428d73748126e91b1a250",
      "tree": "6b4ffdb7c113ac32c1213f6dc32d4da8f375a915",
      "parents": [
        "385fd4c59d8bf7895ad3641c4cea615346f684ed"
      ],
      "author": {
        "name": "Muli Ben-Yehuda",
        "email": "mulix@mulix.org",
        "time": "Mon Nov 07 00:59:42 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Nov 07 07:53:39 2005 -0800"
      },
      "message": "[PATCH] perform maintenance on Documentation/vm/hugetlbpage.txt\n\nUpdates to Documentation/vm/hugetlbpage.txt:\n\n- there\u0027s no need to select HUGETLB_PAGE manually and it\u0027s no longer\n  under the processor menu.  Update the text accordingly.\n\n- fix typos and trim trailing whitespace.\n\nSigned-Off-By: Muli Ben-Yehuda \u003cmulix@mulix.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "5d337b9194b1ce3b6fd5f3cb2799455ed2f9a3d1",
      "tree": "91ed9ef6f4cb5f6a1832f2baaaabd53fcd83513e",
      "parents": [
        "048c27fd72816b44e096997d1c6901c3abbfd45b"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Sat Sep 03 15:54:41 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@evo.osdl.org",
        "time": "Mon Sep 05 00:05:42 2005 -0700"
      },
      "message": "[PATCH] swap: swap_lock replace list+device\n\nThe idea of a swap_device_lock per device, and a swap_list_lock over them all,\nis appealing; but in practice almost every holder of swap_device_lock must\nalready hold swap_list_lock, which defeats the purpose of the split.\n\nThe only exceptions have been swap_duplicate, valid_swaphandles and an\nuntrodden path in try_to_unuse (plus a few places added in this series).\nvalid_swaphandles doesn\u0027t show up high in profiles, but swap_duplicate does\ndemand attention.  However, with the hold time in get_swap_pages so much\nreduced, I\u0027ve not yet found a load and set of swap device priorities to show\neven swap_duplicate benefitting from the split.  Certainly the split is mere\noverhead in the common case of a single swap device.\n\nSo, replace swap_list_lock and swap_device_lock by spinlock_t swap_lock\n(generally we seem to prefer an _ in the name, and not hide in a macro).\n\nIf someone can show a regression in swap_duplicate, then probably we should\nadd a hashlock for the swap_map entries alone (shorts being anatomic), so as\nto help the case of the single swap device too.\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": "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2",
      "tree": "0bba044c4ce775e45a88a51686b5d9f90697ea9d",
      "parents": [],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "message": "Linux-2.6.12-rc2\n\nInitial git repository build. I\u0027m not bothering with the full history,\neven though we have it. We can create a separate \"historical\" git\narchive of that later if we want to, and in the meantime it\u0027s about\n3.2GB when imported into git - space that would just make the early\ngit days unnecessarily complicated, when we don\u0027t have a lot of good\ninfrastructure for it.\n\nLet it rip!\n"
    }
  ]
}
