)]}'
{
  "log": [
    {
      "commit": "3e733f071e16bdad13a75eedb102e8941b09927e",
      "tree": "4c3be61c45b6b7a5943b4680a27b42aacf951b00",
      "parents": [
        "97842216b8400fe9d1a20468959e2989180f8f79"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Sun Jul 15 23:41:05 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:47 2007 -0700"
      },
      "message": "dirty_writeback_centisecs_handler() cleanup\n\nRepair indenting bustage.\n\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "54114994f4de7e8076fc250e44501e55e19b75b5",
      "tree": "b0b0c2b5c3cf1c0daa7c6db7911c42dcf912f181",
      "parents": [
        "203a2935c734c054bfd4665fb5d8835498af50a8"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Sun Jul 15 23:40:23 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:45 2007 -0700"
      },
      "message": "fault-injection: add min-order parameter to fail_page_alloc\n\nLimiting smaller allocation failures by fault injection helps to find real\npossible bugs.  Because higher order allocations are likely to fail and\nzero-order allocations are not likely to fail.\n\nThis patch adds min-order parameter to fail_page_alloc.  It specifies the\nminimum page allocation order to be injected failures.\n\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": "17973f5af741f1758ed57c5115ca394c22bee159",
      "tree": "0fd340e46f1fbae4ab7aa8d06b26af208a3e83f4",
      "parents": [
        "1e3e8d91fee56e1ab598b265466dc38033f1b915"
      ],
      "author": {
        "name": "Micah Cowan",
        "email": "micah@cowan.name",
        "time": "Sun Jul 15 23:40:08 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:43 2007 -0700"
      },
      "message": "Only send SIGXFSZ when exceeding rlimits.\n\nSome users have been having problems with utilities like cp or dd dumping\ncore when they try to copy a file that\u0027s too large for the destination\nfilesystem (typically, \u003e 4gb).  Apparently, some defunct standards required\nSIGXFSZ to be sent in such circumstances, but SUS only requires/allows it\nfor when a written file exceeds the process\u0027s resource limits.  I\u0027d like to\nlimit SIGXFSZs to the bare minimum required by SUS.\n\nPatch sent per http://lkml.org/lkml/2007/4/10/302\n\nSigned-off-by: Micah Cowan \u003cmicahcowan@ubuntu.com\u003e\nAcked-by: Alan Cox \u003calan@redhat.com\u003e\nCc: \u003creiserfs-dev@namesys.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f057eac0d7ad967138390a9dd7fd8267e1e39d19",
      "tree": "96e951adb2934ee4495edda09f94c67c02fcf5ab",
      "parents": [
        "693783817a79d8619335e2bf1a33de73cf189864"
      ],
      "author": {
        "name": "Stephen Rothwell",
        "email": "sfr@canb.auug.org.au",
        "time": "Sun Jul 15 23:40:05 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:42 2007 -0700"
      },
      "message": "Introduce CONFIG_VIRT_TO_BUS\n\nMake some offending drivers depend on it and set CONFIG_ARCH_NO_VIRT_TO_BUS\nfor ppc64 so that we don\u0027t build those drivers.\n\nThis gets PowerPC allmodconfig and allyesconfig much closer to building.\n\nSigned-off-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nCc: Al Viro \u003cviro@ftp.linux.org.uk\u003e\nAcked-by: David 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": "57c8f63e8e7a4a95d7fcc49e3953341fb4039899",
      "tree": "cf0bd22654e4aff40c5d11775e949aba558922df",
      "parents": [
        "54a3bdd76e82d7f64e5504409c55b51e48c3a10a"
      ],
      "author": {
        "name": "Greg Ungerer",
        "email": "gerg@snapgear.com",
        "time": "Sun Jul 15 23:38:28 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:37 2007 -0700"
      },
      "message": "nommu: stub expand_stack() for nommu case\n\nBe consistent with VM mmap, implement expand_stack().  We can\u0027t actually do\nanything other than return an error in the no MMU case though.\n\nSigned-off-by: Greg Ungerer \u003cgerg@uclinux.org\u003e\nCc: 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": "0165ab443556bdfad388da6c33d74a71b77d72b2",
      "tree": "c2449128f60ebed846b7d63633ccee3f88949a1c",
      "parents": [
        "c44939ecb6e05aeaaf12d4e1bb046719c97e457e"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Sun Jul 15 23:38:26 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:37 2007 -0700"
      },
      "message": "split mmap\n\nThis is a straightforward split of do_mmap_pgoff() into two functions:\n\n - do_mmap_pgoff() checks the parameters, and calculates the vma\n   flags.  Then it calls\n\n - mmap_region(), which does the actual mapping\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c44939ecb6e05aeaaf12d4e1bb046719c97e457e",
      "tree": "5bf1bc2c4c518fb89271110a0e9fbb43d6f4c413",
      "parents": [
        "5ed44a401ddfc60e11c3484e86f0c8285051139a"
      ],
      "author": {
        "name": "akpm@linux-foundation.org",
        "email": "akpm@linux-foundation.org",
        "time": "Sun Jul 15 23:38:25 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:37 2007 -0700"
      },
      "message": "NeilBrown \u003cneilb@suse.de\u003e\n\nThe do_loop_readv_writev implementation of readv breaks out of the loop as\nsoon as a single read request didn\u0027t fill it\u0027s buffer:\n\n\t\tif (nr !\u003d len)\n\t\t\tbreak;\n\nThe generic_file_aio_read version doesn\u0027t.  So if it hits EOF before the end\nof the list of buffers, it will try again on the next buffer.  If the file was\nextended in the mean time, this will produce a bad result.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5ed44a401ddfc60e11c3484e86f0c8285051139a",
      "tree": "96a44aac2853fc38aac801b3b628fb58adada2fb",
      "parents": [
        "84a01c2f8ea9bf210b961c6301e8e870a46505a6"
      ],
      "author": {
        "name": "Herbert van den Bergh",
        "email": "Herbert.van.den.Bergh@oracle.com",
        "time": "Sun Jul 15 23:38:25 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:37 2007 -0700"
      },
      "message": "do not limit locked memory when RLIMIT_MEMLOCK is RLIM_INFINITY\n\nFix a bug in mm/mlock.c on 32-bit architectures that prevents a user from\nlocking more than 4GB of shared memory, or allocating more than 4GB of\nshared memory in hugepages, when rlim[RLIMIT_MEMLOCK] is set to\nRLIM_INFINITY.\n\nSigned-off-by: Herbert van den Bergh \u003cherbert.van.den.bergh@oracle.com\u003e\nAcked-by: Chris Mason \u003cchris.mason@oracle.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": "84a01c2f8ea9bf210b961c6301e8e870a46505a6",
      "tree": "cf61ff3302d5bfa339f1449bc3302eded09349fd",
      "parents": [
        "5dc4ac6324094cd52dc77ddf88296a94b90bbafc"
      ],
      "author": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Sun Jul 15 23:38:24 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:36 2007 -0700"
      },
      "message": "slob: sparsemem support\n\nCurrently slob is disabled if we\u0027re using sparsemem, due to an earlier\npatch from Goto-san.  Slob and static sparsemem work without any trouble as\nit is, and the only hiccup is a missing slab_is_available() in the case of\nsparsemem extreme.  With this, we\u0027re rid of the last set of restrictions\nfor slob usage.\n\nSigned-off-by: Paul Mundt \u003clethal@linux-sh.org\u003e\nAcked-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nAcked-by: Matt Mackall \u003cmpm@selenic.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": "b49ad484c54116862d717ffafcab1c9a46600b48",
      "tree": "d081db8e0026022d13cc08a6c594c9471c74e1d4",
      "parents": [
        "6193a2ff180920f84ee06977165ebf32431fc2d2"
      ],
      "author": {
        "name": "Dan Aloni",
        "email": "da-x@monatomic.org",
        "time": "Sun Jul 15 23:38:23 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:36 2007 -0700"
      },
      "message": "mm/page_alloc.c: lower printk severity\n\nSigned-off-by: Dan Aloni \u003cda-x@monatomic.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6193a2ff180920f84ee06977165ebf32431fc2d2",
      "tree": "d3c6423c50463ea741080a58a2e654cf103431f3",
      "parents": [
        "f7977793240d836e60ff413e94e6914f08e10941"
      ],
      "author": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Sun Jul 15 23:38:22 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:36 2007 -0700"
      },
      "message": "slob: initial NUMA support\n\nThis adds preliminary NUMA support to SLOB, primarily aimed at systems with\nsmall nodes (tested all the way down to a 128kB SRAM block), whether\nasymmetric or otherwise.\n\nWe follow the same conventions as SLAB/SLUB, preferring current node\nplacement for new pages, or with explicit placement, if a node has been\nspecified.  Presently on UP NUMA this has the side-effect of preferring\nnode#0 allocations (since numa_node_id() \u003d\u003d 0, though this could be\nreworked if we could hand off a pfn to determine node placement), so\nsingle-CPU NUMA systems will want to place smaller nodes further out in\nterms of node id.  Once a page has been bound to a node (via explicit node\nid typing), we only do block allocations from partial free pages that have\na matching node id in the page flags.\n\nThe current implementation does have some scalability problems, in that all\npartial free pages are tracked in the global freelist (with contention due\nto the single spinlock).  However, these are things that are being reworked\nfor SMP scalability first, while things like per-node freelists can easily\nbe built on top of this sort of functionality once it\u0027s been added.\n\nMore background can be found in:\n\n\thttp://marc.info/?l\u003dlinux-mm\u0026m\u003d118117916022379\u0026w\u003d2\n\thttp://marc.info/?l\u003dlinux-mm\u0026m\u003d118170446306199\u0026w\u003d2\n\thttp://marc.info/?l\u003dlinux-mm\u0026m\u003d118187859420048\u0026w\u003d2\n\nand subsequent threads.\n\nAcked-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nAcked-by: Matt Mackall \u003cmpm@selenic.com\u003e\nSigned-off-by: Paul Mundt \u003clethal@linux-sh.org\u003e\nAcked-by: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f7977793240d836e60ff413e94e6914f08e10941",
      "tree": "75955844a77b70c02aa44982d27ca17ceb702cf3",
      "parents": [
        "897e679b17460b52752a038af29db356fe1bd759"
      ],
      "author": {
        "name": "Jason Baron",
        "email": "jbaron@redhat.com",
        "time": "Sun Jul 15 23:38:21 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:36 2007 -0700"
      },
      "message": "speed up madvise_need_mmap_write() usage\n\nIn the new madvise_need_mmap_write() call we can avoid an extra case\nstatement and function call as follows.\n\nSigned-off-by: Jason Baron \u003cjbaron@redhat.com\u003e\nCc: Nishanth Aravamudan \u003cnacc@us.ibm.com\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "897e679b17460b52752a038af29db356fe1bd759",
      "tree": "9b921ff267dabfbc662e4d245e6bc86a52a6f5ce",
      "parents": [
        "6ea6e6887dad1fd44e6d5020a0fd355af4f2b6b3"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Sun Jul 15 23:38:20 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:36 2007 -0700"
      },
      "message": "mm/slab.c: start_cpu_timer() should be __cpuinit\n\nstart_cpu_timer() should be __cpuinit (which also matches what it\u0027s\ncallers are).\n\n__devinit didn\u0027t cause problems, it simply wasted a few bytes of memory\nfor the common CONFIG_HOTPLUG_CPU\u003dn case.\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6ea6e6887dad1fd44e6d5020a0fd355af4f2b6b3",
      "tree": "184e6c217acd1013b60f439bb7cb8b400525ca43",
      "parents": [
        "8f0accc8627043702e6ea2bb8b9aa3a171ef8393"
      ],
      "author": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Sun Jul 15 23:38:20 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:36 2007 -0700"
      },
      "message": "mm: more __meminit annotations\n\nCurrently zone_spanned_pages_in_node() and zone_absent_pages_in_node() are\nnon-static for ARCH_POPULATES_NODE_MAP and static otherwise.  However, only\nthe non-static versions are __meminit annotated, despite only being called\nfrom __meminit functions in either case.\n\nzone_init_free_lists() is currently non-static and not __meminit annotated\neither, despite only being called once in the entire tree by\ninit_currently_empty_zone(), which too is __meminit.  So make it static and\nproperly annotated.\n\nSigned-off-by: Paul Mundt \u003clethal@linux-sh.org\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": "8f0accc8627043702e6ea2bb8b9aa3a171ef8393",
      "tree": "94aaf1cdf099c7e875231b1d9575727b8e14f7f2",
      "parents": [
        "45e98cdb6d365b34b7a2d849e4d8bdc264d8e6e4"
      ],
      "author": {
        "name": "Jan Beulich",
        "email": "jbeulich@novell.com",
        "time": "Sun Jul 15 23:38:19 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:36 2007 -0700"
      },
      "message": "kill vmalloc_earlyreserve\n\nThis symbol got orphaned quite a while ago.\n\nSigned-off-by: Jan Beulich \u003cjbeulich@novell.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "98011f569e2ae1e4ae394f6e23faa16676d50de4",
      "tree": "6cde069a3fd943c36d4029b21d8b7ad4c24811f6",
      "parents": [
        "140d5a49046b6d73dce4a4229e88c000a99ee126"
      ],
      "author": {
        "name": "Jan Beulich",
        "email": "jbeulich@novell.com",
        "time": "Sun Jul 15 23:38:17 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:36 2007 -0700"
      },
      "message": "mm: fix improper .init-type section references\n\n.. which modpost started warning about.\n\nSigned-off-by: Jan Beulich \u003cjbeulich@novell.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "140d5a49046b6d73dce4a4229e88c000a99ee126",
      "tree": "64dcfe28ef6f5ccee5a2722e5c332c66ded29e28",
      "parents": [
        "462e00cc7151ed91fba688594436c453c80efb5d"
      ],
      "author": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Sun Jul 15 23:38:16 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:36 2007 -0700"
      },
      "message": "numa: mempolicy: trivial debug fixes.\n\nEnabling debugging fails to build due to the nodemask variable in\ndo_mbind() having changed names, and then oopses on boot due to the\nassumption that the nodemask can be dereferenced -- which doesn\u0027t work out\nso well when the policy is changed to MPOL_DEFAULT with a NULL nodemask by\nnuma_default_policy().\n\nThis fixes it up, and switches from PDprintk() to pr_debug() while\nwe\u0027re at it.\n\nSigned-off-by: Paul Mundt \u003clethal@linux-sh.org\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": "462e00cc7151ed91fba688594436c453c80efb5d",
      "tree": "bf648899ba65f9eb000e9c8163a61c1cb1be9bfe",
      "parents": [
        "b71636e29823c0602d908a2a62e94c9b57a97491"
      ],
      "author": {
        "name": "Ethan Solomita",
        "email": "solo@google.com",
        "time": "Sun Jul 15 23:38:16 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:36 2007 -0700"
      },
      "message": "oom: stop allocating user memory if TIF_MEMDIE is set\n\nget_user_pages() can try to allocate a nearly unlimited amount of memory on\nbehalf of a user process, even if that process has been OOM killed.  The\nOOM kill occurs upon return to user space via a SIGKILL, but\nget_user_pages() will try allocate all its memory before returning.  Change\nget_user_pages() to check for TIF_MEMDIE, and if set then return\nimmediately.\n\nSigned-off-by: Ethan Solomita \u003csolo@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": "b71636e29823c0602d908a2a62e94c9b57a97491",
      "tree": "d69a20eec2cc05bcd9b0dac2b9d4ccd9bad39e09",
      "parents": [
        "f0630fff54a239efbbd89faf6a62da071ef1ff78"
      ],
      "author": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Sun Jul 15 23:38:15 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:36 2007 -0700"
      },
      "message": "numa: mempolicy: dynamic interleave map for system init\n\nThis converts the default system init memory policy to use a dynamically\ncreated node map instead of defaulting to all online nodes.  Nodes of a\ncertain size (\u003e\u003d 16MB) are judged to be suitable for interleave, and are added\nto the map.  If all nodes are smaller in size, the largest one is\nautomatically selected.\n\nWithout this, tiny nodes find themselves out of memory before we even make it\nto userspace.  Systems with large nodes will notice no change.\n\nOnly the system init policy is effected by this change, the regular\nMPOL_DEFAULT policy is still switched to later on in the boot process as\nnormal.\n\nSigned-off-by: Paul Mundt \u003clethal@linux-sh.org\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nCc: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f0630fff54a239efbbd89faf6a62da071ef1ff78",
      "tree": "4004adc3adf4dbe1a6188ca0bbd56f7606d4d05f",
      "parents": [
        "fc9a07e7bf1a76e710f5df017abb07628db1781d"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Sun Jul 15 23:38:14 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:36 2007 -0700"
      },
      "message": "SLUB: support slub_debug on by default\n\nAdd a new configuration variable\n\nCONFIG_SLUB_DEBUG_ON\n\nIf set then the kernel will be booted by default with slab debugging\nswitched on. Similar to CONFIG_SLAB_DEBUG. By default slab debugging\nis available but must be enabled by specifying \"slub_debug\" as a\nkernel parameter.\n\nAlso add support to switch off slab debugging for a kernel that was\nbuilt with CONFIG_SLUB_DEBUG_ON. This works by specifying\n\nslub_debug\u003d-\n\nas a kernel parameter.\n\nDave Jones wanted this feature.\nhttp://marc.info/?l\u003dlinux-kernel\u0026m\u003d118072189913045\u0026w\u003d2\n\n[akpm@linux-foundation.org: clean up switch statement]\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "fc9a07e7bf1a76e710f5df017abb07628db1781d",
      "tree": "bf2a288f97cbf9cfd82a4306a7d9c615abc7c887",
      "parents": [
        "45426812d6b601430d560cb6049757b5b0bc71c4"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Sun Jul 15 23:38:14 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:36 2007 -0700"
      },
      "message": "invalidate_mapping_pages(): add cond_resched\n\ninvalidate_mapping_pages() can sometimes take a long time (millions of pages\nto free).  Long enough for the softlockup detector to trigger.\n\nWe used to have a cond_resched() in there but I took it out because the\ndrop_caches code calls invalidate_mapping_pages() under inode_lock.\n\nThe patch adds a nasty flag and puts the cond_resched() back.\n\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "45426812d6b601430d560cb6049757b5b0bc71c4",
      "tree": "64c8439a53f4ca402a9d7deb2a455aa0de08c8ea",
      "parents": [
        "f96efd585b8d847181f81bf16721f96ded18d9fe"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Sun Jul 15 23:38:12 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:35 2007 -0700"
      },
      "message": "mm: debug check for the fault vs invalidate race\n\nAdd a bugcheck for Andrea\u0027s pagefault vs invalidate race.  This is triggerable\nfor both linear and nonlinear pages with a userspace test harness (using\ndirect IO and truncate, respectively).\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f96efd585b8d847181f81bf16721f96ded18d9fe",
      "tree": "10821321b4f501e3126606ef2b54eb356ec8ef77",
      "parents": [
        "2706a1b89b1a3e7434a668d4a9d15f616da96685"
      ],
      "author": {
        "name": "Joe Jin",
        "email": "joe.jin@oracle.com",
        "time": "Sun Jul 15 23:38:12 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:35 2007 -0700"
      },
      "message": "hugetlb: fix race in alloc_fresh_huge_page()\n\nThat static `nid\u0027 index needs locking.  Without it we can end up calling\nalloc_pages_node() with an illegal node ID and the kernel crashes.\n\nAcked-by: gurudas pai \u003cgurudas.pai@oracle.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": "2706a1b89b1a3e7434a668d4a9d15f616da96685",
      "tree": "6b8d8b8d24811c7f8b4593e0b600533f9d5329f6",
      "parents": [
        "553948491c18413928b85a9025b92af80e7d61d6"
      ],
      "author": {
        "name": "Anderson Briglia",
        "email": "briglia.anderson@gmail.com",
        "time": "Sun Jul 15 23:38:09 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:35 2007 -0700"
      },
      "message": "vmscan: fix comments related to shrink_list()\n\nFix the shrink_list name on some files under mm/ directory.\n\nSigned-off-by: Anderson Briglia \u003canderson.briglia@indt.org.br\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "553948491c18413928b85a9025b92af80e7d61d6",
      "tree": "fcb6adcb743533c7d6818bbd13511062f6fda737",
      "parents": [
        "d87a133fc21d842e3cc285e6bbff727181abec81"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Sun Jul 15 23:38:09 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:35 2007 -0700"
      },
      "message": "slob: improved alignment handling\n\nRemove the core slob allocator\u0027s minimum alignment restrictions, and instead\nintroduce the alignment restrictions at the slab API layer.  This lets us heed\nthe ARCH_KMALLOC/SLAB_MINALIGN directives, and also use __alignof__ (unsigned\nlong) for the default alignment (which should allow relaxed alignment\narchitectures to take better advantage of SLOB\u0027s small minimum alignment).\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": "d87a133fc21d842e3cc285e6bbff727181abec81",
      "tree": "1f89a5dab95c7813eca37039a94e39c73a797cdc",
      "parents": [
        "95b35127f13661abb0dc3459042cdb417d21e692"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Sun Jul 15 23:38:08 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:35 2007 -0700"
      },
      "message": "slob: remove bigblock tracking\n\nRemove the bigblock lists in favour of using compound pages and going directly\nto the page allocator.  Allocation size is stored in page-\u003eprivate, which also\nmakes ksize more accurate than it previously was.\n\nSaves ~.5K of code, and 12-24 bytes overhead per \u003e\u003d PAGE_SIZE allocation.\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": "95b35127f13661abb0dc3459042cdb417d21e692",
      "tree": "d3a8a407cb7a54332edef69ae6077a2f23c5fffc",
      "parents": [
        "698827fa9f45019df1609bb686bc51c94e127fbc"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Sun Jul 15 23:38:07 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:35 2007 -0700"
      },
      "message": "slob: rework freelist handling\n\nImprove slob by turning the freelist into a list of pages using struct page\nfields, then each page has a singly linked freelist of slob blocks via a\npointer in the struct page.\n\n- The first benefit is that the slob freelists can be indexed by a smaller\n  type (2 bytes, if the PAGE_SIZE is reasonable).\n\n- Next is that freeing is much quicker because it does not have to traverse\n  the entire freelist. Allocation can be slightly faster too, because we can\n  skip almost-full freelist pages completely.\n\n- Slob pages are then freed immediately when they become empty, rather than\n  having a periodic timer try to free them. This gives efficiency and memory\n  consumption improvement.\n\nThen, we don\u0027t encode seperate size and next fields into each slob block,\nrather we use the sign bit to distinguish between \"size\" or \"next\". Then\nsize 1 blocks contain a \"next\" offset, and others contain the \"size\" in\nthe first unit and \"next\" in the second unit.\n\n- This allows minimum slob allocation alignment to go from 8 bytes to 2\n  bytes on 32-bit and 12 bytes to 2 bytes on 64-bit. In practice, it is\n  best to align them to word size, however some architectures (eg. cris)\n  could gain space savings from turning off this extra alignment.\n\nThen, make kmalloc use its own slob_block at the front of the allocation\nin order to encode allocation size, rather than rely on not overwriting\nslob\u0027s existing header block.\n\n- This reduces kmalloc allocation overhead similarly to alignment reductions.\n\n- Decouples kmalloc layer from the slob allocator.\n\nThen, add a page flag specific to slob pages.\n\n- This means kfree of a page aligned slob block doesn\u0027t have to traverse\n  the bigblock list.\n\nI would get benchmarks, but my test box\u0027s network doesn\u0027t come up with\nslob before this patch. I think something is timing out. Anyway, things\nare faster after the patch.\n\nCode size goes up about 1K, however dynamic memory usage _should_ be\nlower even on relatively small memory systems.\n\nFuture todo item is to restore the cyclic free list search, rather than\nto always begin at the start.\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": "1037b83bd04e31449dc9323f1e8ddada4264ef66",
      "tree": "aad6be88185e675503847d3cf43a257ceb93d0f9",
      "parents": [
        "b92151bab91ef906378d3e0e7128d55dd641e966"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Sun Jul 15 23:38:05 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:35 2007 -0700"
      },
      "message": "MM: alloc_large_system_hash() can free some memory for non power-of-two bucketsize\n\nalloc_large_system_hash() is called at boot time to allocate space for\nseveral large hash tables.\n\nLately, TCP hash table was changed and its bucketsize is not a power-of-two\nanymore.\n\nOn most setups, alloc_large_system_hash() allocates one big page (order \u003e\n0) with __get_free_pages(GFP_ATOMIC, order).  This single high_order page\nhas a power-of-two size, bigger than the needed size.\n\nWe can free all pages that wont be used by the hash table.\n\nOn a 1GB i386 machine, this patch saves 128 KB of LOWMEM memory.\n\nTCP established hash table entries: 32768 (order: 6, 393216 bytes)\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b92151bab91ef906378d3e0e7128d55dd641e966",
      "tree": "81f96a5976bcc749c42a9ae293e16667ea2d9afe",
      "parents": [
        "68e116a3b57d09b220fe38712bebd956b6dbbbc6"
      ],
      "author": {
        "name": "Pavel Emelianov",
        "email": "xemul@sw.ru",
        "time": "Sun Jul 15 23:38:04 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:35 2007 -0700"
      },
      "message": "Make /proc/slabinfo use seq_list_xxx helpers\n\nThis entry prints a header in .start callback.  This is OK, but the more\nelegant solution would be to move this into the .show callback and use\nseq_list_start_head() in .start one.\n\nI have left it as is in order to make the patch just switch to new API and\nnoting more.\n\n[adobriyan@sw.ru: Wrong pointer was used as kmem_cache pointer]\nSigned-off-by: Pavel Emelianov \u003cxemul@openvz.org\u003e\nCc: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@sw.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "68e116a3b57d09b220fe38712bebd956b6dbbbc6",
      "tree": "a60f42f4b34b0a6d9544441c808f0dc4c67312a7",
      "parents": [
        "31a5c6e4f25704f51f9a1373f0784034306d4cf1"
      ],
      "author": {
        "name": "Rolf Eike Beer",
        "email": "eike-kernel@sf-tec.de",
        "time": "Sun Jul 15 23:38:03 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:35 2007 -0700"
      },
      "message": "MM: use DIV_ROUND_UP() in mm/memory.c\n\nReplace a hand coded version of DIV_ROUND_UP().\n\nSigned-off-by: Rolf Eike Beer \u003ceike-kernel@sf-tec.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "31a5c6e4f25704f51f9a1373f0784034306d4cf1",
      "tree": "873acb320c44558e831724088695d13110e1f093",
      "parents": [
        "f0c0b2b808f232741eadac272bd4bc51f18df0f4"
      ],
      "author": {
        "name": "Nishanth Aravamudan",
        "email": "nacc@us.ibm.com",
        "time": "Sun Jul 15 23:38:02 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:35 2007 -0700"
      },
      "message": "hugetlb: remove unnecessary nid initialization\n\nnid is initialized to numa_node_id() but will either be overwritten in\nthe loop or not used in the conditional. So remove the initialization.\n\nSigned-off-by: Nishanth Aravamudan \u003cnacc@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f0c0b2b808f232741eadac272bd4bc51f18df0f4",
      "tree": "c2568efdc496cc165a4e72d8aa2542b22035e342",
      "parents": [
        "18a8bd949d6adb311ea816125ff65050df1f3f6e"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Sun Jul 15 23:38:01 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:35 2007 -0700"
      },
      "message": "change zonelist order: zonelist order selection logic\n\nMake zonelist creation policy selectable from sysctl/boot option v6.\n\nThis patch makes NUMA\u0027s zonelist (of pgdat) order selectable.\nAvailable order are Default(automatic)/ Node-based / Zone-based.\n\n[Default Order]\nThe kernel selects Node-based or Zone-based order automatically.\n\n[Node-based Order]\nThis policy treats the locality of memory as the most important parameter.\nZonelist order is created by each zone\u0027s locality. This means lower zones\n(ex. ZONE_DMA) can be used before higher zone (ex. ZONE_NORMAL) exhausion.\nIOW. ZONE_DMA will be in the middle of zonelist.\ncurrent 2.6.21 kernel uses this.\n\nPros.\n * A user can expect local memory as much as possible.\nCons.\n * lower zone will be exhansted before higher zone. This may cause OOM_KILL.\n\nMaybe suitable if ZONE_DMA is relatively big and you never see OOM_KILL\nbecause of ZONE_DMA exhaution and you need the best locality.\n\n(example)\nassume 2 node NUMA. node(0) has ZONE_DMA/ZONE_NORMAL, node(1) has ZONE_NORMAL.\n\n*node(0)\u0027s memory allocation order:\n\n node(0)\u0027s NORMAL -\u003e node(0)\u0027s DMA -\u003e node(1)\u0027s NORMAL.\n\n*node(1)\u0027s memory allocation order:\n\n node(1)\u0027s NORMAL -\u003e node(0)\u0027s NORMAL -\u003e node(0)\u0027s DMA.\n\n[Zone-based order]\nThis policy treats the zone type as the most important parameter.\nZonelist order is created by zone-type order. This means lower zone\nnever be used bofere higher zone exhaustion.\nIOW. ZONE_DMA will be always at the tail of zonelist.\n\nPros.\n * OOM_KILL(bacause of lower zone) occurs only if the whole zones are exhausted.\nCons.\n * memory locality may not be best.\n\n(example)\nassume 2 node NUMA. node(0) has ZONE_DMA/ZONE_NORMAL, node(1) has ZONE_NORMAL.\n\n*node(0)\u0027s memory allocation order:\n\n node(0)\u0027s NORMAL -\u003e node(1)\u0027s NORMAL -\u003e node(0)\u0027s DMA.\n\n*node(1)\u0027s memory allocation order:\n\n node(1)\u0027s NORMAL -\u003e node(0)\u0027s NORMAL -\u003e node(0)\u0027s DMA.\n\nbootoption \"numa_zonelist_order\u003d\" and proc/sysctl is supporetd.\n\ncommand:\n%echo N \u003e /proc/sys/vm/numa_zonelist_order\n\nWill rebuild zonelist in Node-based order.\n\ncommand:\n%echo Z \u003e /proc/sys/vm/numa_zonelist_order\n\nWill rebuild zonelist in Zone-based order.\n\nThanks to Lee Schermerhorn, he gives me much help and codes.\n\n[Lee.Schermerhorn@hp.com: add check_highest_zone to build_zonelists_in_zone_order]\n[akpm@linux-foundation.org: build fix]\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nCc: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nCc: \"jesse.barnes@intel.com\" \u003cjesse.barnes@intel.com\u003e\nSigned-off-by: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ed0321895182ffb6ecf210e066d87911b270d587",
      "tree": "832bb54666f73b06e55322df40f915c5e9ef64d7",
      "parents": [
        "13bddc2e9d591e31bf20020dc19ea6ca85de420e"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Thu Jun 28 15:55:21 2007 -0400"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Wed Jul 11 22:52:29 2007 -0400"
      },
      "message": "security: Protection for exploiting null dereference using mmap\n\nAdd a new security check on mmap operations to see if the user is attempting\nto mmap to low area of the address space.  The amount of space protected is\nindicated by the new proc tunable /proc/sys/vm/mmap_min_addr and defaults to\n0, preserving existing behavior.\n\nThis patch uses a new SELinux security class \"memprotect.\"  Policy already\ncontains a number of allow rules like a_t self:process * (unconfined_t being\none of them) which mean that putting this check in the process class (its\nbest current fit) would make it useless as all user processes, which we also\nwant to protect against, would be allowed. By taking the memprotect name of\nthe new class it will also make it possible for us to move some of the other\nmemory protect permissions out of \u0027process\u0027 and into the new class next time\nwe bump the policy version number (which I also think is a good future idea)\n\nAcked-by: Stephen Smalley \u003csds@tycho.nsa.gov\u003e\nAcked-by: Chris Wright \u003cchrisw@sous-sol.org\u003e\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "d054fe3d10cc1f9aec01378c38caa32dffdd0090",
      "tree": "3c54ddbac87b25eb44526cf2ad4303f21dbe3cdd",
      "parents": [
        "932cc6d4f7c35bbf70bce8cc865b6033ff49c9c0"
      ],
      "author": {
        "name": "Carsten Otte",
        "email": "cotte@de.ibm.com",
        "time": "Fri Jun 15 08:16:22 2007 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Jul 10 08:04:15 2007 +0200"
      },
      "message": "xip sendfile removal\n\nThis patch removes xip_file_sendfile, the sendfile implementation for\nxip without replacement. Those customers that use xip on s390 are not\nusing sendfile() as far as we know, and so far s390 is the only platform\nthis could potentially be used on so far.\nHaving sendfile is not a popular feature for execute in place file\nsystems, however we have a working implementation of splice_read() based\non fs/splice.c if anyone asks for it.\nAt this point in time, it does not seem preferable to merge\nsplice_read() for xip because it causes extra maintenence effort due to\ncode duplication and it requires struct page behind the xip memory\nsegment. We\u0027d like to get rid of that in favor of supporting flash based\nembedded platforms (Monta Vista work) soon.\n\nSigned-off-by: Carsten Otte \u003ccotte@de.ibm.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "ae976416464b741913a13eea62eb6953ee065733",
      "tree": "48ac14023b494c9f6522ad390f60e4decac41ac3",
      "parents": [
        "1db60cf2056511c7c8cebcbaee308ef6c79b4728"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Mon Jun 04 10:00:39 2007 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Jul 10 08:04:15 2007 +0200"
      },
      "message": "shmem: convert to using splice instead of sendfile()\n\nRemove shmem_file_sendfile and resurrect shmem_readpage, as used by tmpfs\nto support loop and sendfile in 2.4 and 2.5.  Now tmpfs can support splice,\nloop and sendfile in the simplest way, using generic_file_splice_read and\ngeneric_file_splice_write (with the aid of shmem_prepare_write).\n\nWe could make some efficiency tweaks later, if there\u0027s a real need;\nbut this is stable and works well as is.\n\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "0452a4e5d021900b07ebdeecb9ed03b49f164f3f",
      "tree": "c03b50882723102bf51fade26f6a24d9dd0a182e",
      "parents": [
        "5ffc4ef45b3b0a57872f631b4e4ceb8ace0d7496"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Jun 01 11:55:49 2007 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Jul 10 08:04:14 2007 +0200"
      },
      "message": "sendfile: kill generic_file_sendfile()\n\nIt\u0027s no longer used.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "4e99325b462ba18075768582621af74a6b79d2a5",
      "tree": "c10d5cca6c42dda86faa3881e406475d8d645764",
      "parents": [
        "95511ad4342cd094e62c807f6631b9a19cc6b129"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "peterz@infradead.org",
        "time": "Sun Jul 08 01:13:06 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Jul 08 10:13:21 2007 -0700"
      },
      "message": "mm: double mark_page_accessed() in read_cache_page_async()\n\nFix a post-2.6.21 regression.\n\nread_cache_page_async() has two invocations of mark_page_accessed() which will\nlaunch pages right onto the active list.\n\nRemove the first one, keeping the latter one.  This avoids marking unwanted\npages active (in the retry loop).\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d23cf676d0e9d1fdc066d2dcb7f8bc0e2d4c75bd",
      "tree": "6a497007f978d7c2993c0c8de1e2e01d0ad6f821",
      "parents": [
        "c3000e031cf6a1f58228357d7c317f66e670627f"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Fri Jul 06 11:17:32 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Jul 06 11:45:11 2007 -0700"
      },
      "message": "slub: remove useless EXPORT_SYMBOL\n\nkmem_cache_open is static. EXPORT_SYMBOL was leftover from some earlier\ntime period where kmem_cache_open was usable outside of slub.\n\n(Fixes powerpc build error)\n\nSigned-off-by: Chrsitoph Lameter \u003cclameter@sgi.com\u003e\nCc: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "23c1fb52961bc24bd3a8078eefc49eed533b2b38",
      "tree": "48500a3495dbbf623751bc3b9e884dd25e3c86c3",
      "parents": [
        "0da2f0f164f098bb4447c714b552ac1681b2d6e8"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "peterz@infradead.org",
        "time": "Fri Jul 06 13:35:34 2007 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Jul 06 10:26:50 2007 -0700"
      },
      "message": "mm: fixup /proc/vmstat output\n\nLine up the vmstat_text with zone_stat_item\n\nenum zone_stat_item {\n\t/* First 128 byte cacheline (assuming 64 bit words) */\n\tNR_FREE_PAGES,\n\tNR_INACTIVE,\n\tNR_ACTIVE,\n\nWe current have nr_active and nr_inactive reversed.\n\n[ \"OK with patch, though using initializers canbe handy to prevent such\n   things in future:\n\n\tstatic const char * const vmstat_text[] \u003d {\n\t\t[NR_FREE_PAGES] \u003d \"nr_free_pages\",\n\t\t...\"\n\t\t\t\t\t\t\t - Alexey ]\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "87a927c715789853cc8331d76039a2fd657a832a",
      "tree": "c185e20386fd3ec8679d3d52bae822d9963df5da",
      "parents": [
        "2bcb1b7de9eeea969a25d5f2b4511195cca9f2a2"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Wed Jul 04 21:26:44 2007 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 05 15:54:13 2007 -0700"
      },
      "message": "Fix slab redzone alignment\n\nCommit b46b8f19c9cd435ecac4d9d12b39d78c137ecd66 fixed a couple of bugs\nby switching the redzone to 64 bits. Unfortunately, it neglected to\nensure that the _second_ redzone, after the slab object, is aligned\ncorrectly. This caused illegal instruction faults on sparc32, which for\nsome reason not entirely clear to me are not trapped and fixed up.\n\nTwo things need to be done to fix this:\n  - increase the object size, rounding up to alignof(long long) so\n    that the second redzone can be aligned correctly.\n  - If SLAB_STORE_USER is set but alignof(long long)\u003d\u003d8, allow a\n    full 64 bits of space for the user word at the end of the buffer,\n    even though we may not _use_ the whole 64 bits.\n\nThis patch should be a no-op on any 64-bit architecture or any 32-bit\narchitecture where alignof(long long) \u003d\u003d 4. Of the others, it\u0027s tested\non ppc32 by myself and a very similar patch was tested on sparc32 by\nMark Fortescue, who reported the new problem.\n\nAlso, fix the conditions for FORCED_DEBUG, which hadn\u0027t been adjusted to\nthe new sizes. Again noticed by Mark.\n\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "dbc55faa64c12f4c9fab6e2bd131d771bc026ed1",
      "tree": "b43ca5aa30dbfb9ab920db07039f8c76996fd17a",
      "parents": [
        "746976a301ac9c9aa10d7d42454f8d6cdad8ff2b"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Tue Jul 03 09:31:04 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 03 13:56:13 2007 -0700"
      },
      "message": "SLUB: Make lockdep happy by not calling add_partial with interrupts enabled during bootstrap\n\nIf we move the local_irq_enable() to the end of the function then\nadd_partial() in early_kmem_cache_node_alloc() will be called\nwith interrupts disabled like during regular operations.\n\nThis makes lockdep happy.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nTested-by: Andre Noll \u003cmaan@systemlinux.org\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "17022220dd70378b2f17fa9b0248f15067d88c58",
      "tree": "52a290cde0e3c6719df83d20ca02af4dbabfbbd6",
      "parents": [
        "0f4915b9c5d7a35da11bfcff80ae6466cb7b9fc4"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Sun Jul 01 12:06:35 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Jul 01 12:29:43 2007 -0700"
      },
      "message": "SLAB: remove WARN_ON_ONCE for zero sized objects for 2.6.22 release\n\nWe agreed to remove the WARN_ON_ONCE before 2.6.22 is released.\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": "30acbabae38793c9c9acace4de5b1c1889570768",
      "tree": "c9c1741f04382803475c113865deed065e1ca0cf",
      "parents": [
        "172d0496cd22c98ee2e4238821fa309c01685f3a"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Wed Jun 27 14:09:53 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jun 28 11:34:53 2007 -0700"
      },
      "message": "mm: kill validate_anon_vma to avoid mapcount BUG\n\nvalidate_anon_vma gave a useful check on the integrity of the anon_vma list\nwhen Andrea was developing obj rmap; but it was not enabled in SLES9\nitself, nor in mainline, until Nick changed commented-out RMAP_DEBUG to\nconfigurable CONFIG_DEBUG_VM in 2.6.17.  Now Petr Vandrovec reports that\nits BUG_ON(mapcount \u003e 100000) can easily crash a CONFIG_DEBUG_VM\u003dy system.\n\nThat limit was just an arbitrary number to protect against an infinite\nloop.  We could raise it to something enormous (depending on sizeof struct\nvma and size of memory?); but I rather think validate_anon_vma has outlived\nits usefulness, and is better just removed - which gives a magnificent\nperformance boost to anything like Petr\u0027s test program ;)\n\nOf course, a very long anon_vma list is bad news for preemption latency,\nand I believe there has been one recent report of such: let\u0027s not forget\nthat, but validate_anon_vma only makes it worse not better.\n\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: Petr Vandrovec \u003cpetr@vmware.com\u003e\nAcked-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: Andrea Arcangeli \u003candrea@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": "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"
    }
  ],
  "next": "41ecc55b8a8ca618e6d490982c7ce45d230d4399"
}
