)]}'
{
  "log": [
    {
      "commit": "849663430268db63a9c3c7467984e4e530ded901",
      "tree": "376459d03c5be4757813c5d185e364307bbbbd39",
      "parents": [
        "1e27dbe7746f3bcbcf1f9a37f31df4b886e36ce3"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Sat Jun 23 17:16:32 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Jun 24 08:59:11 2007 -0700"
      },
      "message": "SLUB: fix behavior if the text output of list_locations overflows PAGE_SIZE\n\nIf slabs are allocated or freed from a large set of call sites (typical for\nthe kmalloc area) then we may create more output than fits into a single\nPAGE and sysfs only gives us one page.  The output should be truncated.\nThis patch fixes the checks to do the truncation properly.\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": "06b32f3ab6df4c7489729f94bdc7093c72681d4b",
      "tree": "07fabea840fa598e510b4da899ef7f5b06282683",
      "parents": [
        "d2f1c0fa2b346769ac35559ae3bafccf151dd446"
      ],
      "author": {
        "name": "Helge Deller",
        "email": "deller@gmx.de",
        "time": "Tue Dec 19 19:28:33 2006 +0100"
      },
      "committer": {
        "name": "Kyle McMartin",
        "email": "kyle@minerva.i.cabal.ca",
        "time": "Thu Jun 21 17:46:20 2007 -0400"
      },
      "message": "[PARISC] Handle wrapping in expand_upwards()\n\nFunction expand_upwards() did not guarded against wrapping\naround to address 0. This fixes the adjtimex02 testcase from\nthe Linux Test Project on a 32bit PARISC kernel.\n\n[expand_upwards is only used on parisc and ia64; it looks like it does\n the right thing on both. --kyle]\n\nSigned-off-by: Helge Deller \u003cdeller@gmx.de\u003e\nCc: Tony Luck \u003ctony.luck@intel.com\u003e\nSigned-off-by: Kyle McMartin \u003ckyle@parisc-linux.org\u003e\n"
    },
    {
      "commit": "4b356be019d0c28f67af02809df7072c1c8f7d32",
      "tree": "03c340e3168a1cae72fd7c96855382ac0c195da6",
      "parents": [
        "8dab5241d06bfc9ee141ea78c56cde5070d7460d"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Sat Jun 16 10:16:13 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sat Jun 16 13:16:16 2007 -0700"
      },
      "message": "SLUB: minimum alignment fixes\n\nIf ARCH_KMALLOC_MINALIGN is set to a value greater than 8 (SLUBs smallest\nkmalloc cache) then SLUB may generate duplicate slabs in sysfs (yes again)\nbecause the object size is padded to reach ARCH_KMALLOC_MINALIGN.  Thus the\nsize of the small slabs is all the same.\n\nNo arch sets ARCH_KMALLOC_MINALIGN larger than 8 though except mips which\nfor some reason wants a 128 byte alignment.\n\nThis patch increases the size of the smallest cache if\nARCH_KMALLOC_MINALIGN is greater than 8.  In that case more and more of the\nsmallest caches are disabled.\n\nIf we do that then the count of the active general caches that is displayed\non boot is not correct anymore since we may skip elements of the kmalloc\narray.  So count them separately.\n\nThis approach was tested by Havard yesterday.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: Haavard Skinnemoen \u003chskinnemoen@atmel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8dab5241d06bfc9ee141ea78c56cde5070d7460d",
      "tree": "dd9dc3c64c17862b169f4cbe5fd4a108d960c920",
      "parents": [
        "679ce0ace6b1a07043bc3b405a34ddccad808886"
      ],
      "author": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Sat Jun 16 10:16:12 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sat Jun 16 13:16:16 2007 -0700"
      },
      "message": "Rework ptep_set_access_flags and fix sun4c\n\nSome changes done a while ago to avoid pounding on ptep_set_access_flags and\nupdate_mmu_cache in some race situations break sun4c which requires\nupdate_mmu_cache() to always be called on minor faults.\n\nThis patch reworks ptep_set_access_flags() semantics, implementations and\ncallers so that it\u0027s now responsible for returning whether an update is\nnecessary or not (basically whether the PTE actually changed).  This allow\nfixing the sparc implementation to always return 1 on sun4c.\n\n[akpm@linux-foundation.org: fixes, cleanups]\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: David Miller \u003cdavem@davemloft.net\u003e\nCc: Mark Fortescue \u003cmark@mtfhpc.demon.co.uk\u003e\nAcked-by: William Lee Irwin III \u003cwli@holomorphy.com\u003e\nCc: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "dd08c40e3e23f868eb0e49f638eb208736ec7e66",
      "tree": "75b2cabf36cc35d6549dbda5e53b09650ec422f7",
      "parents": [
        "54c6ed7562d59ab238df1ec9ff76d81d7d0f0842"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Sat Jun 16 10:15:57 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sat Jun 16 13:16:15 2007 -0700"
      },
      "message": "SLUB slab validation: Alloc while interrupts are disabled must use GFP_ATOMIC\n\nThe data structure to manage the information gathered about functions\nallocating and freeing objects is allocated when the list_lock has already\nbeen taken.  We need to allocate with GFP_ATOMIC instead of GFP_KERNEL.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: 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": "d09c6b809432668371b5de9102f4f9aa6a7c79cc",
      "tree": "23a80218149ce732dfab1afca6abd3f370bc0131",
      "parents": [
        "902233ee494f9d9da6dbb818316fcbf892bebbed"
      ],
      "author": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Thu Jun 14 15:13:16 2007 +0900"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Jun 15 16:18:08 2007 -0700"
      },
      "message": "mm: Fix memory/cpu hotplug section mismatch and oops.\n\nWhen building with memory hotplug enabled and cpu hotplug disabled, we\nend up with the following section mismatch:\n\nWARNING: mm/built-in.o(.text+0x4e58): Section mismatch: reference to\n.init.text: (between \u0027free_area_init_node\u0027 and \u0027__build_all_zonelists\u0027)\n\nThis happens as a result of:\n\n        -\u003e free_area_init_node()\n          -\u003e free_area_init_core()\n            -\u003e zone_pcp_init() \u003c-- all __meminit up to this point\n              -\u003e zone_batchsize() \u003c-- marked as __cpuinit                     fo\n\nThis happens because CONFIG_HOTPLUG_CPU\u003dn sets __cpuinit to __init, but\nCONFIG_MEMORY_HOTPLUG\u003dy unsets __meminit.\n\nChanging zone_batchsize() to __devinit fixes this.\n\n__devinit is the only thing that is common between CONFIG_HOTPLUG_CPU\u003dy and\nCONFIG_MEMORY_HOTPLUG\u003dy. In the long run, perhaps this should be moved to\nanother section identifier completely. Without this, memory hot-add\nof offline nodes (via hotadd_new_pgdat()) will oops if CPU hotplug is\nnot also enabled.\n\nSigned-off-by: Paul Mundt \u003clethal@linux-sh.org\u003e\nAcked-by: Yasunori Goto \u003cy-goto@jp.fujitsu.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n\n--\n\n mm/page_alloc.c |    2 +-\n 1 file changed, 1 insertion(+), 1 deletion(-)\n"
    },
    {
      "commit": "193faea9280a809cc30e81d7e503e01b1d7b7042",
      "tree": "d4b80d4795ac1e708b8a13d45d571383617b761c",
      "parents": [
        "4249e08e92647b406422553bfb16276b2bf849aa"
      ],
      "author": {
        "name": "Stephen Rothwell",
        "email": "sfr@canb.auug.org.au",
        "time": "Fri Jun 08 13:46:51 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Jun 08 17:23:33 2007 -0700"
      },
      "message": "Move three functions that are only needed for CONFIG_MEMORY_HOTPLUG\n\ninto the appropriate #ifdef.\n\nSigned-off-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nCc: Yasunori Goto \u003cy-goto@jp.fujitsu.com\u003e\nCc: Andy Whitcroft \u003capw@shadowen.org\u003e\nCc: Badari Pulavarty \u003cpbadari@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": "272c1d21d6fe42979068e14c04fb60fb6045ad74",
      "tree": "6a365c67ed8575d15a59aa2183df609368359724",
      "parents": [
        "a17627ef8833ac30622a7b39b7be390e1b174405"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Fri Jun 08 13:46:49 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Jun 08 17:23:33 2007 -0700"
      },
      "message": "SLUB: return ZERO_SIZE_PTR for kmalloc(0)\n\nInstead of returning the smallest available object return ZERO_SIZE_PTR.\n\nA ZERO_SIZE_PTR can be legitimately used as an object pointer as long as it\nis not deferenced.  The dereference of ZERO_SIZE_PTR causes a distinctive\nfault.  kfree can handle a ZERO_SIZE_PTR in the same way as NULL.\n\nThis enables functions to use zero sized object. e.g. n \u003d number of objects.\n\n\tobjects \u003d kmalloc(n * sizeof(object));\n\n\tfor (i \u003d 0; i \u003c n; i++)\n\t\tobjects[i].x \u003d y;\n\n\tkfree(objects);\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nAcked-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3cdc0ed0cea50ea08dd146c1bbc82b1bcc2e1b80",
      "tree": "4eac1f33e52f3efeaf4cbd181877ebd25f354ee1",
      "parents": [
        "a210906c1b791af1434323f69427286039c9c8b9"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Fri Jun 08 13:46:46 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Jun 08 17:23:32 2007 -0700"
      },
      "message": "slab: fix alien cache handling\n\ncache_free_alien must be called regardless if we use alien caches or not.\ncache_free_alien() will do the right thing if there are no alien caches\navailable.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nAcked-by: Pekka J Enberg \u003cpenberg@cs.helsinki.fi\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a210906c1b791af1434323f69427286039c9c8b9",
      "tree": "17f3deeda2c7c6972b9a72113a14571c2cabaae7",
      "parents": [
        "9739ed1c8eafd554788d8e2ba09847b5718a34e7"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Fri Jun 08 13:46:46 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Jun 08 17:23:32 2007 -0700"
      },
      "message": "mount -t tmpfs -o mpol\u003d: check nodes online\n\nRandy Dunlap reports that a tmpfs, mounted with NUMA mpol\u003d specifying an\noffline node, crashes as soon as data is allocated upon it.  Now restrict it\nto online nodes, where before it restricted to MAX_NUMNODES.\n\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: Robin Holt \u003cholt@sgi.com\u003e\nCc: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nTested-and-acked-by: 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": "27390bc335ff86d92c3819cc28035fde23d1a9c2",
      "tree": "2812436fe897a1211c244f85db2a4d79fff673ff",
      "parents": [
        "ac140a8f8396504b33ddafb7309feca77bff8497"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Fri Jun 01 00:47:09 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Jun 01 08:18:30 2007 -0700"
      },
      "message": "SLUB: fix locking for hotplug callbacks\n\nHotplug callbacks are performed with interrupts enabled.  Slub requires\ninterrupts to be disabled for flushing caches.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: Michal Piotrowski \u003cmichal.k.k.piotrowski@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": "13466c8419c3ab3ccd5e905eef53ca49c6c201be",
      "tree": "e39805fa48c00af09b76e0fc6a3a23b97a8b364e",
      "parents": [
        "6cd8fa87fbf31b2ab77b8aaec497e7f6a3757578"
      ],
      "author": {
        "name": "Yasunori Goto",
        "email": "y-goto@jp.fujitsu.com",
        "time": "Fri Jun 01 00:46:53 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Jun 01 08:18:29 2007 -0700"
      },
      "message": "memory hotplug: fix unnecessary calling of init_currenty_empty_zone()\n\nzone-\u003epresent_pages is updated in online_pages().  But, __add_zone() can be\ncalled twice or more before calling online_pages().  So,\ninit_currenty_empty_zone() can be called unnecessary times.  It is cause of\nmemory leak of zone\u0027s wait_table.\n\nSigned-off-by: Yasunori Goto \u003cy-goto@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": "2e1c49db4c640b35df13889b86b9d62215ade4b6",
      "tree": "8b886843a57f5ff683700a9f623294e3f24d07ef",
      "parents": [
        "fa0aa866c82e441787e07169cb4925e3b673e891"
      ],
      "author": {
        "name": "Zou Nan hai",
        "email": "nanhai.zou@intel.com",
        "time": "Fri Jun 01 00:46:28 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Jun 01 08:18:27 2007 -0700"
      },
      "message": "x86_64: allocate sparsemem memmap above 4G\n\nOn systems with huge amount of physical memory, VFS cache and memory memmap\nmay eat all available system memory under 4G, then the system may fail to\nallocate swiotlb bounce buffer.\n\nThere was a fix for this issue in arch/x86_64/mm/numa.c, but that fix dose\nnot cover sparsemem model.\n\nThis patch add fix to sparsemem model by first try to allocate memmap above\n4G.\n\nSigned-off-by: Zou Nan hai \u003cnanhai.zou@intel.com\u003e\nAcked-by: Suresh Siddha \u003csuresh.b.siddha@intel.com\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "12d810c1b8c2b913d48e629e2b5c01d105029839",
      "tree": "b39162d3168f6173af3d0e5790e16eb45a70dfaf",
      "parents": [
        "00c541eae7a477e3d1adb1ebf27cccc0bdb5f824"
      ],
      "author": {
        "name": "Roman Zippel",
        "email": "zippel@linux-m68k.org",
        "time": "Thu May 31 00:40:54 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu May 31 07:58:14 2007 -0700"
      },
      "message": "m68k: discontinuous memory support\n\nFix support for discontinuous memory\n\nSigned-off-by: Roman Zippel \u003czippel@linux-m68k.org\u003e\nSigned-off-by: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8ffa68755a0eddf3baeecd0e7612a5106cf2db23",
      "tree": "8c0fa3d0adda180687e7e35d49f978eae3284ddd",
      "parents": [
        "fbe9c9612930e0604dc99ef2da7e063fa3278817"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Thu May 31 00:40:51 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu May 31 07:58:14 2007 -0700"
      },
      "message": "SLUB: Fix NUMA / SYSFS bootstrap issue\n\nWe need this patch in ASAP.  Patch fixes the mysterious hang that remained\non some particular configurations with lockdep on after the first fix that\nmoved the #idef CONFIG_SLUB_DEBUG to the right location.  See\nhttp://marc.info/?t\u003d117963072300001\u0026r\u003d1\u0026w\u003d2\n\nThe kmem_cache_node cache is very special because it is needed for NUMA\nbootstrap.  Under certain conditions (like for example if lockdep is\nenabled and significantly increases the size of spinlock_t) the structure\nmay become exactly the size as one of the larger caches in the kmalloc\narray.\n\nThat early during bootstrap we cannot perform merging properly.  The unique\nid for the kmem_cache_node cache will match one of the kmalloc array.\nSysfs will complain about a duplicate directory entry.  All of this occurs\nwhile the console is not yet fully operational.  Thus boot may appear to be\nsilently failing.\n\nThe kmem_cache_node cache is very special.  During early boostrap the main\nallocation function is not operational yet and so we have to run our own\nsmall special alloc function during early boot.  It is also special in that\nit is never freed.\n\nWe really do not want any merging on that cache.  Set the refcount -1 and\nforbid merging of slabs that have a negative refcount.\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": "33e9e24101abac2bf3535d0d013d6d27d19197cb",
      "tree": "04d4e3952331b66fef36efa0dc0612cd4f6385c9",
      "parents": [
        "418508c13222ddba475873ea95c8aeadd26104f2"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Wed May 23 13:57:56 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 23 20:14:13 2007 -0700"
      },
      "message": "SLUB Debug: fix check for super sized slabs (\u003e512k 64bit, \u003e256k 32bit)\n\nThe check for super sized slabs where we can no longer move the free\npointer behind the object for debugging purposes etc is accessing a\nfield that is not setup yet.  We must use objsize here since the size of\nthe slab has not been determined yet.\n\nThe effect of this is that a global slab shrink via \"slabinfo -s\" will\nshow errors about offsets being wrong if booted with slub_debug.\nPotentially there are other troubles with huge slabs under slub_debug\nbecause the calculated free pointer offset is truncated.\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": "418508c13222ddba475873ea95c8aeadd26104f2",
      "tree": "6056f5d28f1a0ac8474a275680e3991cc315ed30",
      "parents": [
        "ead5f0b5fa41dd3649a44bfc922d06641ff3dbcf"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Wed May 23 13:57:55 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 23 20:14:13 2007 -0700"
      },
      "message": "fix unused setup_nr_node_ids\n\nmm/page_alloc.c:931: warning: \u0027setup_nr_node_ids\u0027 defined but not used\n\nThis is now the only (!) compiler warning I get in my UML build :)\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c12b3c62513ecf95c979d5c1785f99562b9dd10d",
      "tree": "fd6e14ac0c62a0bc6e00d6543f54beea8abb6e8b",
      "parents": [
        "72fcde966252abd17d70e4e216a0411a34523a8f"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Wed May 23 13:57:31 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 23 20:14:11 2007 -0700"
      },
      "message": "SLUB Debug: Fix object size calculation\n\nThe object size calculation is wrong if !CONFIG_SLUB_DEBUG because the\n#ifdef CONFIG_SLUB_DEBUG is now switching off the size adjustments for\nDESTROY_BY_RCU and ctor.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nAcked-by: 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": "080e89270a7bfb7d01fac9a67050f8ac6d6cdd11",
      "tree": "489e467292ca06420e85f185095323efb80c75b7",
      "parents": [
        "4b85df0419d1fb135d9d845876e8c7ee1393f83c",
        "38bdc32af442b6ab09ed61b8b669072098c95dd2"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 21 12:03:04 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 21 12:03:04 2007 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-fix\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-fix:\n  mm/slab: fix section mismatch warning\n  mm: fix section mismatch warnings\n  init/main: use __init_refok to fix section mismatch\n  kbuild: introduce __init_refok/__initdata_refok to supress section mismatch warnings\n  all-archs: consolidate .data section definition in asm-generic\n  all-archs: consolidate .text section definition in asm-generic\n  kbuild: add \"Section mismatch\" warning whitelist for powerpc\n  kbuild: make better section mismatch reports on i386, arm and mips\n  kbuild: make modpost section warnings clearer\n  kconfig: search harder for curses library in check-lxdialog.sh\n  kbuild: include limits.h in sumversion.c for PATH_MAX\n  powerpc: Fix the MODALIAS generation in modpost for of devices\n"
    },
    {
      "commit": "e8edc6e03a5c8562dc70a6d969f732bdb355a7e7",
      "tree": "fc86c863655128a7041dfe613d14393d761fa7b9",
      "parents": [
        "ff1be9ad61e3e17ba83702d8ed0b534e5b8ee15c"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Mon May 21 01:22:52 2007 +0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 21 09:18:19 2007 -0700"
      },
      "message": "Detach sched.h from mm.h\n\nFirst thing mm.h does is including sched.h solely for can_do_mlock() inline\nfunction which has \"current\" dereference inside. By dealing with can_do_mlock()\nmm.h can be detached from sched.h which is good. See below, why.\n\nThis patch\na) removes unconditional inclusion of sched.h from mm.h\nb) makes can_do_mlock() normal function in mm/mlock.c\nc) exports can_do_mlock() to not break compilation\nd) adds sched.h inclusions back to files that were getting it indirectly.\ne) adds less bloated headers to some files (asm/signal.h, jiffies.h) that were\n   getting them indirectly\n\nNet result is:\na) mm.h users would get less code to open, read, preprocess, parse, ... if\n   they don\u0027t need sched.h\nb) sched.h stops being dependency for significant number of files:\n   on x86_64 allmodconfig touching sched.h results in recompile of 4083 files,\n   after patch it\u0027s only 3744 (-8.3%).\n\nCross-compile tested on\n\n\tall arm defconfigs, all mips defconfigs, all powerpc defconfigs,\n\talpha alpha-up\n\tarm\n\ti386 i386-up i386-defconfig i386-allnoconfig\n\tia64 ia64-up\n\tm68k\n\tmips\n\tparisc parisc-up\n\tpowerpc powerpc-up\n\ts390 s390-up\n\tsparc sparc-up\n\tsparc64 sparc64-up\n\tum-x86_64\n\tx86_64 x86_64-up x86_64-defconfig x86_64-allnoconfig\n\nas well as my two usual configs.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "38bdc32af442b6ab09ed61b8b669072098c95dd2",
      "tree": "8c6a6c3234383b94d7c68183b9e3bb071764d7f0",
      "parents": [
        "577a32f620271416d05f852477151fb51c790bc6"
      ],
      "author": {
        "name": "Sam Ravnborg",
        "email": "sam@ravnborg.org",
        "time": "Thu May 17 23:48:19 2007 +0200"
      },
      "committer": {
        "name": "Sam Ravnborg",
        "email": "sam@ravnborg.org",
        "time": "Sat May 19 09:11:58 2007 +0200"
      },
      "message": "mm/slab: fix section mismatch warning\n\nUse the new __init_refok marker to avoid the\nsection mismatch warning from slab.c\n\nSigned-off-by: Sam Ravnborg \u003csam@ravnborg.org\u003e\n"
    },
    {
      "commit": "577a32f620271416d05f852477151fb51c790bc6",
      "tree": "9c4f219f59fc8117aa7d376d130d57f1ac841a8e",
      "parents": [
        "92080309df1975729a9f8b45fd56528817e34db8"
      ],
      "author": {
        "name": "Sam Ravnborg",
        "email": "sam@ravnborg.org",
        "time": "Thu May 17 23:29:25 2007 +0200"
      },
      "committer": {
        "name": "Sam Ravnborg",
        "email": "sam@ravnborg.org",
        "time": "Sat May 19 09:11:58 2007 +0200"
      },
      "message": "mm: fix section mismatch warnings\n\nmodpost had two cases hardcoded for mm/\nShift over to __init_refok and kill the\nhardcoded function names in modpost.\n\nThis has the drawback that the functions\nwill always be kept no matter configuration.\nWith previous code the function were placed in\ninit section if configuration allowed it.\n\nSigned-off-by: Sam Ravnborg \u003csam@ravnborg.org\u003e\n"
    },
    {
      "commit": "c97a9e10eaee328e6eea9f76acf7bacd7d48ef56",
      "tree": "f14bf796d087e130452a2e2457c75eb1eca27483",
      "parents": [
        "ea125892a17f43919c726777ed1e4929d41e7984"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Wed May 16 22:11:21 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu May 17 05:23:06 2007 -0700"
      },
      "message": "mm: more rmap checking\n\nRe-introduce rmap verification patches that Hugh removed when he removed\nPG_map_lock. PG_map_lock actually isn\u0027t needed to synchronise access to\nanonymous pages, because PG_locked and PTL together already do.\n\nThese checks were important in discovering and fixing a rare rmap corruption\nin SLES9.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\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": "d55e2ca87321b65387d3c52dd38128b3fe6723b0",
      "tree": "72cbca581660fc0cf0ff1c0d9ccbb264b20cffe4",
      "parents": [
        "df652fe173c12d29960f3a8eafce29041e86b942"
      ],
      "author": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Wed May 16 22:11:07 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu May 17 05:23:04 2007 -0700"
      },
      "message": "Make __vunmap static\n\n__vunmap doesn\u0027t seem to be used outside of mm/vmalloc.c, and has\nno prototype in any header so let\u0027s make it static\n\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0aa817f078b655d0ae36669169d73a5c8a388016",
      "tree": "140acc4d0dc992b4d20394f6a6412a7c1bb3a306",
      "parents": [
        "3ec0974210fe1b7c0618ad6e39a882a4237d7de2"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Wed May 16 22:11:01 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu May 17 05:23:04 2007 -0700"
      },
      "message": "Slab allocators: define common size limitations\n\nCurrently we have a maze of configuration variables that determine the\nmaximum slab size.  Worst of all it seems to vary between SLAB and SLUB.\n\nSo define a common maximum size for kmalloc.  For conveniences sake we use\nthe maximum size ever supported which is 32 MB.  We limit the maximum size\nto a lower limit if MAX_ORDER does not allow such large allocations.\n\nFor many architectures this patch will have the effect of adding large\nkmalloc sizes.  x86_64 adds 5 new kmalloc sizes.  So a small amount of\nmemory will be needed for these caches (contemporary SLAB has dynamically\nsizeable node and cpu structure so the waste is less than in the past)\n\nMost architectures will then be able to allocate object with sizes up to\nMAX_ORDER.  We have had repeated breakage (in fact whenever we doubled the\nnumber of supported processors) on IA64 because one or the other struct\ngrew beyond what the slab allocators supported.  This will avoid future\nissues and f.e.  avoid fixes for 2k and 4k cpu support.\n\nCONFIG_LARGE_ALLOCS is no longer necessary so drop it.\n\nIt fixes sparc64 with SLAB.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3ec0974210fe1b7c0618ad6e39a882a4237d7de2",
      "tree": "a707c84e2dc18cfba9a44e198a44fbb2605f771c",
      "parents": [
        "a35afb830f8d71ec211531aeb9a621b09a2efb39"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Wed May 16 22:11:00 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu May 17 05:23:04 2007 -0700"
      },
      "message": "SLUB: Simplify debug code\n\nConsolidate functionality into the #ifdef section.\n\nExtract tracing into one subroutine.\n\nMove object debug processing into the #ifdef section so that the\ncode in __slab_alloc and __slab_free becomes minimal.\n\nReduce number of functions we need to provide stubs for in the !SLUB_DEBUG case.\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": "a35afb830f8d71ec211531aeb9a621b09a2efb39",
      "tree": "198280081e1f8b2f6c450742a5075cc7904a3d58",
      "parents": [
        "5577bd8a85c8b7643a241789b14fafa9c8a6c7db"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Wed May 16 22:10:57 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu May 17 05:23:04 2007 -0700"
      },
      "message": "Remove SLAB_CTOR_CONSTRUCTOR\n\nSLAB_CTOR_CONSTRUCTOR is always specified. No point in checking it.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nCc: Steven French \u003csfrench@us.ibm.com\u003e\nCc: Michael Halcrow \u003cmhalcrow@us.ibm.com\u003e\nCc: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\nCc: Miklos Szeredi \u003cmiklos@szeredi.hu\u003e\nCc: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e\nCc: David Woodhouse \u003cdwmw2@infradead.org\u003e\nCc: Dave Kleikamp \u003cshaggy@austin.ibm.com\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nCc: \"J. Bruce Fields\" \u003cbfields@fieldses.org\u003e\nCc: Anton Altaparmakov \u003caia21@cantab.net\u003e\nCc: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Jan Kara \u003cjack@ucw.cz\u003e\nCc: David Chinner \u003cdgc@sgi.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5577bd8a85c8b7643a241789b14fafa9c8a6c7db",
      "tree": "0ef0a8adb6811277df3f6e41a2578b1118bc80ef",
      "parents": [
        "eefaca9c3246f3daf56e7ed02987f79abcee7087"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Wed May 16 22:10:56 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu May 17 05:23:03 2007 -0700"
      },
      "message": "SLUB: Do our own flags based on PG_active and PG_error\n\nThe atomicity when handling flags in SLUB is not necessary since both flags\nused by SLUB are not updated in a racy way.  Flag updates are either done\nduring slab creation or destruction or under slab_lock.  Some of these flags\ndo not have the non atomic variants that we need.  So define our own.\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": "0b44f7a5b5078d737b3f5914978aabb761254840",
      "tree": "7d726723f427a3add9a22ac4d34ca236b6f8376a",
      "parents": [
        "4b6f0750457db1f573eb6226960a432da3be8fe2"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Wed May 16 22:10:53 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu May 17 05:23:03 2007 -0700"
      },
      "message": "slab: warn on zero-length allocations\n\nslub warns on this, and we\u0027re working on making kmalloc(0) return NULL.\nLet\u0027s make slab warn as well so our testers detect such callers more\nrapidly.\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": "4b6f0750457db1f573eb6226960a432da3be8fe2",
      "tree": "9e71084c892b595e4b7383d152d7ebeea936934b",
      "parents": [
        "3ca12ee549f7837b8a685dddc9515f9fc28434ee"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Wed May 16 22:10:53 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu May 17 05:23:03 2007 -0700"
      },
      "message": "SLUB: Define functions for cpu slab handling instead of using PageActive\n\nUse inline functions to access the per cpu bit.  Intoduce the notion of\n\"freezing\" a slab to make things more understandable.\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": "c59def9f222d44bb7e2f0a559f2906191a0862d7",
      "tree": "51bc0c12906b13887c6e53d1e06b48b411443129",
      "parents": [
        "afc0cedbe9138e3e8b38bfa1e4dfd01a2c537d62"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Wed May 16 22:10:50 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu May 17 05:23:03 2007 -0700"
      },
      "message": "Slab allocators: Drop support for destructors\n\nThere is no user of destructors left.  There is no reason why we should keep\nchecking for destructors calls in the slab allocators.\n\nThe RFC for this patch was discussed at\nhttp://marc.info/?l\u003dlinux-kernel\u0026m\u003d117882364330705\u0026w\u003d2\n\nDestructors were mainly used for list management which required them to take a\nspinlock.  Taking a spinlock in a destructor is a bit risky since the slab\nallocators may run the destructors anytime they decide a slab is no longer\nneeded.\n\nPatch drops destructor support.  Any attempt to use a destructor will BUG().\n\nAcked-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nAcked-by: Paul Mundt \u003clethal@linux-sh.org\u003e\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": "afc0cedbe9138e3e8b38bfa1e4dfd01a2c537d62",
      "tree": "0df03f95645ef76a387dd541da062b682319c921",
      "parents": [
        "b2cd64153b94473f6bd82448a68b8e8c041676ea"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "nickpiggin@yahoo.com.au",
        "time": "Wed May 16 22:10:49 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu May 17 05:23:02 2007 -0700"
      },
      "message": "slob: implement RCU freeing\n\nThe SLOB allocator should implement SLAB_DESTROY_BY_RCU correctly, because\neven on UP, RCU freeing semantics are not equivalent to simply freeing\nimmediately.  This also allows SLOB to be used on SMP.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nAcked-by: 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": "43c0f3d25c602dc96b201ed81ffda0bc600ff969",
      "tree": "88ecad9eda4797693a97e0bcdf7ced13be99f3bd",
      "parents": [
        "8382d2b9a7205fe1fb262f59237715a40c911880"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Tue May 15 23:57:09 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 16 21:19:15 2007 -0700"
      },
      "message": "Fix: find_or_create_page skips cpuset memory spreading.\n\nWe call alloc_page where we should be calling __page_cache_alloc.\n\n__page_cache_alloc performs cpuset memory spreading.  alloc_page does not.\nThere is no reason that pages allocated via find_or_create should be\nexempt.\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": "1800782016fda6fbc9990a0227fec581070f23af",
      "tree": "b920bd8d09b9ca5bed90ad4888044067b86053b4",
      "parents": [
        "1abd727ed7abf5c19e7d1760671475cbecbccb0e"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Tue May 15 23:57:04 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 16 21:19:15 2007 -0700"
      },
      "message": "slub: don\u0027t confuse ctor and dtor\n\nkmem_cache_create() was swapping ctor and dtor in calling find_mergeable():\nthough it caused no bug, and probably never would, even if destructors are\nretained; but fix it so as not to generate anxiety ;)\n\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: 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": "6c645ac72582bacb85b90a1cf88e81a13045aba4",
      "tree": "a6101de4bd5426ebfb06b097749251ff6f9e98b2",
      "parents": [
        "e827f20f1d34e91fbbb0df4674ddd8c3aad517da"
      ],
      "author": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Mon May 14 09:55:35 2007 +0900"
      },
      "committer": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Mon May 14 09:55:35 2007 +0900"
      },
      "message": "sh64: generic quicklist support.\n\nSigned-off-by: Paul Mundt \u003clethal@linux-sh.org\u003e\n"
    },
    {
      "commit": "0ea971801625184a91a6d80ea85e53875caa0bf5",
      "tree": "6f4144b7ba809fccfe6d75314df8c348596c9a01",
      "parents": [
        "e10cc1df1d2014f68a4bdcf73f6dd122c4561f94"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Thu May 10 22:22:51 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri May 11 08:29:35 2007 -0700"
      },
      "message": "consolidate generic_writepages and mpage_writepages\n\nClean up massive code duplication between mpage_writepages() and\ngeneric_writepages().\n\nThe new generic function, write_cache_pages() takes a function pointer\nargument, which will be called for each page to be written.\n\nMaybe cifs_writepages() too can use this infrastructure, but I\u0027m not\ntouching that with a ten-foot pole.\n\nThe upcoming page writeback support in fuse will also want this.\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nAcked-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "39bf6270f524bbe2682b56f2a979703abf937dd1",
      "tree": "0bf7783870d19b223286e1bba3915b90fbe26e30",
      "parents": [
        "45222b9e02fb282eb0a8007a3d992dd229ec2410"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Thu May 10 22:22:21 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri May 11 08:29:32 2007 -0700"
      },
      "message": "VM statistics: Make timer deferrable\n\nVM statistics updates do not matter if the kernel is in idle powersaving\nmode.  So allow the timer to be deferred.\n\nIt would be better though if we could switch the timer between deferrable\nand nondeferrable based on differentials present.  The timer would start\nout nondeferrable and if we find that there were no updates in the last\nstatistics interval then we would switch the timer to deferrable.  If the\ntimer later finds again that there are differentials then go to\nnondeferrable again.\n\nAnd yet another way would be to run the timer shortly before going to idle?\n\nThe solution here means that the VM counters may be slightly off during\nidle since differentials may be still pending while the timer is deferred.\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": "7faaa5f0bf4db6ac4908038e2139adc46c165ff4",
      "tree": "e6efe930b1749b4f133945468dad807c43fe1732",
      "parents": [
        "069f11f9d66bc582fb40a37a7b92363f5d321969"
      ],
      "author": {
        "name": "Mika Kukkonen",
        "email": "mikukkon@miku.homelinux.net",
        "time": "Thu May 10 22:22:17 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri May 11 08:29:32 2007 -0700"
      },
      "message": "Bug in mm/thrash.c function grab_swap_token()\n\nFollowing bug was uncovered by compiling with \u0027-W\u0027 flag:\n\n  CC      mm/thrash.o\nmm/thrash.c: In function âgrab_swap_tokenâ:\nmm/thrash.c:52: warning: comparison of unsigned expression \u003c 0 is always false\n\nVariable token_priority is unsigned, so decrementing first and then\nchecking the result does not work; fixed by reversing the test, patch\nattached (compile tested only).\n\nI am not sure if likely() makes much sense in this new situation, but\nI\u0027ll let somebody else to make a decision on that.\n\nSigned-off-by: Mika Kukkonen \u003cmikukkon@iki.fi\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "bcf889f96597137760c6edfdd0ee59fd37cb108c",
      "tree": "f9b878addc86abb81d9f376e5226dd1574db4aee",
      "parents": [
        "d4751a2797bc0a37a8e85783d65ffaa9de689e60"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Thu May 10 03:15:44 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu May 10 09:26:53 2007 -0700"
      },
      "message": "SLUB: remove nr_cpu_ids hack\n\nThis was in SLUB in order to head off trouble while the nr_cpu_ids\nfunctionality was not merged.  Its merged now so no need to still have this.\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": "6f076f5dd9d227cea2704061048894b00cc0d62b",
      "tree": "0c6be41a5d1d77ef78e76ba9d1861a062aef55bd",
      "parents": [
        "a6a62b69b9f1b0cec0a119c5f4cd2f17d091e8f5"
      ],
      "author": {
        "name": "Stephen Rothwell",
        "email": "sfr@canb.auug.org.au",
        "time": "Thu May 10 03:15:27 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu May 10 09:26:52 2007 -0700"
      },
      "message": "early_pfn_to_nid needs to be __meminit\n\nSince it is referenced by memmap_init_zone (which is __meminit) via the\nearly_pfn_in_nid macro when CONFIG_NODES_SPAN_OTHER_NODES is set (which\nbasically means PowerPC 64).\n\nThis removes a section mismatch warning in those circumstances.\n\nSigned-off-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nCc: Yasunori Goto \u003cy-goto@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": "894b8788d7f265eb7c6f75a9a77cedeb48f51586",
      "tree": "4b00fa4704090876895b8a7528c6fe5e2201fc28",
      "parents": [
        "02b67325a6d34f2ae67484a8802b6ffc9ce9931d"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Thu May 10 03:15:16 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu May 10 09:26:52 2007 -0700"
      },
      "message": "slub: support concurrent local and remote frees and allocs on a slab\n\nAvoid atomic overhead in slab_alloc and slab_free\n\nSLUB needs to use the slab_lock for the per cpu slabs to synchronize with\npotential kfree operations.  This patch avoids that need by moving all free\nobjects onto a lockless_freelist.  The regular freelist continues to exist\nand will be used to free objects.  So while we consume the\nlockless_freelist the regular freelist may build up objects.\n\nIf we are out of objects on the lockless_freelist then we may check the\nregular freelist.  If it has objects then we move those over to the\nlockless_freelist and do this again.  There is a significant savings in\nterms of atomic operations that have to be performed.\n\nWe can even free directly to the lockless_freelist if we know that we are\nrunning on the same processor.  So this speeds up short lived objects.\nThey may be allocated and freed without taking the slab_lock.  This is\nparticular good for netperf.\n\nIn order to maximize the effect of the new faster hotpath we extract the\nhottest performance pieces into inlined functions.  These are then inlined\ninto kmem_cache_alloc and kmem_cache_free.  So hotpath allocation and\nfreeing no longer requires a subroutine call within SLUB.\n\n[I am not sure that it is worth doing this because it changes the easy to\nread structure of slub just to reduce atomic ops.  However, there is\nsomeone out there with a benchmark on 4 way and 8 way processor systems\nthat seems to show a 5% regression vs.  Slab.  Seems that the regression is\ndue to increased atomic operations use vs.  SLAB in SLUB).  I wonder if\nthis is applicable or discernable at all in a real workload?]\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": "d84c4124c4b6611301b402e8611b7e36de3bd351",
      "tree": "d83cfaabfb901755d85074815ad948028dc7b03f",
      "parents": [
        "932c37c375cca25175f9b6acee4c75d7a96d985f",
        "a3cf4ea8729a5d448742fd5a0a003827c9f25cb6"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 13:08:20 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 13:08:20 2007 -0700"
      },
      "message": "Merge master.kernel.org:/pub/scm/linux/kernel/git/lethal/sh-2.6\n\n* master.kernel.org:/pub/scm/linux/kernel/git/lethal/sh-2.6:\n  sh: Fix stacktrace simplification fallout.\n  sh: SH7760 DMABRG support.\n  sh: clockevent/clocksource/hrtimers/nohz TMU support.\n  sh: Truncate MAX_ACTIVE_REGIONS for the common case.\n  rtc: rtc-sh: Fix rtc_dev pointer for rtc_update_irq().\n  sh: Convert to common die chain.\n  sh: Wire up utimensat syscall.\n  sh: landisk mv_nr_irqs definition.\n  sh: Fixup ndelay() xloops calculation for alternate HZ.\n  sh: Add 32-bit opcode feature CPU flag.\n  sh: Fix PC adjustments for varying opcode length.\n  sh: Support for SH-2A 32-bit opcodes.\n  sh: Kill off redundant __div64_32 symbol export.\n  sh: Share exception vector table for SH-3/4.\n  sh: Always define TRAPA_BUG_OPCODE.\n  sh: __GFP_REPEAT for pte allocations, too.\n  rtc: rtc-sh: Fix up dev_dbg() warnings.\n  sh: generic quicklist support.\n"
    },
    {
      "commit": "c855ff3718e5f667b463b20b9de516b4cd7625ad",
      "tree": "5f5f2db132c80705db2254fc8f2f222160228aa5",
      "parents": [
        "aabded9c3aab5160ae2ca3dd1fa0fa37f3d510e4"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed May 09 13:42:20 2007 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 13:04:03 2007 -0700"
      },
      "message": "Fix a bad error case handling in read_cache_page_async()\n\nCommit 6fe6900e1e5b6fa9e5c59aa5061f244fe3f467e2 introduced a nasty bug\nin read_cache_page_async().\n\nIt added a \"mark_page_accessed(page)\" at the final return path in\nread_cache_page_async().  But in error cases, \u0027page\u0027 holds the error\ncode, and you can\u0027t mark it accessed.\n\n[ and Glauber de Oliveira Costa points out that we can use a return\n  instead of adding more goto\u0027s ]\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9a9136e270af14da506f66bcafcc506b86a86498",
      "tree": "b4d0a6877d92635134b7a944d0032fbc43227fd2",
      "parents": [
        "3960208f9ca0cf6bdb31c21c59ac0526303f8b34",
        "7bb2acb76e8168ca5d0bde5a5a56585a11b3525a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 12:54:17 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 12:54:17 2007 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial: (25 commits)\n  sound: convert \"sound\" subdirectory to UTF-8\n  MAINTAINERS: Add cxacru website/mailing list\n  include files: convert \"include\" subdirectory to UTF-8\n  general: convert \"kernel\" subdirectory to UTF-8\n  documentation: convert the Documentation directory to UTF-8\n  Convert the toplevel files CREDITS and MAINTAINERS to UTF-8.\n  remove broken URLs from net drivers\u0027 output\n  Magic number prefix consistency change to Documentation/magic-number.txt\n  trivial: s/i_sem /i_mutex/\n  fix file specification in comments\n  drivers/base/platform.c: fix small typo in doc\n  misc doc and kconfig typos\n  Remove obsolete fat_cvf help text\n  Fix occurrences of \"the the \"\n  Fix minor typoes in kernel/module.c\n  Kconfig: Remove reference to external mqueue library\n  Kconfig: A couple of grammatical fixes in arch/i386/Kconfig\n  Correct comments in genrtc.c to refer to correct /proc file.\n  Fix more \"deprecated\" spellos.\n  Fix \"deprecated\" typoes.\n  ...\n\nFix trivial comment conflict in kernel/relay.c.\n"
    },
    {
      "commit": "4037d452202e34214e8a939fa5621b2b3bbb45b7",
      "tree": "31b59c0ca94fba4d53b6738b0bad3d1e9fde3063",
      "parents": [
        "77461ab33229d48614402decfb1b2eaa6d446861"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Wed May 09 02:35:14 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 12:30:56 2007 -0700"
      },
      "message": "Move remote node draining out of slab allocators\n\nCurrently the slab allocators contain callbacks into the page allocator to\nperform the draining of pagesets on remote nodes.  This requires SLUB to have\na whole subsystem in order to be compatible with SLAB.  Moving node draining\nout of the slab allocators avoids a section of code in SLUB.\n\nMove the node draining so that is is done when the vm statistics are updated.\nAt that point we are already touching all the cachelines with the pagesets of\na processor.\n\nAdd a expire counter there.  If we have to update per zone or global vm\nstatistics then assume that the pageset will require subsequent draining.\n\nThe expire counter will be decremented on each vm stats update pass until it\nreaches zero.  Then we will drain one batch from the pageset.  The draining\nwill cause vm counter updates which will then cause another expiration until\nthe pcp is empty.  So we will drain a batch every 3 seconds.\n\nNote that remote node draining is a somewhat esoteric feature that is required\non large NUMA systems because otherwise significant portions of system memory\ncan become trapped in pcp queues.  The number of pcp is determined by the\nnumber of processors and nodes in a system.  A system with 4 processors and 2\nnodes has 8 pcps which is okay.  But a system with 1024 processors and 512\nnodes has 512k pcps with a high potential for large amount of memory being\ncaught in them.\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": "77461ab33229d48614402decfb1b2eaa6d446861",
      "tree": "d2675ff079e887645ed25ae5f793aa907d53c66a",
      "parents": [
        "d1187ed21026fd512b87851d0ca26d9ae16f9059"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Wed May 09 02:35:13 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 12:30:56 2007 -0700"
      },
      "message": "Make vm statistics update interval configurable\n\nMake it configurable.  Code in mm makes the vm statistics intervals\nindependent from the cache reaper use that opportunity to make it\nconfigurable.\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": "d1187ed21026fd512b87851d0ca26d9ae16f9059",
      "tree": "35d77758f134f3b69d3e00ca042a5d5ca6a59373",
      "parents": [
        "455c017ae3934797653549704c286e7bcc3a9397"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Wed May 09 02:35:12 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 12:30:56 2007 -0700"
      },
      "message": "vmstat: use our own timer events\n\nvmstat is currently using the cache reaper to periodically bring the\nstatistics up to date.  The cache reaper does only exists in SLUB as a way to\nprovide compatibility with SLAB.  This patch removes the vmstat calls from the\nslab allocators and provides its own handling.\n\nThe advantage is also that we can use a different frequency for the updates.\nRefreshing vm stats is a pretty fast job so we can run this every second and\nstagger this by only one tick.  This will lead to some overlap in large\nsystems.  F.e a system running at 250 HZ with 1024 processors will have 4 vm\nupdates occurring at once.\n\nHowever, the vm stats update only accesses per node information.  It is only\nnecessary to stagger the vm statistics updates per processor in each node.  Vm\ncounter updates occurring on distant nodes will not cause cacheline\ncontention.\n\nWe could implement an alternate approach that runs the first processor on each\nnode at the second and then each of the other processor on a node on a\nsubsequent tick.  That may be useful to keep a large amount of the second free\nof timer activity.  Maybe the timer folks will have some feedback on this one?\n\n[jirislaby@gmail.com: add missing break]\nCc: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8bb7844286fb8c9fce6f65d8288aeb09d03a5e0d",
      "tree": "f4e305edaedbde05774bb1e4acd89a9475661d2e",
      "parents": [
        "f37bc2712b54ec641e0c0c8634f1a4b61d9956c0"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed May 09 02:35:10 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 12:30:56 2007 -0700"
      },
      "message": "Add suspend-related notifications for CPU hotplug\n\nSince nonboot CPUs are now disabled after tasks and devices have been\nfrozen and the CPU hotplug infrastructure is used for this purpose, we need\nspecial CPU hotplug notifications that will help the CPU-hotplug-aware\nsubsystems distinguish normal CPU hotplug events from CPU hotplug events\nrelated to a system-wide suspend or resume operation in progress.  This\npatch introduces such notifications and causes them to be used during\nsuspend and resume transitions.  It also changes all of the\nCPU-hotplug-aware subsystems to take these notifications into consideration\n(for now they are handled in the same way as the corresponding \"normal\"\nones).\n\n[oleg@tv-sign.ru: cleanups]\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nCc: Gautham R Shenoy \u003cego@in.ibm.com\u003e\nCc: Pavel Machek \u003cpavel@ucw.cz\u003e\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "01f2705daf5a36208e69d7cf95db9c330f843af6",
      "tree": "2d2c7a042c2466ed985f6e0950450c099f02725f",
      "parents": [
        "38a23e311b6cd389b9d8af2ea6c28c8cffbe581c"
      ],
      "author": {
        "name": "Nate Diller",
        "email": "nate.diller@gmail.com",
        "time": "Wed May 09 02:35:07 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 12:30:55 2007 -0700"
      },
      "message": "fs: convert core functions to zero_user_page\n\nIt\u0027s very common for file systems to need to zero part or all of a page,\nthe simplist way is just to use kmap_atomic() and memset().  There\u0027s\nactually a library function in include/linux/highmem.h that does exactly\nthat, but it\u0027s confusingly named memclear_highpage_flush(), which is\ndescriptive of *how* it does the work rather than what the *purpose* is.\nSo this patchset renames the function to zero_user_page(), and calls it\nfrom the various places that currently open code it.\n\nThis first patch introduces the new function call, and converts all the\ncore kernel callsites, both the open-coded ones and the old\nmemclear_highpage_flush() ones.  Following this patch is a series of\nconversions for each file system individually, per AKPM, and finally a\npatch deprecating the old call.  The diffstat below shows the entire\npatchset.\n\n[akpm@linux-foundation.org: fix a few things]\nSigned-off-by: Nate Diller \u003cnate.diller@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": "5830c5902138f80b0a097b797200c739466beedd",
      "tree": "f325f18365db79f9d17793b8d551e81094f48e15",
      "parents": [
        "a4798833d26b293fd18b7bf102991426aa0b56fd"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Wed May 09 02:34:22 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 12:30:53 2007 -0700"
      },
      "message": "slab: shut down cache_reaper when cpu goes down\n\nShutdown the cache_reaper if the cpu is brought down and set the\ncache_reap.func to NULL.  Otherwise hotplug shuts down the reaper for good.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "38c3bd96a0a7d375e12f173c34fbebf9f153cb56",
      "tree": "4c96cfe17f7578eb182471c8ad17653837abc219",
      "parents": [
        "e7407dcc69e077ac34a527842db916abfbc458df"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Wed May 09 02:34:05 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 12:30:51 2007 -0700"
      },
      "message": "slab: use CPU_LOCK_[ACQUIRE|RELEASE]\n\nLooks like this was forgotten when CPU_LOCK_[ACQUIRE|RELEASE] was\nintroduced.\n\nCc: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nCc: Srivatsa Vaddagiri \u003cvatsa@in.ibm.com\u003e\nCc: Gautham Shenoy \u003cego@in.ibm.com\u003e\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ef71c15c46a053818f7e69098ebb052b31ffa56b",
      "tree": "1136f1280e2a570a5c29486aef408473160c76b5",
      "parents": [
        "9b04bd27564cfd7224e0135ba37df778f1d490bf"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed May 09 02:33:44 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 12:30:50 2007 -0700"
      },
      "message": "AFS: export a couple of core functions for AFS write support\n\nExport a couple of core functions for AFS write support to use:\n\n\tfind_get_pages_contig()\n\tfind_get_pages_tag()\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8a63011275e1a0ec9389e8c7d9b08caab8957ca0",
      "tree": "ae631cb1206c60a8b375384a880cabf7dc156d00",
      "parents": [
        "85badbdf5120d246ce2bb3f1a7689a805f9c9006"
      ],
      "author": {
        "name": "Ken Chen",
        "email": "kenchen@google.com",
        "time": "Wed May 09 02:33:34 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 12:30:49 2007 -0700"
      },
      "message": "pretend cpuset has some form of hugetlb page reservation\n\nWhen cpuset is configured, it breaks the strict hugetlb page reservation as\nthe accounting is done on a global variable.  Such reservation is\ncompletely rubbish in the presence of cpuset because the reservation is not\nchecked against page availability for the current cpuset.  Application can\nstill potentially OOM\u0027ed by kernel with lack of free htlb page in cpuset\nthat the task is in.  Attempt to enforce strict accounting with cpuset is\nalmost impossible (or too ugly) because cpuset is too fluid that task or\nmemory node can be dynamically moved between cpusets.\n\nThe change of semantics for shared hugetlb mapping with cpuset is\nundesirable.  However, in order to preserve some of the semantics, we fall\nback to check against current free page availability as a best attempt and\nhopefully to minimize the impact of changing semantics that cpuset has on\nhugetlb.\n\nSigned-off-by: Ken Chen \u003ckenchen@google.com\u003e\nCc: Paul Jackson \u003cpj@sgi.com\u003e\nCc: Christoph Lameter \u003cclameter@engr.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": "ace4bd29c248b51db3f8a97e9b59740dc6caa074",
      "tree": "474d6b74fcd4ab07262d624a278faf65e14ddc4d",
      "parents": [
        "ba8b45cea5f632540d561d37d94c71c07f6af1aa"
      ],
      "author": {
        "name": "Ken Chen",
        "email": "kenchen@google.com",
        "time": "Wed May 09 02:33:09 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 12:30:48 2007 -0700"
      },
      "message": "fix leaky resv_huge_pages when cpuset is in use\n\nThe internal hugetlb resv_huge_pages variable can permanently leak nonzero\nvalue in the error path of hugetlb page fault handler when hugetlb page is\nused in combination of cpuset.  The leaked count can permanently trap N\nnumber of hugetlb pages in unusable \"reserved\" state.\n\nSteps to reproduce the bug:\n\n  (1) create two cpuset, user1 and user2\n  (2) reserve 50 htlb pages in cpuset user1\n  (3) attempt to shmget/shmat 50 htlb page inside cpuset user2\n  (4) kernel oom the user process in step 3\n  (5) ipcrm the shm segment\n\nAt this point resv_huge_pages will have a count of 49, even though\nthere are no active hugetlbfs file nor hugetlb shared memory segment\nin the system.  The leak is permanent and there is no recovery method\nother than system reboot. The leaked count will hold up all future use\nof that many htlb pages in all cpusets.\n\nThe culprit is that the error path of alloc_huge_page() did not\nproperly undo the change it made to resv_huge_page, causing\ninconsistent state.\n\nSigned-off-by: Ken Chen \u003ckenchen@google.com\u003e\nCc: David Gibson \u003cdavid@gibson.dropbear.id.au\u003e\nCc: Adam Litke \u003cagl@us.ibm.com\u003e\nCc: Martin Bligh \u003cmbligh@google.com\u003e\nAcked-by: David Gibson \u003cdwg@au1.ibm.com\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7ae439ce0c01d7db0c70d1542985969e95ef750d",
      "tree": "7da3778be3e1c80cd834bf72dc33c3c82ff43017",
      "parents": [
        "5e6d444ea1f72b8148354a9baf0ea8fa3dd0425b"
      ],
      "author": {
        "name": "Pekka J Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Wed May 09 02:32:46 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 12:30:46 2007 -0700"
      },
      "message": "krealloc: fix kerneldoc comments\n\nNo \"blank\" (or \"*\") line is allowed between the function name and lines for\nit parameter(s).\n\nCc: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nCc: 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": "5e6d444ea1f72b8148354a9baf0ea8fa3dd0425b",
      "tree": "c9c07fd97acd925bfb9c4964240799414243d399",
      "parents": [
        "45edfa580b8e638c44ec26872bfe75b307ba12d1"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Wed May 09 02:32:46 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 12:30:46 2007 -0700"
      },
      "message": "SLUB: rework slab order determination\n\nIn some cases SLUB is creating uselessly slabs that are larger than\nslub_max_order. Also the layout of some of the slabs was not satisfactory.\n\nGo to an iterarive approach.\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": "45edfa580b8e638c44ec26872bfe75b307ba12d1",
      "tree": "1143a378c5a8b6dcf6bfb1cb7c0cfd42df725417",
      "parents": [
        "41ecc55b8a8ca618e6d490982c7ce45d230d4399"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Wed May 09 02:32:45 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 12:30:46 2007 -0700"
      },
      "message": "SLUB: include lifetime stats and sets of cpus / nodes in tracking output\n\nWe have information about how long an object existed and about the nodes and\ncpus where the allocations and frees took place.  Add that information to the\ntracking output in /sys/slab/xx/alloc_calls and /sys/slab/free_calls\n\nThis will then enable slabinfo to output nice reports like this:\n\n  christoph@qirst:~/slub$ ./slabinfo kmalloc-128\n\n  Slabcache: kmalloc-128           Aliases:  0 Order :  0\n\n  Sizes (bytes)     Slabs              Debug                Memory\n  ------------------------------------------------------------------------\n  Object :     128  Total  :      12   Sanity Checks : On   Total:   49152\n  SlabObj:     200  Full   :       7   Redzoning     : On   Used :   24832\n  SlabSiz:    4096  Partial:       4   Poisoning     : On   Loss :   24320\n  Loss   :      72  CpuSlab:       1   Tracking      : On   Lalig:   13968\n  Align  :       8  Objects:      20   Tracing       : Off  Lpadd:    1152\n\n  kmalloc-128 has no kmem_cache operations\n\n  kmalloc-128: Kernel object allocation\n  -----------------------------------------------------------------------\n        6 param_sysfs_setup+0x71/0x130 age\u003d284512/284512/284512 pid\u003d1 nodes\u003d0-1,3\n       11 percpu_populate+0x39/0x80 age\u003d283914/284428/284512 pid\u003d1 nodes\u003d0\n       21 __register_chrdev_region+0x31/0x170 age\u003d282896/284347/284473 pid\u003d1-1705 nodes\u003d0-2\n        1 sys_inotify_init+0x76/0x1c0 age\u003d283423 pid\u003d1004 nodes\u003d0\n       19 as_get_io_context+0x32/0xd0 age\u003d6/247567/283988 pid\u003d1-11782 nodes\u003d0,2\n       10 ida_pre_get+0x4a/0x80 age\u003d277666/283773/284526 pid\u003d0-2177 nodes\u003d0,2\n       24 kobject_kset_add_dir+0x37/0xb0 age\u003d282727/283860/284472 pid\u003d1-1723 nodes\u003d0-2\n        1 acpi_ds_build_internal_buffer_obj+0xd3/0x11d age\u003d284508 pid\u003d1 nodes\u003d0\n       24 con_insert_unipair+0xd7/0x110 age\u003d284438/284438/284438 pid\u003d1 nodes\u003d0,2\n        1 uart_open+0x2d2/0x4b0 age\u003d283896 pid\u003d1 nodes\u003d0\n       26 dma_pool_create+0x73/0x1a0 age\u003d282762/282833/282916 pid\u003d1705-1723 nodes\u003d0\n        1 neigh_table_init_no_netlink+0xd2/0x210 age\u003d284461 pid\u003d1 nodes\u003d0\n        2 neigh_parms_alloc+0x2b/0xe0 age\u003d284410/284411/284412 pid\u003d1 nodes\u003d2\n        2 neigh_resolve_output+0x1e1/0x280 age\u003d276289/276291/276293 pid\u003d0-2443 nodes\u003d0\n        1 netlink_kernel_create+0x90/0x170 age\u003d284472 pid\u003d1 nodes\u003d0\n        4 xt_alloc_table_info+0x39/0xf0 age\u003d283958/283958/283959 pid\u003d1 nodes\u003d1\n        3 fn_hash_insert+0x473/0x720 age\u003d277653/277661/277666 pid\u003d2177-2185 nodes\u003d0\n        1 get_mtrr_state+0x285/0x2a0 age\u003d284526 pid\u003d0 nodes\u003d0\n        1 cacheinfo_cpu_callback+0x26d/0x3e0 age\u003d284458 pid\u003d1 nodes\u003d0\n       29 kernel_param_sysfs_setup+0x25/0x90 age\u003d284511/284511/284512 pid\u003d1 nodes\u003d0-1,3\n        5 process_zones+0x5e/0x170 age\u003d284546/284546/284546 pid\u003d0 nodes\u003d0\n        1 drm_core_init+0x48/0x160 age\u003d284421 pid\u003d1 nodes\u003d2\n\n  kmalloc-128: Kernel object freeing\n  ------------------------------------------------------------------------\n      163 \u003cnot-available\u003e age\u003d4295176847 pid\u003d0 nodes\u003d0-3\n        1 __vunmap+0x6e/0xf0 age\u003d282907 pid\u003d1723 nodes\u003d0\n       28 free_as_io_context+0x12/0x90 age\u003d9243/262197/283474 pid\u003d42-11754 nodes\u003d0\n        1 acpi_get_object_info+0x1b7/0x1d4 age\u003d284475 pid\u003d1 nodes\u003d0\n        1 do_acpi_find_child+0x45/0x4e age\u003d284475 pid\u003d1 nodes\u003d0\n\n  NUMA nodes           :    0    1    2    3\n  ------------------------------------------\n  All slabs                 7    2    2    1\n  Partial slabs             2    2    0    0\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": "41ecc55b8a8ca618e6d490982c7ce45d230d4399",
      "tree": "ba2f416a2ea92eb335cae028c586b3cd3797d66c",
      "parents": [
        "02cbc874463924de2c3403379b698bce3cd277a5"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Wed May 09 02:32:44 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 12:30:45 2007 -0700"
      },
      "message": "SLUB: add CONFIG_SLUB_DEBUG\n\nCONFIG_SLUB_DEBUG can be used to switch off the debugging and sysfs components\nof SLUB.  Thus SLUB will be able to replace SLOB.  SLUB can arrange objects in\na denser way than SLOB and the code size should be minimal without debugging\nand sysfs support.\n\nNote that CONFIG_SLUB_DEBUG is materially different from CONFIG_SLAB_DEBUG.\nCONFIG_SLAB_DEBUG is used to enable slab debugging in SLAB.  SLUB enables\ndebugging via a boot parameter.  SLUB debug code should always be present.\n\nCONFIG_SLUB_DEBUG can be modified in the embedded config section.\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": "02cbc874463924de2c3403379b698bce3cd277a5",
      "tree": "e7049877addb956ec53d98ead01d993e06558044",
      "parents": [
        "636f0d7de8dc0282cce9905e035c04dd60db19dd"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Wed May 09 02:32:43 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 12:30:45 2007 -0700"
      },
      "message": "SLUB: move tracking definitions and check_valid_pointer() away from debug code\n\nMove the tracking definitions and the check_valid_pointer() function away from\nthe debugging related functions.\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": "636f0d7de8dc0282cce9905e035c04dd60db19dd",
      "tree": "a4fcb99b6fdc47ca865746bbbdcf9f693e4655b1",
      "parents": [
        "35e5d7ee27680aef6dc3fab45a5ecd9952d9791a"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Wed May 09 02:32:42 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 12:30:45 2007 -0700"
      },
      "message": "SLUB: consolidate trace code\n\nTrace in both slab_alloc and slab_free has a lot of common code.  Use a single\nfunction for both.\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": "35e5d7ee27680aef6dc3fab45a5ecd9952d9791a",
      "tree": "47660b2ac98ca94c42164952520700644411a6cc",
      "parents": [
        "b345970905e34c1b632fe4d80e2af14c7de99b45"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Wed May 09 02:32:42 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 12:30:45 2007 -0700"
      },
      "message": "SLUB: introduce DebugSlab(page)\n\nThis replaces the PageError() checking.  DebugSlab is clearer and allows for\nfuture changes to the page bit used.  We also need it to support\nCONFIG_SLUB_DEBUG.\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": "b345970905e34c1b632fe4d80e2af14c7de99b45",
      "tree": "0e495a2b5cbbfdbaf7dfd126bb6a5a2060a23ae4",
      "parents": [
        "7656c72b5a631452ace361037ccf8384454d0f72"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Wed May 09 02:32:41 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 12:30:45 2007 -0700"
      },
      "message": "SLUB: move resiliency check into SYSFS section\n\nMove the resiliency check into the SYSFS section after validate_slab that is\nused by the resiliency check.  This will avoid a forward declaration.\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": "7656c72b5a631452ace361037ccf8384454d0f72",
      "tree": "de14c2fe8b9145f8c618f2e11b6ebc2d2e047de0",
      "parents": [
        "672bba3a4b2e65ed95ebd0cf764bd628bd1da74f"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Wed May 09 02:32:40 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 12:30:45 2007 -0700"
      },
      "message": "SLUB: add macros for scanning objects in a slab\n\nScanning of objects happens in a number of functions.  Consolidate that code.\nDECLARE_BITMAP instead of coding the declaration for bitmaps.\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": "672bba3a4b2e65ed95ebd0cf764bd628bd1da74f",
      "tree": "765147d9add5e256b79c7b0d5edbff4bd0fe55d3",
      "parents": [
        "26a7bd030254c462a9e771f6edc54cb972044034"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Wed May 09 02:32:39 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 12:30:45 2007 -0700"
      },
      "message": "SLUB: update comments\n\nUpdate comments throughout SLUB to reflect the new developments.  Fix up\nvarious awkward sentences.\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": "26a7bd030254c462a9e771f6edc54cb972044034",
      "tree": "dbbcd0c5dccc8b1ecd71e342e2c26aa7b61be143",
      "parents": [
        "1f99a283dc13b167b93b2e453a30782955f165c2"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Wed May 09 02:32:39 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 12:30:45 2007 -0700"
      },
      "message": "SLUB: get rid of finish_bootstrap\n\nIts only purpose was to bring some sort of symmetry to sysfs usage when\ndealing with bootstrapping per cpu flushing.  Since we do not time out slabs\nanymore we have no need to run finish_bootstrap even without sysfs.  Fold it\nback into slab_sysfs_init and drop the initcall for the !SYFS case.\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": "1f99a283dc13b167b93b2e453a30782955f165c2",
      "tree": "85960206f9b5757680b768d6900c60928f1c2117",
      "parents": [
        "abcd08a6f564171ffa05bc77d1c2ba4cfa949653"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Wed May 09 02:32:38 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 12:30:45 2007 -0700"
      },
      "message": "SLUB: clean up krealloc\n\nWe really do not need all this gaga there.\n\nksize gives us all the information we need to figure out if the object can\ncope with the new size.\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": "abcd08a6f564171ffa05bc77d1c2ba4cfa949653",
      "tree": "10760411326e881329851707e93aebd8c6782737",
      "parents": [
        "a87615b8f9e2349f6d3770af3d72fd6a41ab4239"
      ],
      "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: use check_valid_pointer in kmem_ptr_validate\n\nWe needlessly duplicate code. Also make check_valid_pointer inline.\n\nSigned-off-by: Christoph LAemter \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": "be7b3fbcef34452127bed93632b8e788f685d70e",
      "tree": "a2d1e80103982fd606390d4bb15131d1dd544b45",
      "parents": [
        "65c02d4cfbbd10188ded3d6577922ab034d943ba"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Wed May 09 02:32:36 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 12:30:44 2007 -0700"
      },
      "message": "SLUB: after object padding only needed for Redzoning\n\nIf no redzoning is selected then we do not need padding before the next\nobject.\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": "65c02d4cfbbd10188ded3d6577922ab034d943ba",
      "tree": "c7b5165775951bb8e78f4e483b69c969042e8208",
      "parents": [
        "97416ce82e20a9511ec369822098a8d20998398a"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Wed May 09 02:32:35 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 12:30:44 2007 -0700"
      },
      "message": "SLUB: add support for dynamic cacheline size determination\n\nSLUB currently assumes that the cacheline size is static.  However, i386 f.e.\nsupports dynamic cache line size determination.\n\nUse cache_line_size() instead of L1_CACHE_BYTES in the allocator.\n\nThat also explains the purpose of SLAB_HWCACHE_ALIGN.  So we will need to keep\nthat one around to allow dynamic aligning of objects depending on boot\ndetermination of the cache line size.\n\n[akpm@linux-foundation.org: need to define it before we use it]\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": "59c51591a0ac7568824f541f57de967e88adaa07",
      "tree": "243d20eb0a26b76d5d312f39ec5a1ff60e036711",
      "parents": [
        "02a3e59a088749c08b0293ee1535f5bf48f5926c"
      ],
      "author": {
        "name": "Michael Opdenacker",
        "email": "michael@free-electrons.com",
        "time": "Wed May 09 08:57:56 2007 +0200"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Wed May 09 08:57:56 2007 +0200"
      },
      "message": "Fix occurrences of \"the the \"\n\nSigned-off-by: Michael Opdenacker \u003cmichael@free-electrons.com\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\n"
    },
    {
      "commit": "5f8c9908f200b775a3d6c345bc6f3e928e2426a9",
      "tree": "0e7077bdc8fef01c54845b0ed5f524bb31324350",
      "parents": [
        "36f021b579d195cdc5fa6f3e2bab198b4bf70643"
      ],
      "author": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Tue May 08 11:55:21 2007 +0900"
      },
      "committer": {
        "name": "Paul Mundt",
        "email": "lethal@hera.kernel.org",
        "time": "Wed May 09 01:35:00 2007 +0000"
      },
      "message": "sh: generic quicklist support.\n\nThis moves SH over to the generic quicklists. As per x86_64,\nwe have special mappings for the PGDs, so these go on their\nown list..\n\nSigned-off-by: Paul Mundt \u003clethal@linux-sh.org\u003e\n"
    },
    {
      "commit": "74add80cbd7fe246c893b93ee75ac59acdd01dd4",
      "tree": "57ab3f1754bb90fb81721a76b8e342871203a75c",
      "parents": [
        "02a93208edec0d655c9f18613d830dc6afeda7d4"
      ],
      "author": {
        "name": "Roland McGrath",
        "email": "roland@redhat.com",
        "time": "Tue May 08 11:19:38 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:35:28 2007 -0700"
      },
      "message": "Remove unused variable in get_unmapped_area\n\nSigned-off-by: Roland McGrath \u003croland@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "60b59beafba875aef6d378078bce0baf2287ae14",
      "tree": "bb599c0e2ad43ee8f515a9f9af009442931b6a37",
      "parents": [
        "3a2842480bbef42c3c90e14c1f378360d8c20a0c"
      ],
      "author": {
        "name": "Jaya Kumar",
        "email": "jayakumar.lkml@gmail.com",
        "time": "Tue May 08 00:37:37 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:26 2007 -0700"
      },
      "message": "fbdev: mm: Deferred IO support\n\nThis implements deferred IO support in fbdev.  Deferred IO is a way to delay\nand repurpose IO.  This implementation is done using mm\u0027s page_mkwrite and\npage_mkclean hooks in order to detect, delay and then rewrite IO.  This\nfunctionality is used by hecubafb.\n\n[adaplas]\nThis is useful for graphics hardware with no directly addressable/mappable\nframebuffer. Implementing this will allow the \"framebuffer\" to be accesible\nfrom user space via mmap().\n\nSigned-off-by: Jaya Kumar \u003cjayakumar.lkml@gmail.com\u003e\nSigned-off-by: Antonino Daplas \u003cadaplas@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": "a5c43dae7ae38c2a6b3e9a819bcf45f010bf6a4a",
      "tree": "b30da7a4541e803e35a6a74ad33e836442c3f6c8",
      "parents": [
        "9d65cb4a1718a072898c7a57a3bc61b2dc4bcd4d"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@sw.ru",
        "time": "Tue May 08 00:28:47 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:08 2007 -0700"
      },
      "message": "Fix race between cat /proc/slab_allocators and rmmod\n\nSame story as with cat /proc/*/wchan race vs rmmod race, only\n/proc/slab_allocators want more info than just symbol name.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@sw.ru\u003e\nAcked-by: Rusty Russell \u003crusty@rustcorp.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": "ef51c97623b94f51e439ac91d2736aab3d1b6594",
      "tree": "5c020421f1e5a6e28b5a9f341fec32479a8ffb3a",
      "parents": [
        "524e6752912a891a396a9cf74c5d7d60fff5510a"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Tue May 08 00:27:10 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:04 2007 -0700"
      },
      "message": "Remove do_sync_file_range()\n\nRemove do_sync_file_range() and convert callers to just use\ndo_sync_mapping_range().\n\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.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": "1eeb66a1bb973534dc3d064920a5ca683823372e",
      "tree": "19c22d611e6adefb352dbc107b859e4d13ba38c1",
      "parents": [
        "e3869792990f708c97be5877499cada70d469bd3"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Tue May 08 00:27:03 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:04 2007 -0700"
      },
      "message": "move die notifier handling to common code\n\nThis patch moves the die notifier handling to common code.  Previous\nvarious architectures had exactly the same code for it.  Note that the new\ncode is compiled unconditionally, this should be understood as an appel to\nthe other architecture maintainer to implement support for it aswell (aka\nsprinkling a notify_die or two in the proper place)\n\narm had a notifiy_die that did something totally different, I renamed it to\narm_notify_die as part of the patch and made it static to the file it\u0027s\ndeclared and used at.  avr32 used to pass slightly less information through\nthis interface and I brought it into line with the other architectures.\n\n[akpm@linux-foundation.org: build fix]\n[akpm@linux-foundation.org: fix vmalloc_sync_all bustage]\n[bryan.wu@analog.com: fix vmalloc_sync_all in nommu]\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nCc: \u003clinux-arch@vger.kernel.org\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nSigned-off-by: Bryan Wu \u003cbryan.wu@analog.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3e9f45bd18191bbd05468b19b7064b8da8262aba",
      "tree": "06c790a9cb1afc83d170447a277e51f5a1a5f303",
      "parents": [
        "c83e44842074a87614c78eca70fa6467b0bc3c4a"
      ],
      "author": {
        "name": "Guillaume Chazarain",
        "email": "guichaz@yahoo.fr",
        "time": "Tue May 08 00:23:25 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:14:57 2007 -0700"
      },
      "message": "Factor outstanding I/O error handling\n\nCleanup: setting an outstanding error on a mapping was open coded too many\ntimes.  Factor it out in mapping_set_error().\n\nSigned-off-by: Guillaume Chazarain \u003cguichaz@yahoo.fr\u003e\nCc: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "72280ede316911fd5a82ef78d12a6705b1007d36",
      "tree": "c6cdec169d300f6967c47771917d99035423bf91",
      "parents": [
        "a3142c8e1dd57ff48040bdb3478cff9312543dc3"
      ],
      "author": {
        "name": "Yasunori Goto",
        "email": "y-goto@jp.fujitsu.com",
        "time": "Tue May 08 00:23:10 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:14:57 2007 -0700"
      },
      "message": "Add white list into modpost.c for memory hotplug code and ia64\u0027s machvec section\n\nThis patch is add white list into modpost.c for some functions and\nia64\u0027s section to fix section mismatchs.\n\n  sparse_index_alloc() and zone_wait_table_init() calls bootmem allocator\n  at boot time, and kmalloc/vmalloc at hotplug time. If config\n  memory hotplug is on, there are references of bootmem allocater(init text)\n  from them (normal text). This is cause of section mismatch.\n\n  Bootmem is called by many functions and it must be\n  used only at boot time. I think __init of them should keep for\n  section mismatch check. So, I would like to register sparse_index_alloc()\n  and zone_wait_table_init() into white list.\n\n  In addition, ia64\u0027s .machvec section is function table of some platform\n  dependent code. It is mixture of .init.text and normal text. These\n  reference of __init functions are valid too.\n\nSigned-off-by: Yasunori Goto \u003cy-goto@jp.fujitsu.com\u003e\nCc: 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": "a3142c8e1dd57ff48040bdb3478cff9312543dc3",
      "tree": "14beeb03421338b917a956e9269a2ce95e0f62cf",
      "parents": [
        "0ceb331433e8aad9c5f441a965d7c681f8b9046f"
      ],
      "author": {
        "name": "Yasunori Goto",
        "email": "y-goto@jp.fujitsu.com",
        "time": "Tue May 08 00:23:07 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:14:57 2007 -0700"
      },
      "message": "Fix section mismatch of memory hotplug related code.\n\nThis is to fix many section mismatches of code related to memory hotplug.\nI checked compile with memory hotplug on/off on ia64 and x86-64 box.\n\nSigned-off-by: Yasunori Goto \u003cy-goto@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": "0ceb331433e8aad9c5f441a965d7c681f8b9046f",
      "tree": "fd3d679a4015242dd65f0721f52242ad47619910",
      "parents": [
        "b46b8f19c9cd435ecac4d9d12b39d78c137ecd66"
      ],
      "author": {
        "name": "Dmitriy Monakhov",
        "email": "dmonakhov@openvz.org",
        "time": "Tue May 08 00:23:02 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:14:57 2007 -0700"
      },
      "message": "mm: move common segment checks to separate helper function\n\n[akpm@linux-foundation.org: cleanup]\nSigned-off-by: Monakhov Dmitriy \u003cdmonakhov@openvz.org\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nAcked-by: Anton Altaparmakov \u003caia21@cam.ac.uk\u003e\nAcked-by: David Chinner \u003cdgc@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": "b46b8f19c9cd435ecac4d9d12b39d78c137ecd66",
      "tree": "4b1e393eeb42f70867d30a7d0116ff948941095b",
      "parents": [
        "5b94f675f57e4ff16c8fda09088d7480a84dcd91"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Tue May 08 00:22:59 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:14:57 2007 -0700"
      },
      "message": "Increase slab redzone to 64bits\n\nThere are two problems with the existing redzone implementation.\n\nFirstly, it\u0027s causing misalignment of structures which contain a 64-bit\ninteger, such as netfilter\u0027s \u0027struct ipt_entry\u0027 -- causing netfilter\nmodules to fail to load because of the misalignment.  (In particular, the\nfirst check in\nnet/ipv4/netfilter/ip_tables.c::check_entry_size_and_hooks())\n\nOn ppc32 and sparc32, amongst others, __alignof__(uint64_t) \u003d\u003d 8.\n\nWith slab debugging, we use 32-bit redzones. And allocated slab objects\naren\u0027t sufficiently aligned to hold a structure containing a uint64_t.\n\nBy _just_ setting ARCH_KMALLOC_MINALIGN to __alignof__(u64) we\u0027d disable\nredzone checks on those architectures.  By using 64-bit redzones we avoid that\nloss of debugging, and also fix the other problem while we\u0027re at it.\n\nWhen investigating this, I noticed that on 64-bit platforms we\u0027re using a\n32-bit value of RED_ACTIVE/RED_INACTIVE in the 64-bit memory location set\naside for the redzone.  Which means that the four bytes immediately before\nor after the allocated object at 0x00,0x00,0x00,0x00 for LE and BE\nmachines, respectively.  Which is probably not the most useful choice of\npoison value.\n\nOne way to fix both of those at once is just to switch to 64-bit\nredzones in all cases.\n\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\nAcked-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nCc: Christoph Lameter \u003cclameter@engr.sgi.com\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0f9008ef38d5a6305d94bbdd8f20d68fc75c63b6",
      "tree": "046dd1a4f68593fa2be9d2e157111f70b448525a",
      "parents": [
        "5cefcab3db2b13093480f2a42bf081574dd72d3d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:31:58 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:31:58 2007 -0700"
      },
      "message": "Fix up SLUB compile\n\nThe newly merged SLUB allocator patches had been generated before the\nremoval of \"struct subsystem\", and ended up applying fine, but wouldn\u0027t\nbuild based on the current tree as a result.\n\nFix up that merge error - not that SLUB is likely really ready for\nshowtime yet, but at least I can fix the trivial stuff.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ef93127e4c7b4b8d46421045641048397eaac43d",
      "tree": "fbddc8f52e10d8d6eb45e08e02fecbc2ba023eea",
      "parents": [
        "972d45fb43f0f0793fa275c4a22998106760cd61",
        "90a660a4546d6ba5ca5f3a23d5cc599db2b41e08"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:22:48 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:22:48 2007 -0700"
      },
      "message": "Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6\n\n* master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6:\n  [SERIAL] sunsu: Fix section mismatch warnings.\n  [SPARC64]: pgtable_cache_init() should be __init.\n  [SPARC64]: Fix section mismatch warnings in arch/sparc64/kernel/prom.c\n  [SPARC64]: Fix section mismatch warnings in arch/sparc64/kernel/pci.c\n  [SPARC64]: Fix section mismatch warnings in arch/sparc64/kernel/console.c\n  [MM]: sparse_init() should be __init.\n  [SPARC64]: Update defconfig.\n  [VIDEO]: Add Sun XVR-2500 framebuffer driver.\n  [VIDEO]: Add Sun XVR-500 framebuffer driver.\n  [SPARC64]: SUN4U PCI-E controller support.\n  [SPARC]: Fix comment typo in smp4m_blackbox_current().\n  [SCSI] SUNESP: sun_esp.c needs linux/delay.h\n\nFix up conflict in arch/sparc64/mm/init.c manually due to removal of\npgtable_cache_init() through the -mm patches (even though that patch was\nalso by David ;)\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b1296cc48b39355241470ef934a5e2270e3f23bd",
      "tree": "cfaf24de442b9ce19414f67106461f7c4829a1a7",
      "parents": [
        "d1d241cc2c5feec057c370aa71637380b1b945d5"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sun May 06 14:50:48 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:12:59 2007 -0700"
      },
      "message": "freezer: fix racy usage of try_to_freeze in kswapd\n\nCurrently we can miss freeze_process()-\u003esignal_wake_up() in kswapd() if it\nhappens between try_to_freeze() and prepare_to_wait().  To prevent this\nfrom happening we should check freezing(current) before calling schedule().\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nCc: Pavel Machek \u003cpavel@ucw.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7be9823491ecbaf9700d7d3502cb4b4dd0ed868a",
      "tree": "10f606c59837d851376823dae5d8faf50a51bde8",
      "parents": [
        "433ecb4ab312f873870b67ee374502e84f6dcf92"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sun May 06 14:50:42 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:12:58 2007 -0700"
      },
      "message": "swsusp: use inline functions for changing page flags\n\nReplace direct invocations of SetPageNosave(), SetPageNosaveFree() etc.  with\ncalls to inline functions that can be changed in subsequent patches without\nmodifying the code calling them.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Pavel Machek \u003cpavel@ucw.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4ab688c51226188f2d4ad4f789032c107944ef89",
      "tree": "f0793bf529ada8da81a764766996db90073a020f",
      "parents": [
        "5bc98594d59672303c4c9c07262ecc373dc374da"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Sun May 06 14:50:19 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:12:57 2007 -0700"
      },
      "message": "slob: fix page order calculation on not 4KB page\n\nSLOB doesn\u0027t calculate correct page order when page size is not 4KB.  This\npatch fixes it with using get_order() instead of find_order() which is SLOB\nversion of get_order().\n\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nAcked-by: Matt Mackall \u003cmpm@selenic.com\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cfce66047f1893cb7d3abb0d53e65cbbd8d605f0",
      "tree": "b6e533a6b3deee686c42abf6c9117154548c0aaf",
      "parents": [
        "4f104934591ed98534b3a4c3d17d972b790e9c42"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Sun May 06 14:50:17 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:12:57 2007 -0700"
      },
      "message": "Slab allocators: remove useless __GFP_NO_GROW flag\n\nThere is no user remaining and I have never seen any use of that flag.\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": "4f104934591ed98534b3a4c3d17d972b790e9c42",
      "tree": "149d7ba5ab6b9b7f8a82eb3ce41cb36f28bccaf9",
      "parents": [
        "50953fe9e00ebbeffa032a565ab2f08312d51a87"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Sun May 06 14:50:17 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:12:57 2007 -0700"
      },
      "message": "slab allocators: Remove SLAB_CTOR_ATOMIC\n\nSLAB_CTOR atomic is never used which is no surprise since I cannot imagine\nthat one would want to do something serious in a constructor or destructor.\n In particular given that the slab allocators run with interrupts disabled.\n Actions in constructors and destructors are by their nature very limited\nand usually do not go beyond initializing variables and list operations.\n\n(The i386 pgd ctor and dtors do take a spinlock in constructor and\ndestructor.....  I think that is the furthest we go at this point.)\n\nThere is no flag passed to the destructor so removing SLAB_CTOR_ATOMIC also\nestablishes a certain symmetry.\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": "50953fe9e00ebbeffa032a565ab2f08312d51a87",
      "tree": "9f95f56f0b51600959a76cd88ce17f6e9c7a98a3",
      "parents": [
        "4b1d89290b62bb2db476c94c82cf7442aab440c8"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Sun May 06 14:50:16 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:12:57 2007 -0700"
      },
      "message": "slab allocators: Remove SLAB_DEBUG_INITIAL flag\n\nI have never seen a use of SLAB_DEBUG_INITIAL.  It is only supported by\nSLAB.\n\nI think its purpose was to have a callback after an object has been freed\nto verify that the state is the constructor state again?  The callback is\nperformed before each freeing of an object.\n\nI would think that it is much easier to check the object state manually\nbefore the free.  That also places the check near the code object\nmanipulation of the object.\n\nAlso the SLAB_DEBUG_INITIAL callback is only performed if the kernel was\ncompiled with SLAB debugging on.  If there would be code in a constructor\nhandling SLAB_DEBUG_INITIAL then it would have to be conditional on\nSLAB_DEBUG otherwise it would just be dead code.  But there is no such code\nin the kernel.  I think SLUB_DEBUG_INITIAL is too problematic to make real\nuse of, difficult to understand and there are easier ways to accomplish the\nsame effect (i.e.  add debug code before kfree).\n\nThere is a related flag SLAB_CTOR_VERIFY that is frequently checked to be\nclear in fs inode caches.  Remove the pointless checks (they would even be\npointless without removeal of SLAB_DEBUG_INITIAL) from the fs constructors.\n\nThis is the last slab flag that SLUB did not support.  Remove the check for\nunimplemented flags from SLUB.\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": "4b1d89290b62bb2db476c94c82cf7442aab440c8",
      "tree": "9db89e2dbf5a0cb222f3d042a5ad167d75df265c",
      "parents": [
        "06abdfb47ee745a4d79721de24260815ec6bca2b"
      ],
      "author": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Sun May 06 14:50:14 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:12:57 2007 -0700"
      },
      "message": "get_unmapped_area doesn\u0027t need hugetlbfs hacks anymore\n\nRemove the hugetlbfs specific hacks in toplevel get_unmapped_area() now that\nall archs and hugetlbfs itself do the right thing for both cases.\n\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nAcked-by: William Irwin \u003cbill.irwin@oracle.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Richard Henderson \u003crth@twiddle.net\u003e\nCc: Ivan Kokshaysky \u003cink@jurassic.park.msu.ru\u003e\nCc: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nCc: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nCc: Kyle McMartin \u003ckyle@mcmartin.ca\u003e\nCc: Grant Grundler \u003cgrundler@parisc-linux.org\u003e\nCc: Matthew Wilcox \u003cwilly@debian.org\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Adam Litke \u003cagl@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": "06abdfb47ee745a4d79721de24260815ec6bca2b",
      "tree": "afbf3f7a0f020529317ec115d2b5f62f67c84404",
      "parents": [
        "036e08568cbee4b16e14551e9f004c3d490d6271"
      ],
      "author": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Sun May 06 14:50:13 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:12:57 2007 -0700"
      },
      "message": "get_unmapped_area handles MAP_FIXED in generic code\n\ngeneric arch_get_unmapped_area() now handles MAP_FIXED.  Now that all\nimplementations have been fixed, change the toplevel get_unmapped_area() to\ncall into arch or drivers for the MAP_FIXED case.\n\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Richard Henderson \u003crth@twiddle.net\u003e\nCc: Ivan Kokshaysky \u003cink@jurassic.park.msu.ru\u003e\nCc: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nCc: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nCc: Kyle McMartin \u003ckyle@mcmartin.ca\u003e\nCc: Grant Grundler \u003cgrundler@parisc-linux.org\u003e\nCc: Matthew Wilcox \u003cwilly@debian.org\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: William Irwin \u003cbill.irwin@oracle.com\u003e\nCc: Adam Litke \u003cagl@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": "2b45ab3398a0ba119b1f672c7c56fd5a431b7f0a",
      "tree": "302238b786d2137111244702345acf6d4a17d4b7",
      "parents": [
        "2b744c01a54fe0c9974ff1b29522f25f07084053"
      ],
      "author": {
        "name": "David Rientjes",
        "email": "rientjes@google.com",
        "time": "Sun May 06 14:50:00 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:12:55 2007 -0700"
      },
      "message": "oom: fix constraint deadlock\n\nFixes a deadlock in the OOM killer for allocations that are not\n__GFP_HARDWALL.\n\nBefore the OOM killer checks for the allocation constraint, it takes\ncallback_mutex.\n\nconstrained_alloc() iterates through each zone in the allocation zonelist\nand calls cpuset_zone_allowed_softwall() to determine whether an allocation\nfor gfp_mask is possible.  If a zone\u0027s node is not in the OOM-triggering\ntask\u0027s mems_allowed, it is not exiting, and we did not fail on a\n__GFP_HARDWALL allocation, cpuset_zone_allowed_softwall() attempts to take\ncallback_mutex to check the nearest exclusive ancestor of current\u0027s cpuset.\n This results in deadlock.\n\nWe now take callback_mutex after iterating through the zonelist since we\ndon\u0027t need it yet.\n\nCc: Andi Kleen \u003cak@suse.de\u003e\nCc: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: Christoph Lameter \u003cclameter@engr.sgi.com\u003e\nCc: Martin J. Bligh \u003cmbligh@mbligh.org\u003e\nSigned-off-by: David Rientjes \u003crientjes@google.com\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2b744c01a54fe0c9974ff1b29522f25f07084053",
      "tree": "6f9c7399703ad34ab35f01a55c77a1d34a5c6dc1",
      "parents": [
        "824ebef122153a03925ae0ed211b4e8568d1c8db"
      ],
      "author": {
        "name": "Yasunori Goto",
        "email": "y-goto@jp.fujitsu.com",
        "time": "Sun May 06 14:49:59 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:12:55 2007 -0700"
      },
      "message": "mm: fix handling of panic_on_oom when cpusets are in use\n\nThe current panic_on_oom may not work if there is a process using\ncpusets/mempolicy, because other nodes\u0027 memory may remain.  But some people\nwant failover by panic ASAP even if they are used.  This patch makes new\nsetting for its request.\n\nThis is tested on my ia64 box which has 3 nodes.\n\nSigned-off-by: Yasunori Goto \u003cy-goto@jp.fujitsu.com\u003e\nSigned-off-by: Benjamin LaHaise \u003cbcrl@kvack.org\u003e\nCc: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: Paul Jackson \u003cpj@sgi.com\u003e\nCc: Ethan Solomita \u003csolo@google.com\u003e\nCc: 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": "824ebef122153a03925ae0ed211b4e8568d1c8db",
      "tree": "2a9ce9acc187b6a6985064c773cbf850ad405a07",
      "parents": [
        "f0f3980b21508bd573eff1746d469436f50a903d"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Sun May 06 14:49:58 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:12:55 2007 -0700"
      },
      "message": "fault injection: fix failslab with CONFIG_NUMA\n\nCurrently failslab injects failures into ____cache_alloc().  But with enabling\nCONFIG_NUMA it\u0027s not enough to let actual slab allocator functions (kmalloc,\nkmem_cache_alloc, ...) return NULL.\n\nThis patch moves fault injection hook inside of __cache_alloc() and\n__cache_alloc_node().  These are lower call path than ____cache_alloc() and\nenable to inject faulures to slab allocators with CONFIG_NUMA.\n\nAcked-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nCc: 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": "5af60839909b8e3b28ca7cd7912fa0b23475617f",
      "tree": "774b068673ad7bb6fc67d29339c9a07bf12a7789",
      "parents": [
        "96018fdacbfcaf6a0694d066b525f67c24025688"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Sun May 06 14:49:56 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:12:55 2007 -0700"
      },
      "message": "slab allocators: Remove obsolete SLAB_MUST_HWCACHE_ALIGN\n\nThis patch was recently posted to lkml and acked by Pekka.\n\nThe flag SLAB_MUST_HWCACHE_ALIGN is\n\n1. Never checked by SLAB at all.\n\n2. A duplicate of SLAB_HWCACHE_ALIGN for SLUB\n\n3. Fulfills the role of SLAB_HWCACHE_ALIGN for SLOB.\n\nThe only remaining use is in sparc64 and ppc64 and their use there\nreflects some earlier role that the slab flag once may have had. If\nits specified then SLAB_HWCACHE_ALIGN is also specified.\n\nThe flag is confusing, inconsistent and has no purpose.\n\nRemove it.\n\nAcked-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\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": "0a27a14a62921b438bb6f33772690d345a089be6",
      "tree": "3a0a23880832ded1160b60a93300f4248a7de91f",
      "parents": [
        "b4169525bc2336ea6581c6ff2aa88b2671e3b9f9"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Sun May 06 14:49:53 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:12:54 2007 -0700"
      },
      "message": "mm: madvise avoid exclusive mmap_sem\n\nAvoid down_write of the mmap_sem in madvise when we can help it.\n\nAcked-by: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b4169525bc2336ea6581c6ff2aa88b2671e3b9f9",
      "tree": "1d436ed4ccfca64e00e5bf5b9d5c373fd7d956d6",
      "parents": [
        "bc0055aee40ba40627361d8ffd8530d315920f18"
      ],
      "author": {
        "name": "matze",
        "email": "matze@riseup.net",
        "time": "Sun May 06 14:49:52 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:12:54 2007 -0700"
      },
      "message": "include KERN_* constant in printk() calls in mm/slab.c\n\nSigned-off-by: Matthias Kaehlcke \u003cmatthias.kaehlcke@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": "bc0055aee40ba40627361d8ffd8530d315920f18",
      "tree": "62e4f2821b7c7202df9d6b9e9ff9c7d01070ae5c",
      "parents": [
        "3a2cba993b0a04f258ab75e15cf3f08ada268dbd"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Sun May 06 14:49:52 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:12:54 2007 -0700"
      },
      "message": "slob: handle SLAB_PANIC flag\n\nkmem_cache_create() for slob doesn\u0027t handle SLAB_PANIC.\n\nSigned-off-by: Matt Mackall \u003cmpm@selenic.com\u003e\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@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": "6225e93735acaa09865bce746958f1046c2e0bc3",
      "tree": "c741862fbd9f6a1fa350b08debfcfb159bb8bf71",
      "parents": [
        "c09d87517298fd01543739ba26987645deb4e6a9"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Sun May 06 14:49:50 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:12:54 2007 -0700"
      },
      "message": "Quicklists for page table pages\n\nOn x86_64 this cuts allocation overhead for page table pages down to a\nfraction (kernel compile / editing load.  TSC based measurement of times spend\nin each function):\n\nno quicklist\n\npte_alloc               1569048 4.3s(401ns/2.7us/179.7us)\npmd_alloc                780988 2.1s(337ns/2.7us/86.1us)\npud_alloc                780072 2.2s(424ns/2.8us/300.6us)\npgd_alloc                260022 1s(920ns/4us/263.1us)\n\nquicklist:\n\npte_alloc                452436 573.4ms(8ns/1.3us/121.1us)\npmd_alloc                196204 174.5ms(7ns/889ns/46.1us)\npud_alloc                195688 172.4ms(7ns/881ns/151.3us)\npgd_alloc                 65228 9.8ms(8ns/150ns/6.1us)\n\npgd allocations are the most complex and there we see the most dramatic\nimprovement (may be we can cut down the amount of pgds cached somewhat?).  But\neven the pte allocations still see a doubling of performance.\n\n1. Proven code from the IA64 arch.\n\n\tThe method used here has been fine tuned for years and\n\tis NUMA aware. It is based on the knowledge that accesses\n\tto page table pages are sparse in nature. Taking a page\n\toff the freelists instead of allocating a zeroed pages\n\tallows a reduction of number of cachelines touched\n\tin addition to getting rid of the slab overhead. So\n\tperformance improves. This is particularly useful if pgds\n\tcontain standard mappings. We can save on the teardown\n\tand setup of such a page if we have some on the quicklists.\n\tThis includes avoiding lists operations that are otherwise\n\tnecessary on alloc and free to track pgds.\n\n2. Light weight alternative to use slab to manage page size pages\n\n\tSlab overhead is significant and even page allocator use\n\tis pretty heavy weight. The use of a per cpu quicklist\n\tmeans that we touch only two cachelines for an allocation.\n\tThere is no need to access the page_struct (unless arch code\n\tneeds to fiddle around with it). So the fast past just\n\tmeans bringing in one cacheline at the beginning of the\n\tpage. That same cacheline may then be used to store the\n\tpage table entry. Or a second cacheline may be used\n\tif the page table entry is not in the first cacheline of\n\tthe page. The current code will zero the page which means\n\ttouching 32 cachelines (assuming 128 byte). We get down\n\tfrom 32 to 2 cachelines in the fast path.\n\n3. x86_64 gets lightweight page table page management.\n\n\tThis will allow x86_64 arch code to faster repopulate pgds\n\tand other page table entries. The list operations for pgds\n\tare reduced in the same way as for i386 to the point where\n\ta pgd is allocated from the page allocator and when it is\n\tfreed back to the page allocator. A pgd can pass through\n\tthe quicklists without having to be reinitialized.\n\n64 Consolidation of code from multiple arches\n\n\tSo far arches have their own implementation of quicklist\n\tmanagement. This patch moves that feature into the core allowing\n\tan easier maintenance and consistent management of quicklists.\n\nPage table pages have the characteristics that they are typically zero or in a\nknown state when they are freed.  This is usually the exactly same state as\nneeded after allocation.  So it makes sense to build a list of freed page\ntable pages and then consume the pages already in use first.  Those pages have\nalready been initialized correctly (thus no need to zero them) and are likely\nalready cached in such a way that the MMU can use them most effectively.  Page\ntable pages are used in a sparse way so zeroing them on allocation is not too\nuseful.\n\nSuch an implementation already exits for ia64.  Howver, that implementation\ndid not support constructors and destructors as needed by i386 / x86_64.  It\nalso only supported a single quicklist.  The implementation here has\nconstructor and destructor support as well as the ability for an arch to\nspecify how many quicklists are needed.\n\nQuicklists are defined by an arch defining CONFIG_QUICKLIST.  If more than one\nquicklist is necessary then we can define NR_QUICK for additional lists.  F.e.\n i386 needs two and thus has\n\nconfig NR_QUICK\n\tint\n\tdefault 2\n\nIf an arch has requested quicklist support then pages can be allocated\nfrom the quicklist (or from the page allocator if the quicklist is\nempty) via:\n\nquicklist_alloc(\u003cquicklist-nr\u003e, \u003cgfpflags\u003e, \u003cconstructor\u003e)\n\nPage table pages can be freed using:\n\nquicklist_free(\u003cquicklist-nr\u003e, \u003cdestructor\u003e, \u003cpage\u003e)\n\nPages must have a definite state after allocation and before\nthey are freed. If no constructor is specified then pages\nwill be zeroed on allocation and must be zeroed before they are\nfreed.\n\nIf a constructor is used then the constructor will establish\na definite page state. F.e. the i386 and x86_64 pgd constructors\nestablish certain mappings.\n\nConstructors and destructors can also be used to track the pages.\ni386 and x86_64 use a list of pgds in order to be able to dynamically\nupdate standard mappings.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nCc: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nCc: 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": "70d71228af9360cc4a0198ecd6351a1b34fa6d01",
      "tree": "ad85cc79ad684062cbb3cf2e56fafa7d3df65ee1",
      "parents": [
        "2086d26a05a4b5bda4a2f677bc143933bbdfa9f8"
      ],
      "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: remove object activities out of checking functions\n\nMake sure that the check function really only check things and do not perform\nactivities.  Extract the tracing and object seeding out of the two check\nfunctions and place them into slab_alloc and slab_free\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"
    }
  ],
  "next": "2086d26a05a4b5bda4a2f677bc143933bbdfa9f8"
}
