)]}'
{
  "log": [
    {
      "commit": "c0ff7453bb5c7c98e0885fb94279f2571946f280",
      "tree": "8bb2b169a5145f0496575dbd2f48bb4b1c83f819",
      "parents": [
        "708c1bbc9d0c3e57f40501794d9b0eed29d10fce"
      ],
      "author": {
        "name": "Miao Xie",
        "email": "miaox@cn.fujitsu.com",
        "time": "Mon May 24 14:32:08 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 25 08:06:57 2010 -0700"
      },
      "message": "cpuset,mm: fix no node to alloc memory when changing cpuset\u0027s mems\n\nBefore applying this patch, cpuset updates task-\u003emems_allowed and\nmempolicy by setting all new bits in the nodemask first, and clearing all\nold unallowed bits later.  But in the way, the allocator may find that\nthere is no node to alloc memory.\n\nThe reason is that cpuset rebinds the task\u0027s mempolicy, it cleans the\nnodes which the allocater can alloc pages on, for example:\n\n(mpol: mempolicy)\n\ttask1\t\t\ttask1\u0027s mpol\ttask2\n\talloc page\t\t1\n\t  alloc on node0? NO\t1\n\t\t\t\t1\t\tchange mems from 1 to 0\n\t\t\t\t1\t\trebind task1\u0027s mpol\n\t\t\t\t0-1\t\t  set new bits\n\t\t\t\t0\t  \t  clear disallowed bits\n\t  alloc on node1? NO\t0\n\t  ...\n\tcan\u0027t alloc page\n\t  goto oom\n\nThis patch fixes this problem by expanding the nodes range first(set newly\nallowed bits) and shrink it lazily(clear newly disallowed bits).  So we\nuse a variable to tell the write-side task that read-side task is reading\nnodemask, and the write-side task clears newly disallowed nodes after\nread-side task ends the current memory allocation.\n\n[akpm@linux-foundation.org: fix spello]\nSigned-off-by: Miao Xie \u003cmiaox@cn.fujitsu.com\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nCc: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nCc: Ravikiran Thirumalai \u003ckiran@scalex86.org\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "bb4f6b0cd7524ad7d56709723eaf8a7bf5a87b57",
      "tree": "df58d2c4c1f01f9bf5aa19e6a6d329b872b1f72a",
      "parents": [
        "f4b87dee923342505e1ddba8d34ce9de33e75050",
        "ec49fdbd354cb133340e25ff84d88284bb17e99a",
        "e92dd4fd1aa1cd081dac03973b33c972637d5b7a",
        "5c5e3b33b7cb959a401f823707bee006caadd76e",
        "8f9f8d9e8080a2ff46caa7decef47810d093d252",
        "6b65aaf3027c4e02b42aaefd900aa79136a30681"
      ],
      "author": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Sat May 22 10:57:52 2010 +0300"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Sat May 22 10:57:52 2010 +0300"
      },
      "message": "Merge branches \u0027slab/align\u0027, \u0027slab/cleanups\u0027, \u0027slab/fixes\u0027, \u0027slab/memhotadd\u0027 and \u0027slub/fixes\u0027 into slab-for-linus\n"
    },
    {
      "commit": "6b65aaf3027c4e02b42aaefd900aa79136a30681",
      "tree": "a5a9b5cb55af436f9216729b734c92ee919a66d1",
      "parents": [
        "d3e14aa336b37df76ae875fa051dfdb0e765ddf9"
      ],
      "author": {
        "name": "Minchan Kim",
        "email": "minchan.kim@gmail.com",
        "time": "Wed Apr 14 23:58:36 2010 +0900"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Sat May 22 10:57:31 2010 +0300"
      },
      "message": "slub: Use alloc_pages_exact_node() for page allocation\n\nThe alloc_slab_page() in SLUB uses alloc_pages() if node is \u0027-1\u0027.  This means\nthat node validity check in alloc_pages_node is unnecessary and we can use\nalloc_pages_exact_node() to avoid comparison and branch as commit\n6484eb3e2a81807722 (\"page allocator: do not check NUMA node ID when the caller\nknows the node is valid\") did for the page allocator.\n\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nReviewed-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nReviewed-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nSigned-off-by: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\n"
    },
    {
      "commit": "d3e14aa336b37df76ae875fa051dfdb0e765ddf9",
      "tree": "da3b3e552002d0fc8d85d54b81f0b488b043e230",
      "parents": [
        "bbd7d57bfe852d9788bae5fb171c7edb4021d8ac"
      ],
      "author": {
        "name": "Xiaotian Feng",
        "email": "dfeng@redhat.com",
        "time": "Thu Apr 08 17:26:44 2010 +0800"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Sat May 22 10:57:31 2010 +0300"
      },
      "message": "slub: __kmalloc_node_track_caller should trace kmalloc_large_node case\n\ncommit 94b528d (kmemtrace: SLUB hooks for caller-tracking functions)\nmissed tracing kmalloc_large_node in __kmalloc_node_track_caller. We\nshould trace it same as __kmalloc_node.\n\nAcked-by: David Rientjes \u003crientjes@google.com\u003e\nCc: Matt Mackall \u003cmpm@selenic.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Vegard Nossum \u003cvegard.nossum@gmail.com\u003e\nSigned-off-by: Xiaotian Feng \u003cdfeng@redhat.com\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\n"
    },
    {
      "commit": "bbd7d57bfe852d9788bae5fb171c7edb4021d8ac",
      "tree": "9b16ed244e0bd0b71a1d3d6e662be310f1e8f9c2",
      "parents": [
        "e40152ee1e1c7a63f4777791863215e3faa37a86"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Wed Mar 24 22:25:47 2010 +0100"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Sat May 22 10:57:30 2010 +0300"
      },
      "message": "slub: Potential stack overflow\n\nI discovered that we can overflow stack if CONFIG_SLUB_DEBUG\u003dy and use slabs\nwith many objects, since list_slab_objects() and process_slab() use\nDECLARE_BITMAP(map, page-\u003eobjects).\n\nWith 65535 bits, we use 8192 bytes of stack ...\n\nSwitch these allocations to dynamic allocations.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\n"
    },
    {
      "commit": "4581ced379736fd76432c754f999d26deb83fbb7",
      "tree": "b3c29e714fffb4e7e14b9affe458de316bb4eacd",
      "parents": [
        "bac49ce42a33f53beb7cf04e9a0600879d6265ca"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Wed May 19 12:02:14 2010 +0100"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Wed May 19 22:03:13 2010 +0300"
      },
      "message": "mm: Move ARCH_SLAB_MINALIGN and ARCH_KMALLOC_MINALIGN to \u003clinux/slub_def.h\u003e\n\nAcked-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\n"
    },
    {
      "commit": "111c7d82436db4c7673922b6ba021cebb7d26dd8",
      "tree": "e0faa1eb3793b27fa5a05b8e0b1311f83f16e5f6",
      "parents": [
        "8777c793d6a24c7f3adf52b1b1086e9706de4589"
      ],
      "author": {
        "name": "Zhang, Yanmin",
        "email": "yanmin_zhang@linux.intel.com",
        "time": "Thu Apr 01 17:32:30 2010 +0800"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Wed May 05 21:12:19 2010 +0300"
      },
      "message": "slub: Fix bad boundary check in init_kmem_cache_nodes()\n\nFunction init_kmem_cache_nodes is incorrect when checking upper limitation of\nkmalloc_caches. The breakage was introduced by commit\n91efd773c74bb26b5409c85ad755d536448e229c (\"dma kmalloc handling fixes\").\n\nAcked-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\n"
    },
    {
      "commit": "d3e06e2b15590b70ea73733fc4612e4741ff46e0",
      "tree": "021d71809197d8a195708ec9b3b114a0aa6eaa9c",
      "parents": [
        "fc1c183353a113c71675fecd0485e5aa0fe68d72"
      ],
      "author": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Wed Apr 07 19:23:41 2010 +0300"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 09 10:09:50 2010 -0700"
      },
      "message": "slub: Fix kmem_ptr_validate() for non-kernel pointers\n\nAs suggested by Linus, fix up kmem_ptr_validate() to handle non-kernel pointers\nmore graciously. The patch changes kmem_ptr_validate() to use the newly\nintroduced kern_ptr_validate() helper to check that a pointer is a valid kernel\npointer before we attempt to convert it into a \u0027struct page\u0027.\n\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Matt Mackall \u003cmpm@selenic.com\u003e\nCc: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nAcked-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nAcked-by: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c32da02342b7521df25fefc2ef20aee0e61cf887",
      "tree": "7e38f664fa3e13602c357d37f77d8adcf82fccc2",
      "parents": [
        "dca1d9f6d7ae428c193f32bd3e9a4ca13176648b",
        "318ae2edc3b29216abd8a2510f3f80b764f06858"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 12 16:04:50 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 12 16:04:50 2010 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (56 commits)\n  doc: fix typo in comment explaining rb_tree usage\n  Remove fs/ntfs/ChangeLog\n  doc: fix console doc typo\n  doc: cpuset: Update the cpuset flag file\n  Fix of spelling in arch/sparc/kernel/leon_kernel.c no longer needed\n  Remove drivers/parport/ChangeLog\n  Remove drivers/char/ChangeLog\n  doc: typo - Table 1-2 should refer to \"status\", not \"statm\"\n  tree-wide: fix typos \"ass?o[sc]iac?te\" -\u003e \"associate\" in comments\n  No need to patch AMD-provided drivers/gpu/drm/radeon/atombios.h\n  devres/irq: Fix devm_irq_match comment\n  Remove reference to kthread_create_on_cpu\n  tree-wide: Assorted spelling fixes\n  tree-wide: fix \u0027lenght\u0027 typo in comments and code\n  drm/kms: fix spelling in error message\n  doc: capitalization and other minor fixes in pnp doc\n  devres: typo fix s/dev/devm/\n  Remove redundant trailing semicolons from macros\n  fix typo \"definetly\" -\u003e \"definitely\" in comment\n  tree-wide: s/widht/width/g typo in comments\n  ...\n\nFix trivial conflict in Documentation/laptops/00-INDEX\n"
    },
    {
      "commit": "318ae2edc3b29216abd8a2510f3f80b764f06858",
      "tree": "ce595adde342f57f379d277b25e4dd206988a052",
      "parents": [
        "25cf84cf377c0aae5dbcf937ea89bc7893db5176",
        "3e58974027b04e84f68b964ef368a6cd758e2f84"
      ],
      "author": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Mon Mar 08 16:55:37 2010 +0100"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Mon Mar 08 16:55:37 2010 +0100"
      },
      "message": "Merge branch \u0027for-next\u0027 into for-linus\n\nConflicts:\n\tDocumentation/filesystems/proc.txt\n\tarch/arm/mach-u300/include/mach/debug-macro.S\n\tdrivers/net/qlge/qlge_ethtool.c\n\tdrivers/net/qlge/qlge_main.c\n\tdrivers/net/typhoon.c\n"
    },
    {
      "commit": "52cf25d0ab7f78eeecc59ac652ed5090f69b619e",
      "tree": "031d1ffb3890bd69c0260c864c512e0be62ac05c",
      "parents": [
        "6c1733aca0b48db4d0e660d54976a1cca25b5eaf"
      ],
      "author": {
        "name": "Emese Revfy",
        "email": "re.emese@gmail.com",
        "time": "Tue Jan 19 02:58:23 2010 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sun Mar 07 17:04:49 2010 -0800"
      },
      "message": "Driver core: Constify struct sysfs_ops in struct kobj_type\n\nConstify struct sysfs_ops.\n\nThis is part of the ops structure constification\neffort started by Arjan van de Ven et al.\n\nBenefits of this constification:\n\n * prevents modification of data that is shared\n   (referenced) by many other structure instances\n   at runtime\n\n * detects/prevents accidental (but not intentional)\n   modification attempts on archs that enforce\n   read-only kernel data at runtime\n\n * potentially better optimized code as the compiler\n   can assume that the const data cannot be changed\n\n * the compiler/linker move const data into .rodata\n   and therefore exclude them from false sharing\n\nSigned-off-by: Emese Revfy \u003cre.emese@gmail.com\u003e\nAcked-by: David Teigland \u003cteigland@redhat.com\u003e\nAcked-by: Matt Domsch \u003cMatt_Domsch@dell.com\u003e\nAcked-by: Maciej Sosnowski \u003cmaciej.sosnowski@intel.com\u003e\nAcked-by: Hans J. Koch \u003chjk@linutronix.de\u003e\nAcked-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nAcked-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nAcked-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "9cd43611ccfb46632bfa7d19f688924ea93f1613",
      "tree": "e11ecee403235ba9d8855892fa7ad55d9b63e221",
      "parents": [
        "985fc176a6c03836454629be2f2a611ccc7c7002"
      ],
      "author": {
        "name": "Emese Revfy",
        "email": "re.emese@gmail.com",
        "time": "Thu Dec 31 14:52:51 2009 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sun Mar 07 17:04:49 2010 -0800"
      },
      "message": "kobject: Constify struct kset_uevent_ops\n\nConstify struct kset_uevent_ops.\n\nThis is part of the ops structure constification\neffort started by Arjan van de Ven et al.\n\nBenefits of this constification:\n\n * prevents modification of data that is shared\n   (referenced) by many other structure instances\n   at runtime\n\n * detects/prevents accidental (but not intentional)\n   modification attempts on archs that enforce\n   read-only kernel data at runtime\n\n * potentially better optimized code as the compiler\n   can assume that the const data cannot be changed\n\n * the compiler/linker move const data into .rodata\n   and therefore exclude them from false sharing\n\nSigned-off-by: Emese Revfy \u003cre.emese@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "1154fab73ccbab010cfaa272b6987c624cfd63c6",
      "tree": "9fb6a47295608e6b9207545cd7b83980f0bba0c4",
      "parents": [
        "e2b093f3e9262353558c6f89510ab2d286b28287"
      ],
      "author": {
        "name": "Stephen Rothwell",
        "email": "sfr@canb.auug.org.au",
        "time": "Mon Mar 01 16:04:45 2010 +1100"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Thu Mar 04 12:09:43 2010 +0200"
      },
      "message": "SLUB: Fix per-cpu merge conflict\n\nThe slab tree adds a percpu variable usage case (commit\n9dfc6e68bfe6ee452efb1a4e9ca26a9007f2b864 \"SLUB: Use this_cpu operations in\nslub\"), but the percpu tree removes the prefixing of percpu variables (commit\ndd17c8f72993f9461e9c19250e3f155d6d99df22 \"percpu: remove per_cpu__ prefix\"),\nthus causing the following compilation error:\n\n    CC      mm/slub.o\n  mm/slub.c: In function ‘alloc_kmem_cache_cpus’:\n  mm/slub.c:2078: error: implicit declaration of function ‘per_cpu_var’\n  mm/slub.c:2078: warning: assignment makes pointer from integer without a cast\n  make[1]: *** [mm/slub.o] Error 1\n\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\n"
    },
    {
      "commit": "e2b093f3e9262353558c6f89510ab2d286b28287",
      "tree": "298986520dcb4e60e5ab253b7f6d56277077215a",
      "parents": [
        "eaa5eec739637f32f8733d528ff0b94fd62b1214",
        "f3186a9c51eabe75b2780153ed7f07778d78b16e",
        "4c13dd3b48fcb6fbe44f241eb11a057ecd1cba75",
        "44b57f1cc72a4a30b31f11b07a927d1534f1b93d",
        "91efd773c74bb26b5409c85ad755d536448e229c"
      ],
      "author": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Thu Mar 04 12:07:50 2010 +0200"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Thu Mar 04 12:07:50 2010 +0200"
      },
      "message": "Merge branches \u0027slab/cleanups\u0027, \u0027slab/failslab\u0027, \u0027slab/fixes\u0027 and \u0027slub/percpu\u0027 into slab-for-linus\n"
    },
    {
      "commit": "4c13dd3b48fcb6fbe44f241eb11a057ecd1cba75",
      "tree": "d9875477b9eb48ad598da8cbc36b473c941828ae",
      "parents": [
        "60b341b778cc2929df16c0a504c91621b3c6a4ad"
      ],
      "author": {
        "name": "Dmitry Monakhov",
        "email": "dmonakhov@openvz.org",
        "time": "Fri Feb 26 09:36:12 2010 +0300"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Fri Feb 26 19:19:39 2010 +0200"
      },
      "message": "failslab: add ability to filter slab caches\n\nThis patch allow to inject faults only for specific slabs.\nIn order to preserve default behavior cache filter is off by\ndefault (all caches are faulty).\n\nOne may define specific set of slabs like this:\n# mark skbuff_head_cache as faulty\necho 1 \u003e /sys/kernel/slab/skbuff_head_cache/failslab\n# Turn on cache filter (off by default)\necho 1 \u003e /sys/kernel/debug/failslab/cache-filter\n# Turn on fault injection\necho 1 \u003e /sys/kernel/debug/failslab/times\necho 1 \u003e /sys/kernel/debug/failslab/probability\n\nAcked-by: David Rientjes \u003crientjes@google.com\u003e\nAcked-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nAcked-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nSigned-off-by: Dmitry Monakhov \u003cdmonakhov@openvz.org\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\n"
    },
    {
      "commit": "c9404c9c392d557a4687c4cbda022b03cb787ce9",
      "tree": "1633e9e8d6a3f955297affd2c3304bdbb670a73c",
      "parents": [
        "634bad68bc25753816594ecd390dcea980528315"
      ],
      "author": {
        "name": "Adam Buchbinder",
        "email": "adam.buchbinder@gmail.com",
        "time": "Fri Dec 18 15:40:42 2009 -0500"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Fri Feb 05 12:22:30 2010 +0100"
      },
      "message": "Fix misspelling of \"should\" and \"shouldn\u0027t\" in comments.\n\nSome comments misspell \"should\" or \"shouldn\u0027t\"; this fixes them. No code changes.\n\nSigned-off-by: Adam Buchbinder \u003cadam.buchbinder@gmail.com\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "91efd773c74bb26b5409c85ad755d536448e229c",
      "tree": "b812dadb615ecff08e4d3ebe97483f192d0be27d",
      "parents": [
        "7738dd9e8f2bc1c249e00c9c20e018448fac0084"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "cl@linux-foundation.org",
        "time": "Thu Jan 21 17:43:35 2010 -0600"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Fri Jan 22 18:33:38 2010 +0200"
      },
      "message": "dma kmalloc handling fixes\n\n1. We need kmalloc_percpu for all of the now extended kmalloc caches\n   array not just for each shift value.\n\n2. init_kmem_cache_nodes() must assume node 0 locality for statically\n   allocated dma kmem_cache structures even after boot is complete.\n\nReported-and-tested-by: Alex Chiang \u003cachiang@hp.com\u003e\nSigned-off-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\n"
    },
    {
      "commit": "7738dd9e8f2bc1c249e00c9c20e018448fac0084",
      "tree": "2127dd8ada9cbcf83169e3de823dfe640de0e83a",
      "parents": [
        "84e554e6865c4f4ae84d38800cf270b9a67901cc"
      ],
      "author": {
        "name": "David Rientjes",
        "email": "rientjes@google.com",
        "time": "Fri Jan 15 12:49:56 2010 -0800"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Fri Jan 22 18:33:36 2010 +0200"
      },
      "message": "slub: remove impossible condition\n\n`s\u0027 cannot be NULL if kmalloc_caches is not NULL.\n\nThis conditional would trigger a NULL pointer on `s\u0027, anyway, since it is\nimmediately derefernced if true.\n\nAcked-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nSigned-off-by: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\n"
    },
    {
      "commit": "84e554e6865c4f4ae84d38800cf270b9a67901cc",
      "tree": "9bf5ce0596a9ffeee9e6a307eadbce6086f636ba",
      "parents": [
        "ff12059ed14b0773d7bbef86f98218ada6c20770"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "cl@linux-foundation.org",
        "time": "Fri Dec 18 16:26:23 2009 -0600"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Sun Dec 20 10:39:34 2009 +0200"
      },
      "message": "SLUB: Make slub statistics use this_cpu_inc\n\nthis_cpu_inc() translates into a single instruction on x86 and does not\nneed any register. So use it in stat(). We also want to avoid the\ncalculation of the per cpu kmem_cache_cpu structure pointer. So pass\na kmem_cache pointer instead of a kmem_cache_cpu pointer.\n\nSigned-off-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\n"
    },
    {
      "commit": "ff12059ed14b0773d7bbef86f98218ada6c20770",
      "tree": "33b63b4f746e984e8421ea3624312bc98ccb2f37",
      "parents": [
        "756dee75872a2a764b478e18076360b8a4ec9045"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "cl@linux-foundation.org",
        "time": "Fri Dec 18 16:26:22 2009 -0600"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Sun Dec 20 10:17:59 2009 +0200"
      },
      "message": "SLUB: this_cpu: Remove slub kmem_cache fields\n\nRemove the fields in struct kmem_cache_cpu that were used to cache data from\nstruct kmem_cache when they were in different cachelines. The cacheline that\nholds the per cpu array pointer now also holds these values. We can cut down\nthe struct kmem_cache_cpu size to almost half.\n\nThe get_freepointer() and set_freepointer() functions that used to be only\nintended for the slow path now are also useful for the hot path since access\nto the size field does not require accessing an additional cacheline anymore.\nThis results in consistent use of functions for setting the freepointer of\nobjects throughout SLUB.\n\nAlso we initialize all possible kmem_cache_cpu structures when a slab is\ncreated. No need to initialize them when a processor or node comes online.\n\nSigned-off-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\n"
    },
    {
      "commit": "756dee75872a2a764b478e18076360b8a4ec9045",
      "tree": "c4a09707be2f926631815dec98b0e0f3f4b9ae20",
      "parents": [
        "9dfc6e68bfe6ee452efb1a4e9ca26a9007f2b864"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "cl@linux-foundation.org",
        "time": "Fri Dec 18 16:26:21 2009 -0600"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Sun Dec 20 09:57:00 2009 +0200"
      },
      "message": "SLUB: Get rid of dynamic DMA kmalloc cache allocation\n\nDynamic DMA kmalloc cache allocation is troublesome since the\nnew percpu allocator does not support allocations in atomic contexts.\nReserve some statically allocated kmalloc_cpu structures instead.\n\nSigned-off-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\n"
    },
    {
      "commit": "9dfc6e68bfe6ee452efb1a4e9ca26a9007f2b864",
      "tree": "40e54f2819e176ceb95b8899265bd48751965c27",
      "parents": [
        "55639353a0035052d9ea6cfe4dde0ac7fcbb2c9f"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "cl@linux-foundation.org",
        "time": "Fri Dec 18 16:26:20 2009 -0600"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Sun Dec 20 09:29:18 2009 +0200"
      },
      "message": "SLUB: Use this_cpu operations in slub\n\nUsing per cpu allocations removes the needs for the per cpu arrays in the\nkmem_cache struct. These could get quite big if we have to support systems\nwith thousands of cpus. The use of this_cpu_xx operations results in:\n\n1. The size of kmem_cache for SMP configuration shrinks since we will only\n   need 1 pointer instead of NR_CPUS. The same pointer can be used by all\n   processors. Reduces cache footprint of the allocator.\n\n2. We can dynamically size kmem_cache according to the actual nodes in the\n   system meaning less memory overhead for configurations that may potentially\n   support up to 1k NUMA nodes / 4k cpus.\n\n3. We can remove the diddle widdle with allocating and releasing of\n   kmem_cache_cpu structures when bringing up and shutting down cpus. The cpu\n   alloc logic will do it all for us. Removes some portions of the cpu hotplug\n   functionality.\n\n4. Fastpath performance increases since per cpu pointer lookups and\n   address calculations are avoided.\n\nV7-V8\n- Convert missed get_cpu_slab() under CONFIG_SLUB_STATS\n\nSigned-off-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\n"
    },
    {
      "commit": "2205afa7d13ec716935dfd4b8ff71059ee7aeb0c",
      "tree": "19e63ed8040e8a82c3cdd331458d246247466a28",
      "parents": [
        "491424c0f46c282a854b88830212bdb0763e93dc",
        "2cd9046cc53dd2625e2cf5854d6cbb1ba61de914"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 14 10:13:22 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 14 10:13:22 2009 -0800"
      },
      "message": "Merge branch \u0027perf-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027perf-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  perf sched: Fix build failure on sparc\n  perf bench: Add \"all\" pseudo subsystem and \"all\" pseudo suite\n  perf tools: Introduce perf_session class\n  perf symbols: Ditch dso-\u003efind_symbol\n  perf symbols: Allow lookups by symbol name too\n  perf symbols: Add missing \"Variables\" entry to map_type__name\n  perf symbols: Add support for \u0027variable\u0027 symtabs\n  perf symbols: Introduce ELF counterparts to symbol_type__is_a\n  perf symbols: Introduce symbol_type__is_a\n  perf symbols: Rename kthreads to kmaps, using another abstraction for it\n  perf tools: Allow building for ARM\n  hw-breakpoints: Handle bad modify_user_hw_breakpoint off-case return value\n  perf tools: Allow cross compiling\n  tracing, slab: Fix no callsite ifndef CONFIG_KMEMTRACE\n  tracing, slab: Define kmem_cache_alloc_notrace ifdef CONFIG_TRACING\n\nTrivial conflict due to different fixes to modify_user_hw_breakpoint()\nin include/linux/hw_breakpoint.h\n"
    },
    {
      "commit": "355d79c87a53aa08c33deba184b8c87763a08270",
      "tree": "93b0e0a65e8a9c4abdd9297b614db2a8bc2a68a4",
      "parents": [
        "053fe57ac249a9531c396175778160d9e9509399",
        "8e15b79cf4bd20c6afb4663d98a39cd004eee672",
        "ddbf2e8366f2a7fa3419be418cfd83a914d2527f",
        "74e2134ff892ee4ea4fbd52637060b71e540faf1",
        "78eb00cc574d3dbf8e6bed804948a89e8110a064"
      ],
      "author": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Sat Dec 12 10:12:19 2009 +0200"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Sat Dec 12 10:12:19 2009 +0200"
      },
      "message": "Merge branches \u0027slab/fixes\u0027, \u0027slab/kmemleak\u0027, \u0027slub/perf\u0027 and \u0027slub/stats\u0027 into for-linus\n"
    },
    {
      "commit": "0f24f1287a86b198c1e4bd4ce45e8565e40ff804",
      "tree": "7d13bfec87c7b67ffc701271484dc8d96080643c",
      "parents": [
        "125580380f418000b1a06d9a54700f1191b6e561"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Fri Dec 11 15:45:30 2009 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Dec 11 09:17:02 2009 +0100"
      },
      "message": "tracing, slab: Define kmem_cache_alloc_notrace ifdef CONFIG_TRACING\n\nDefine kmem_trace_alloc_{,node}_notrace() if CONFIG_TRACING is\nenabled, otherwise perf-kmem will show wrong stats ifndef\nCONFIG_KMEM_TRACE, because a kmalloc() memory allocation may\nbe traced by both trace_kmalloc() and trace_kmem_cache_alloc().\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nReviewed-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: linux-mm@kvack.org \u003clinux-mm@kvack.org\u003e\nCc: Eduard - Gabriel Munteanu \u003ceduard.munteanu@linux360.ro\u003e\nLKML-Reference: \u003c4B21F89A.7000801@cn.fujitsu.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "74e2134ff892ee4ea4fbd52637060b71e540faf1",
      "tree": "a0747c885ca2bc04745a77ef4a902d121acbe44f",
      "parents": [
        "b419148e567728f6af0c3b01965c1cc141e3e13a"
      ],
      "author": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Wed Nov 25 20:14:48 2009 +0200"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Sun Nov 29 09:01:59 2009 +0200"
      },
      "message": "SLUB: Fix __GFP_ZERO unlikely() annotation\n\nThe unlikely() annotation in slab_alloc() covers too much of the expression.\nIt\u0027s actually very likely that the object is not NULL so use unlikely() only\nfor the __GFP_ZERO expression like SLAB does.\n\nThe patch reduces kernel text by 29 bytes on x86-64:\n\n   text\t   data\t    bss\t    dec\t    hex\tfilename\n  24185\t   8560\t    176\t  32921\t   8099\tmm/slub.o.orig\n  24156\t   8560\t    176\t  32892\t   807c\tmm/slub.o\n\nAcked-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\n"
    },
    {
      "commit": "78eb00cc574d3dbf8e6bed804948a89e8110a064",
      "tree": "c0cefa5b5787bb234ba8931775da2071c908e071",
      "parents": [
        "374576a8b6f865022c0fd1ca62396889b23d66dd"
      ],
      "author": {
        "name": "David Rientjes",
        "email": "rientjes@google.com",
        "time": "Thu Oct 15 02:20:22 2009 -0700"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Thu Oct 15 21:34:12 2009 +0300"
      },
      "message": "slub: allow stats to be cleared\n\nWhen collecting slub stats for particular workloads, it\u0027s necessary to\ncollect each statistic for all caches before the job is even started\nbecause the counters are usually greater than zero just from boot and\ninitialization.\n\nThis allows a statistic to be cleared on each cpu by writing \u00270\u0027 to its\nsysfs file.  This creates a baseline for statistics of interest before\nthe workload is started.\n\nSetting a statistic to a particular value is not supported, so all values\nwritten to these files other than \u00270\u0027 returns -EINVAL.\n\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nSigned-off-by: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\n"
    },
    {
      "commit": "fe1ff49d0d1c30254dbfc84c3786eb538e0cc7d1",
      "tree": "aed0b1c5355e42ce27788fa4868dc770cbbebe75",
      "parents": [
        "398499d5f3613c47f2143b8c54a04efb5d7a6da9"
      ],
      "author": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Mon Sep 21 17:02:30 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:33 2009 -0700"
      },
      "message": "mm: kmem_cache_create(): make it easier to catch NULL cache names\n\nRight now, if you inadvertently pass NULL to kmem_cache_create() at boot\ntime, it crashes much later after boot somewhere deep inside sysfs which\nmakes it very non obvious to figure out what\u0027s going on.\n\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: 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": "fdaa45e95d2ef59a140d2fb2e487141f83f5a07c",
      "tree": "262f543514ab9366de694fc66f65533fd242a37e",
      "parents": [
        "0cb583fd2862f19ea88b02eb307d11c09e51e2f8"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Sep 15 11:00:26 2009 +0200"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Tue Sep 15 22:32:10 2009 +0300"
      },
      "message": "slub: Fix build error in kmem_cache_open() with !CONFIG_SLUB_DEBUG\n\nThis build bug:\n\n mm/slub.c: In function \u0027kmem_cache_open\u0027:\n mm/slub.c:2476: error: \u0027disable_higher_order_debug\u0027 undeclared (first use in this function)\n mm/slub.c:2476: error: (Each undeclared identifier is reported only once\n mm/slub.c:2476: error: for each function it appears in.)\n\nTriggers because there\u0027s no !CONFIG_SLUB_DEBUG definition for\ndisable_higher_order_debug.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\n"
    },
    {
      "commit": "ada3fa15057205b7d3f727bba5cd26b5912e350f",
      "tree": "60962fc9e4021b92f484d1a58e72cd3906d4f3db",
      "parents": [
        "2f82af08fcc7dc01a7e98a49a5995a77e32a2925",
        "5579fd7e6aed8860ea0c8e3f11897493153b10ad"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 15 09:39:44 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 15 09:39:44 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu: (46 commits)\n  powerpc64: convert to dynamic percpu allocator\n  sparc64: use embedding percpu first chunk allocator\n  percpu: kill lpage first chunk allocator\n  x86,percpu: use embedding for 64bit NUMA and page for 32bit NUMA\n  percpu: update embedding first chunk allocator to handle sparse units\n  percpu: use group information to allocate vmap areas sparsely\n  vmalloc: implement pcpu_get_vm_areas()\n  vmalloc: separate out insert_vmalloc_vm()\n  percpu: add chunk-\u003ebase_addr\n  percpu: add pcpu_unit_offsets[]\n  percpu: introduce pcpu_alloc_info and pcpu_group_info\n  percpu: move pcpu_lpage_build_unit_map() and pcpul_lpage_dump_cfg() upward\n  percpu: add @align to pcpu_fc_alloc_fn_t\n  percpu: make @dyn_size mandatory for pcpu_setup_first_chunk()\n  percpu: drop @static_size from first chunk allocators\n  percpu: generalize first chunk allocator selection\n  percpu: build first chunk allocators selectively\n  percpu: rename 4k first chunk allocator to page\n  percpu: improve boot messages\n  percpu: fix pcpu_reclaim() locking\n  ...\n\nFix trivial conflict as by Tejun Heo in kernel/sched.c\n"
    },
    {
      "commit": "aceda773606f2506a25b91aaafae87b2e4315834",
      "tree": "6084163c1833f938c7e582ddf983c7748c038024",
      "parents": [
        "0cc6d77e55eca9557bbe41bf2db94b31aa8fcb2a",
        "5086c389cb897c7ad66c1cacd1abb5ffebaa74b2",
        "8a3d271deb0cc9c2fc47317d8e431046382939c9"
      ],
      "author": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Mon Sep 14 20:19:06 2009 +0300"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Mon Sep 14 20:19:06 2009 +0300"
      },
      "message": "Merge branches \u0027slab/cleanups\u0027 and \u0027slab/fixes\u0027 into for-linus\n"
    },
    {
      "commit": "8a3d271deb0cc9c2fc47317d8e431046382939c9",
      "tree": "0e6d53380e24bee70afb6102faa3fea8b762f0aa",
      "parents": [
        "5788d8ad6c113c589eeaaa48a173adbbe6b1cb3d"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu Sep 03 16:08:06 2009 +0200"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Mon Sep 14 07:57:55 2009 +0300"
      },
      "message": "slub: fix slab_pad_check()\n\nWhen SLAB_POISON is used and slab_pad_check() finds an overwrite of the\nslab padding, we call restore_bytes() on the whole slab, not only\non the padding.\n\nAcked-by: Christoph Lameer \u003ccl@linux-foundation.org\u003e\nReported-by: Zdenek Kabelac \u003czdenek.kabelac@gmail.com\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\n"
    },
    {
      "commit": "d76b1590e06a63a3d8697168cd0aabf1c4b3cb3a",
      "tree": "276a0323e0b25192fdb837475b816db3b3052cad",
      "parents": [
        "326ba5010a5429a5a528b268b36a5900d4ab0eba"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu Sep 03 22:38:59 2009 +0300"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Thu Sep 03 22:38:59 2009 +0300"
      },
      "message": "slub: Fix kmem_cache_destroy() with SLAB_DESTROY_BY_RCU\n\nkmem_cache_destroy() should call rcu_barrier() *after* kmem_cache_close() and\n*before* sysfs_slab_remove() or risk rcu_free_slab() being called after\nkmem_cache is deleted (kfreed).\n\nrmmod nf_conntrack can crash the machine because it has to kmem_cache_destroy()\na SLAB_DESTROY_BY_RCU enabled cache.\n\nCc: \u003cstable@kernel.org\u003e\nReported-by: Zdenek Kabelac \u003czdenek.kabelac@gmail.com\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nAcked-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\n"
    },
    {
      "commit": "5788d8ad6c113c589eeaaa48a173adbbe6b1cb3d",
      "tree": "d205f122f24be0853747be9c4d71049ed4e6d49f",
      "parents": [
        "acdfcd04d9df7d084ff752f82afad6ed4ad5f363"
      ],
      "author": {
        "name": "Xiaotian Feng",
        "email": "dfeng@redhat.com",
        "time": "Wed Jul 22 11:28:53 2009 +0800"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Thu Sep 03 21:11:41 2009 +0300"
      },
      "message": "slub: release kobject if sysfs_create_group failed in sysfs_slab_add\n\nWhen CONFIG_SLUB_DEBUG is enabled, sysfs_slab_add should unlink and put the\nkobject if sysfs_create_group failed. Otherwise, sysfs_slab_add returns error\nthen free kmem_cache s, thus memory of s-\u003ekobj is leaked.\n\nAcked-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nSigned-off-by: Xiaotian Feng \u003cdfeng@redhat.com\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\n"
    },
    {
      "commit": "acdfcd04d9df7d084ff752f82afad6ed4ad5f363",
      "tree": "edee979b012067348978d7ea23a58acd4b532a7d",
      "parents": [
        "cf5d11317e8f2671d3115622aec76274a40f4fc2"
      ],
      "author": {
        "name": "Aaro Koskinen",
        "email": "aaro.koskinen@nokia.com",
        "time": "Fri Aug 28 14:28:54 2009 +0300"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Sun Aug 30 14:56:48 2009 +0300"
      },
      "message": "SLUB: fix ARCH_KMALLOC_MINALIGN cases 64 and 256\n\nIf the minalign is 64 bytes, then the 96 byte cache should not be created\nbecause it would conflict with the 128 byte cache.\n\nIf the minalign is 256 bytes, patching the size_index table should not\nresult in a buffer overrun.\n\nThe calculation \"(i - 1) / 8\" used to access size_index[] is moved to\na separate function as suggested by Christoph Lameter.\n\nAcked-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nSigned-off-by: Aaro Koskinen \u003caaro.koskinen@nokia.com\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\n"
    },
    {
      "commit": "5086c389cb897c7ad66c1cacd1abb5ffebaa74b2",
      "tree": "b00fe4d4b898891c77cdb90a765cdf4299413007",
      "parents": [
        "bbff2e433e80fae72c8d00d482927d52ec19ba33"
      ],
      "author": {
        "name": "Amerigo Wang",
        "email": "amwang@redhat.com",
        "time": "Wed Aug 19 21:44:13 2009 +0300"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Wed Aug 19 21:44:13 2009 +0300"
      },
      "message": "SLUB: Fix some coding style issues\n\nSigned-off-by: WANG Cong \u003camwang@redhat.com\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\n"
    },
    {
      "commit": "cf5d11317e8f2671d3115622aec76274a40f4fc2",
      "tree": "f1f1e3ca5ec9cc2ce8ec3cbdaef95c27ffc4bb88",
      "parents": [
        "dcb0ce1bdf39581bcd0cffc3d487fb20667977cd"
      ],
      "author": {
        "name": "WANG Cong",
        "email": "amwang@redhat.com",
        "time": "Tue Aug 18 19:11:40 2009 +0300"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Tue Aug 18 19:11:40 2009 +0300"
      },
      "message": "SLUB: Drop write permission to /proc/slabinfo\n\nSLUB does not support writes to /proc/slabinfo so there should not be write\npermission to do that either.\n\nSigned-off-by: WANG Cong \u003camwang@redhat.com\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\n"
    },
    {
      "commit": "384be2b18a5f9475eab9ca2bdfa95cc1a04ef59c",
      "tree": "04c93f391a1b65c8bf8d7ba8643c07d26c26590a",
      "parents": [
        "a76761b621bcd8336065c4fe3a74f046858bc34c",
        "142d44b0dd6741a64a7bdbe029110e7c1dcf1d23"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Fri Aug 14 14:41:02 2009 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Fri Aug 14 14:45:31 2009 +0900"
      },
      "message": "Merge branch \u0027percpu-for-linus\u0027 into percpu-for-next\n\nConflicts:\n\tarch/sparc/kernel/smp_64.c\n\tarch/x86/kernel/cpu/perf_counter.c\n\tarch/x86/kernel/setup_percpu.c\n\tdrivers/cpufreq/cpufreq_ondemand.c\n\tmm/percpu.c\n\nConflicts in core and arch percpu codes are mostly from commit\ned78e1e078dd44249f88b1dd8c76dafb39567161 which substituted many\nnum_possible_cpus() with nr_cpu_ids.  As for-next branch has moved all\nthe first chunk allocators into mm/percpu.c, the changes are moved\nfrom arch code to mm/percpu.c.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\n"
    },
    {
      "commit": "dcb0ce1bdf39581bcd0cffc3d487fb20667977cd",
      "tree": "63e7b32f1bb3cd6086c246aa483c80c28a8962fb",
      "parents": [
        "3de472138a138008b534d9587593ba83390e330a"
      ],
      "author": {
        "name": "Zhang, Yanmin",
        "email": "yanmin_zhang@linux.intel.com",
        "time": "Thu Jul 30 11:28:11 2009 +0800"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Sat Aug 01 18:26:40 2009 +0300"
      },
      "message": "slub: change kmem_cache-\u003ealign to record the real alignment\n\nkmem_cache-\u003ealign records the original align parameter value specified\nby users. Function calculate_alignment might change it based on cache\nline size. So change kmem_cache-\u003ealign correspondingly.\n\nSigned-off-by: Zhang Yanmin \u003cyanmin_zhang@linux.intel.com\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\n"
    },
    {
      "commit": "3de472138a138008b534d9587593ba83390e330a",
      "tree": "2f31ccb13c90dff68d8fd108575caa534c6c622d",
      "parents": [
        "fa5ec8a1f66f3c2a3af723abcf8085509c9ee682"
      ],
      "author": {
        "name": "David Rientjes",
        "email": "rientjes@google.com",
        "time": "Mon Jul 27 18:30:35 2009 -0700"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Tue Jul 28 10:53:09 2009 +0300"
      },
      "message": "slub: use size and objsize orders to disable debug flags\n\nThis patch moves the masking of debugging flags which increase a cache\u0027s\nmin order due to metadata when `slub_debug\u003dO\u0027 is used from\nkmem_cache_flags() to kmem_cache_open().\n\nInstead of defining the maximum metadata size increase in a preprocessor\nmacro, this approach uses the cache\u0027s -\u003esize and -\u003eobjsize members to\ndetermine if the min order increased due to debugging options.  If so,\nthe flags specified in the more appropriately named DEBUG_METADATA_FLAGS\nare masked off.\n\nThis approach was suggested by Christoph Lameter\n\u003ccl@linux-foundation.org\u003e.\n\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nSigned-off-by: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\n"
    },
    {
      "commit": "fa5ec8a1f66f3c2a3af723abcf8085509c9ee682",
      "tree": "be8e06f8ace38ed40ec2af4465dd1fffbc4b4f09",
      "parents": [
        "c2cc49a2f8a479dde96a599646d30b6cc9dbed78"
      ],
      "author": {
        "name": "David Rientjes",
        "email": "rientjes@google.com",
        "time": "Tue Jul 07 00:14:14 2009 -0700"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Fri Jul 10 09:52:55 2009 +0300"
      },
      "message": "slub: add option to disable higher order debugging slabs\n\nWhen debugging is enabled, slub requires that additional metadata be\nstored in slabs for certain options: SLAB_RED_ZONE, SLAB_POISON, and\nSLAB_STORE_USER.\n\nConsequently, it may require that the minimum possible slab order needed\nto allocate a single object be greater when using these options.  The\nmost notable example is for objects that are PAGE_SIZE bytes in size.\n\nHigher minimum slab orders may cause page allocation failures when oom or\nunder heavy fragmentation.\n\nThis patch adds a new slub_debug option, which disables debugging by\ndefault for caches that would have resulted in higher minimum orders:\n\n\tslub_debug\u003dO\n\nWhen this option is used on systems with 4K pages, kmalloc-4096, for\nexample, will not have debugging enabled by default even if\nCONFIG_SLUB_DEBUG_ON is defined because it would have resulted in a\norder-1 minimum slab order.\n\nReported-by: Larry Finger \u003cLarry.Finger@lwfinger.net\u003e\nTested-by: Larry Finger \u003cLarry.Finger@lwfinger.net\u003e\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nSigned-off-by: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\n"
    },
    {
      "commit": "e4f7c0b44a8ac8935f223195af9ea637d0c08091",
      "tree": "9d8627800137ae50a1d5707c21489969c77c9e8a",
      "parents": [
        "2587362eaf5c9df4e08de11e6340e3c4a88ed4c8"
      ],
      "author": {
        "name": "Catalin Marinas",
        "email": "catalin.marinas@arm.com",
        "time": "Tue Jul 07 10:32:59 2009 +0100"
      },
      "committer": {
        "name": "Catalin Marinas",
        "email": "catalin.marinas@arm.com",
        "time": "Wed Jul 08 14:25:14 2009 +0100"
      },
      "message": "kmemleak: Trace the kmalloc_large* functions in slub\n\nThe kmalloc_large() and kmalloc_large_node() functions were missed when\nadding the kmemleak hooks to the slub allocator. However, they should be\ntraced to avoid false positives.\n\nSigned-off-by: Catalin Marinas \u003ccatalin.marinas@arm.com\u003e\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nAcked-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\n"
    },
    {
      "commit": "c43768cbb7655ea5ff782ae250f6e2ef4297cf98",
      "tree": "3982e41dde3eecaa3739a5d1a8ed18d04bd74f01",
      "parents": [
        "1a8dd307cc0a2119be4e578c517795464e6dabba",
        "746a99a5af60ee676afa2ba469ccd1373493c7e7"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Sat Jul 04 07:13:18 2009 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Sat Jul 04 07:13:18 2009 +0900"
      },
      "message": "Merge branch \u0027master\u0027 into for-next\n\nPull linus#master to merge PER_CPU_DEF_ATTRIBUTES and alpha build fix\nchanges.  As alpha in percpu tree uses \u0027weak\u0027 attribute instead of\ninline assembly, there\u0027s no need for __used attribute.\n\nConflicts:\n\tarch/alpha/include/asm/percpu.h\n\tarch/mn10300/kernel/vmlinux.lds.S\n\tinclude/linux/percpu-defs.h\n"
    },
    {
      "commit": "7ed9f7e5db58c6e8c2b4b738a75d5dcd8e17aad5",
      "tree": "c8ee9b63e1e8d3925b8a08a2b21a331434d183b5",
      "parents": [
        "28d0325ce6e0a52f53d8af687e6427fee59004d3"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Thu Jun 25 12:31:37 2009 -0700"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Fri Jun 26 12:10:47 2009 +0300"
      },
      "message": "fix RCU-callback-after-kmem_cache_destroy problem in sl[aou]b\n\nJesper noted that kmem_cache_destroy() invokes synchronize_rcu() rather than\nrcu_barrier() in the SLAB_DESTROY_BY_RCU case, which could result in RCU\ncallbacks accessing a kmem_cache after it had been destroyed.\n\nCc: \u003cstable@kernel.org\u003e\nAcked-by: Matt Mackall \u003cmpm@selenic.com\u003e\nReported-by: Jesper Dangaard Brouer \u003chawk@comx.dk\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\n"
    },
    {
      "commit": "ba52270d18fb17ce2cf176b35419dab1e43fe4a3",
      "tree": "6023e8e0b5b722be7193902894934aaef21e5144",
      "parents": [
        "4923abf9f1a4c1864af438a57c1f3686548230e9"
      ],
      "author": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Wed Jun 24 21:59:51 2009 +0300"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jun 24 12:20:14 2009 -0700"
      },
      "message": "SLUB: Don\u0027t pass __GFP_FAIL for the initial allocation\n\nSLUB uses higher order allocations by default but falls back to small\norders under memory pressure. Make sure the GFP mask used in the initial\nallocation doesn\u0027t include __GFP_NOFAIL.\n\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "204fba4aa303ea4a7bb726a539bf4a5b9e3203d0",
      "tree": "899707e00035f1ec83077c16a7f559ecbcc36986",
      "parents": [
        "fe87f94f341a4b4097285b46f003059b26eb59bf"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Jun 24 15:13:45 2009 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Jun 24 15:13:45 2009 +0900"
      },
      "message": "percpu: cleanup percpu array definitions\n\nCurrently, the following three different ways to define percpu arrays\nare in use.\n\n1. DEFINE_PER_CPU(elem_type[array_len], array_name);\n2. DEFINE_PER_CPU(elem_type, array_name[array_len]);\n3. DEFINE_PER_CPU(elem_type, array_name)[array_len];\n\nUnify to #1 which correctly separates the roles of the two parameters\nand thus allows more flexibility in the way percpu variables are\ndefined.\n\n[ Impact: cleanup ]\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nReviewed-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Tony Luck \u003ctony.luck@intel.com\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\nCc: linux-mm@kvack.org\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "dcce284a259373f9e5570f2e33f79eca84fcf565",
      "tree": "afc4b23208974f17c080ea3d2ecfbaca4254c010",
      "parents": [
        "9729a6eb5878a3daa18395f2b5fb38bf9359a761"
      ],
      "author": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Thu Jun 18 13:24:12 2009 +1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 18 13:12:57 2009 -0700"
      },
      "message": "mm: Extend gfp masking to the page allocator\n\nThe page allocator also needs the masking of gfp flags during boot,\nso this moves it out of slab/slub and uses it with the page allocator\nas well.\n\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nAcked-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5caf5c7dc2d303b770e426f7e2238df882f1773b",
      "tree": "1dddb1941da34326e8e8becef10761d2d5d7fcc9",
      "parents": [
        "e03ab9d415c47e1ff485b646f95604d3e3a91708",
        "964cf35c88f93b4927dbc4e950dfa4d880c7f9d1"
      ],
      "author": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Wed Jun 17 08:30:54 2009 +0300"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Wed Jun 17 08:30:54 2009 +0300"
      },
      "message": "Merge branch \u0027slub/earlyboot\u0027 into for-linus\n\nConflicts:\n\tmm/slub.c\n"
    },
    {
      "commit": "e03ab9d415c47e1ff485b646f95604d3e3a91708",
      "tree": "61e9eecfbc46cf546a7e9c5ab206ae64fb860550",
      "parents": [
        "65795efbd380a832ae508b04dba8f8e53f0b84d9",
        "a234bdc9aecc299ba41ffe8023b3ea110df9f51b",
        "6746136520cd0827320a83e62d0a023a5a433650",
        "7303f240981888884412a97ac742772527356880",
        "95f8598931bd86a5775073db2fa2004b892dd3d0"
      ],
      "author": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Wed Jun 17 08:30:15 2009 +0300"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Wed Jun 17 08:30:15 2009 +0300"
      },
      "message": "Merge branches \u0027slab/documentation\u0027, \u0027slab/fixes\u0027, \u0027slob/cleanups\u0027 and \u0027slub/fixes\u0027 into for-linus\n"
    },
    {
      "commit": "517d08699b250021303f9a7cf0d758b6dc0748ed",
      "tree": "5e5b0134c3fffb78fe9d8b1641a64ff28fdd7bbc",
      "parents": [
        "8eeee4e2f04fc551f50c9d9847da2d73d7d33728",
        "a34601c5d84134055782ee031d58d82f5440e918"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 16 19:50:13 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 16 19:50:13 2009 -0700"
      },
      "message": "Merge branch \u0027akpm\u0027\n\n* akpm: (182 commits)\n  fbdev: bf54x-lq043fb: use kzalloc over kmalloc/memset\n  fbdev: *bfin*: fix __dev{init,exit} markings\n  fbdev: *bfin*: drop unnecessary calls to memset\n  fbdev: bfin-t350mcqb-fb: drop unused local variables\n  fbdev: blackfin has __raw I/O accessors, so use them in fb.h\n  fbdev: s1d13xxxfb: add accelerated bitblt functions\n  tcx: use standard fields for framebuffer physical address and length\n  fbdev: add support for handoff from firmware to hw framebuffers\n  intelfb: fix a bug when changing video timing\n  fbdev: use framebuffer_release() for freeing fb_info structures\n  radeon: P2G2CLK_ALWAYS_ONb tested twice, should 2nd be P2G2CLK_DAC_ALWAYS_ONb?\n  s3c-fb: CPUFREQ frequency scaling support\n  s3c-fb: fix resource releasing on error during probing\n  carminefb: fix possible access beyond end of carmine_modedb[]\n  acornfb: remove fb_mmap function\n  mb862xxfb: use CONFIG_OF instead of CONFIG_PPC_OF\n  mb862xxfb: restrict compliation of platform driver to PPC\n  Samsung SoC Framebuffer driver: add Alpha Channel support\n  atmel-lcdc: fix pixclock upper bound detection\n  offb: use framebuffer_alloc() to allocate fb_info struct\n  ...\n\nManually fix up conflicts due to kmemcheck in mm/slab.c\n"
    },
    {
      "commit": "62bc62a873116805774ffd37d7f86aa4faa832b1",
      "tree": "7f3f5b94b2d484a13ca27b8d3f6f54cfe126d7c0",
      "parents": [
        "974709bdb2a34db378fc84140220f363f558d0d6"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "cl@linux-foundation.org",
        "time": "Tue Jun 16 15:32:15 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 16 19:47:35 2009 -0700"
      },
      "message": "page allocator: use a pre-calculated value instead of num_online_nodes() in fast paths\n\nnum_online_nodes() is called in a number of places but most often by the\npage allocator when deciding whether the zonelist needs to be filtered\nbased on cpusets or the zonelist cache.  This is actually a heavy function\nand touches a number of cache lines.\n\nThis patch stores the number of online nodes at boot time and updates the\nvalue when nodes get onlined and offlined.  The value is then used in a\nnumber of important paths in place of num_online_nodes().\n\n[rientjes@google.com: do not override definition of node_set_online() with macro]\nSigned-off-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nSigned-off-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: Dave Hansen \u003cdave@linux.vnet.ibm.com\u003e\nCc: Lee Schermerhorn \u003cLee.Schermerhorn@hp.com\u003e\nSigned-off-by: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "722f2a6c87f34ee0fd0130a8cf45f81e0705594a",
      "tree": "50b054df34d2731eb0ba0cf1a6c27e43e7eed428",
      "parents": [
        "7a0aeb14e18ad59394bd9bbc6e57fb345819e748",
        "45e3e1935e2857c54783291107d33323b3ef33c8"
      ],
      "author": {
        "name": "Vegard Nossum",
        "email": "vegard.nossum@gmail.com",
        "time": "Mon Jun 15 15:50:49 2009 +0200"
      },
      "committer": {
        "name": "Vegard Nossum",
        "email": "vegard.nossum@gmail.com",
        "time": "Mon Jun 15 15:50:49 2009 +0200"
      },
      "message": "Merge commit \u0027linus/master\u0027 into HEAD\n\nConflicts:\n\tMAINTAINERS\n\nSigned-off-by: Vegard Nossum \u003cvegard.nossum@gmail.com\u003e\n"
    },
    {
      "commit": "b1eeab67682a5e397aecf172046b3a8bd4808ae4",
      "tree": "c357b6ac1945dc8beecc2f8c4d84660ad8d35aae",
      "parents": [
        "9b5cab31897e9e89e36c0c2a89b16b93ff1a971a"
      ],
      "author": {
        "name": "Vegard Nossum",
        "email": "vegard.nossum@gmail.com",
        "time": "Tue Nov 25 16:55:53 2008 +0100"
      },
      "committer": {
        "name": "Vegard Nossum",
        "email": "vegard.nossum@gmail.com",
        "time": "Mon Jun 15 15:48:33 2009 +0200"
      },
      "message": "kmemcheck: add hooks for the page allocator\n\nThis adds support for tracking the initializedness of memory that\nwas allocated with the page allocator. Highmem requests are not\ntracked.\n\nCc: Dave Hansen \u003cdave@linux.vnet.ibm.com\u003e\nAcked-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\n\n[build fix for !CONFIG_KMEMCHECK]\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n\n[rebased for mainline inclusion]\nSigned-off-by: Vegard Nossum \u003cvegard.nossum@gmail.com\u003e\n"
    },
    {
      "commit": "964cf35c88f93b4927dbc4e950dfa4d880c7f9d1",
      "tree": "a5be2d66c2a53e9483007f7581bb5170f50d6ff7",
      "parents": [
        "45e3e1935e2857c54783291107d33323b3ef33c8"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Mon Jun 15 13:35:10 2009 +0300"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Mon Jun 15 13:55:26 2009 +0300"
      },
      "message": "SLUB: Fix early boot GFP_DMA allocations\n\nRecent change to use slab allocations earlier exposed a bug where\nSLUB can call schedule_work and try to call sysfs before it is\nsafe to do so.\n\nReported-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nTested-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\n"
    },
    {
      "commit": "5a896d9e7c921742d0437a452f991288f4dc2c42",
      "tree": "ea21c8fcfb4524ae5bfc68681920dd9a15b30795",
      "parents": [
        "d7002857dee6e9a3ce1f78d23f37caba106b29c5"
      ],
      "author": {
        "name": "Vegard Nossum",
        "email": "vegard.nossum@gmail.com",
        "time": "Fri Apr 04 00:54:48 2008 +0200"
      },
      "committer": {
        "name": "Vegard Nossum",
        "email": "vegard.nossum@gmail.com",
        "time": "Mon Jun 15 12:40:07 2009 +0200"
      },
      "message": "slub: add hooks for kmemcheck\n\nParts of this patch were contributed by Pekka Enberg but merged for\natomicity.\n\nCc: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Vegard Nossum \u003cvegardno@ifi.uio.no\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n\n[rebased for mainline inclusion]\nSigned-off-by: Vegard Nossum \u003cvegardno@ifi.uio.no\u003e\n"
    },
    {
      "commit": "95f8598931bd86a5775073db2fa2004b892dd3d0",
      "tree": "c315a6fb15b626c31c139519e099fec43a1bec2b",
      "parents": [
        "26c02cf05ddadfee3952e829b841583794bf46f6"
      ],
      "author": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Thu Jun 11 16:18:09 2009 +0300"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Sat Jun 13 23:37:38 2009 +0300"
      },
      "message": "SLUB: Don\u0027t print out OOM warning for __GFP_NOFAIL\n\nWe must check for __GFP_NOFAIL like the page allocator does; otherwise we end\nup with false positives. While at it, add the printk_ratelimit() check in SLUB\nas well.\n\nCc: Alexander Beregalov \u003ca.beregalov@gmail.com\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\n"
    },
    {
      "commit": "26c02cf05ddadfee3952e829b841583794bf46f6",
      "tree": "a0075e3eabc21470f2092b944714ef6581f2fff4",
      "parents": [
        "781b2ba6eb5f22440afac9c79a89ebd6e3674a60"
      ],
      "author": {
        "name": "Alexander Beregalov",
        "email": "a.beregalov@gmail.com",
        "time": "Thu Jun 11 14:08:48 2009 +0400"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Sat Jun 13 23:37:37 2009 +0300"
      },
      "message": "SLUB: fix build when !SLUB_DEBUG\n\nFix this build error when CONFIG_SLUB_DEBUG is not set:\nmm/slub.c: In function \u0027slab_out_of_memory\u0027:\nmm/slub.c:1551: error: \u0027struct kmem_cache_node\u0027 has no member named \u0027nr_slabs\u0027\nmm/slub.c:1552: error: \u0027struct kmem_cache_node\u0027 has no member named \u0027total_objects\u0027\n\n[ penberg@cs.helsinki.fi: cleanups ]\nSigned-off-by: Alexander Beregalov \u003ca.beregalov@gmail.com\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\n"
    },
    {
      "commit": "7e85ee0c1d15ca5f8bff0f514f158eba1742dd87",
      "tree": "8f9c21f0df6bea88740d7dd48834ac9ffc238e93",
      "parents": [
        "eb91f1d0a531289e18f5587dc197d12a251c66a3"
      ],
      "author": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Fri Jun 12 14:03:06 2009 +0300"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Fri Jun 12 18:53:33 2009 +0300"
      },
      "message": "slab,slub: don\u0027t enable interrupts during early boot\n\nAs explained by Benjamin Herrenschmidt:\n\n  Oh and btw, your patch alone doesn\u0027t fix powerpc, because it\u0027s missing\n  a whole bunch of GFP_KERNEL\u0027s in the arch code... You would have to\n  grep the entire kernel for things that check slab_is_available() and\n  even then you\u0027ll be missing some.\n\n  For example, slab_is_available() didn\u0027t always exist, and so in the\n  early days on powerpc, we used a mem_init_done global that is set form\n  mem_init() (not perfect but works in practice). And we still have code\n  using that to do the test.\n\nTherefore, mask out __GFP_WAIT, __GFP_IO, and __GFP_FS in the slab allocators\nin early boot code to avoid enabling interrupts.\n\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\n"
    },
    {
      "commit": "512626a04e72aca60effe111fa0333ed0b195d21",
      "tree": "c22e23b0dcc2dd2ff5a9a96a007de6799e9223de",
      "parents": [
        "8a1ca8cedd108c8e76a6ab34079d0bbb4f244799",
        "3aa27bbe7a6536d1ec859d3a97caf3319b5081b7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 11 14:15:57 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 11 14:15:57 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://linux-arm.org/linux-2.6\n\n* \u0027for-linus\u0027 of git://linux-arm.org/linux-2.6:\n  kmemleak: Add the corresponding MAINTAINERS entry\n  kmemleak: Simple testing module for kmemleak\n  kmemleak: Enable the building of the memory leak detector\n  kmemleak: Remove some of the kmemleak false positives\n  kmemleak: Add modules support\n  kmemleak: Add kmemleak_alloc callback from alloc_large_system_hash\n  kmemleak: Add the vmalloc memory allocation/freeing hooks\n  kmemleak: Add the slub memory allocation/freeing hooks\n  kmemleak: Add the slob memory allocation/freeing hooks\n  kmemleak: Add the slab memory allocation/freeing hooks\n  kmemleak: Add documentation on the memory leak detector\n  kmemleak: Add the base support\n\nManual conflict resolution (with the slab/earlyboot changes) in:\n\tdrivers/char/vt.c\n\tinit/main.c\n\tmm/slab.c\n"
    },
    {
      "commit": "83b519e8b9572c319c8e0c615ee5dd7272856090",
      "tree": "ecf130629f6228d509bb52c533ca2287f966f972",
      "parents": [
        "c91c4773b334d4d3a6d44626dc2a558ad97b86f3"
      ],
      "author": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Wed Jun 10 19:40:04 2009 +0300"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Thu Jun 11 19:15:56 2009 +0300"
      },
      "message": "slab: setup allocators earlier in the boot sequence\n\nThis patch makes kmalloc() available earlier in the boot sequence so we can get\nrid of some bootmem allocations. The bulk of the changes are due to\nkmem_cache_init() being called with interrupts disabled which requires some\nchanges to allocator boostrap code.\n\nNote: 32-bit x86 does WP protect test in mem_init() so we must setup traps\nbefore we call mem_init() during boot as reported by Ingo Molnar:\n\n  We have a hard crash in the WP-protect code:\n\n  [    0.000000] Checking if this processor honours the WP bit even in supervisor mode...BUG: Int 14: CR2 ffcff000\n  [    0.000000]      EDI 00000188  ESI 00000ac7  EBP c17eaf9c  ESP c17eaf8c\n  [    0.000000]      EBX 000014e0  EDX 0000000e  ECX 01856067  EAX 00000001\n  [    0.000000]      err 00000003  EIP c10135b1   CS 00000060  flg 00010002\n  [    0.000000] Stack: c17eafa8 c17fd410 c16747bc c17eafc4 c17fd7e5 000011fd f8616000 c18237cc\n  [    0.000000]        00099800 c17bb000 c17eafec c17f1668 000001c5 c17f1322 c166e039 c1822bf0\n  [    0.000000]        c166e033 c153a014 c18237cc 00020800 c17eaff8 c17f106a 00020800 01ba5003\n  [    0.000000] Pid: 0, comm: swapper Not tainted 2.6.30-tip-02161-g7a74539-dirty #52203\n  [    0.000000] Call Trace:\n  [    0.000000]  [\u003cc15357c2\u003e] ? printk+0x14/0x16\n  [    0.000000]  [\u003cc10135b1\u003e] ? do_test_wp_bit+0x19/0x23\n  [    0.000000]  [\u003cc17fd410\u003e] ? test_wp_bit+0x26/0x64\n  [    0.000000]  [\u003cc17fd7e5\u003e] ? mem_init+0x1ba/0x1d8\n  [    0.000000]  [\u003cc17f1668\u003e] ? start_kernel+0x164/0x2f7\n  [    0.000000]  [\u003cc17f1322\u003e] ? unknown_bootoption+0x0/0x19c\n  [    0.000000]  [\u003cc17f106a\u003e] ? __init_begin+0x6a/0x6f\n\nAcked-by: Johannes Weiner \u003channes@cmpxchg.org\u003e\nAcked-by Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Matt Mackall \u003cmpm@selenic.com\u003e\nCc: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: Yinghai Lu \u003cyinghai@kernel.org\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\n"
    },
    {
      "commit": "06f22f13f3cc2eff00db09f053218e5d4b757bc8",
      "tree": "ec913d87a0ed78912e22c78ce03d65f9ebd7061d",
      "parents": [
        "4374e616d28e65265a5b433ceece275449f3d2e3"
      ],
      "author": {
        "name": "Catalin Marinas",
        "email": "catalin.marinas@arm.com",
        "time": "Thu Jun 11 13:23:18 2009 +0100"
      },
      "committer": {
        "name": "Catalin Marinas",
        "email": "catalin.marinas@arm.com",
        "time": "Thu Jun 11 17:03:30 2009 +0100"
      },
      "message": "kmemleak: Add the slub memory allocation/freeing hooks\n\nThis patch adds the callbacks to kmemleak_(alloc|free) functions from the\nslub allocator.\n\nSigned-off-by: Catalin Marinas \u003ccatalin.marinas@arm.com\u003e\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nReviewed-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\n"
    },
    {
      "commit": "781b2ba6eb5f22440afac9c79a89ebd6e3674a60",
      "tree": "89f3665c52e68cde9aab3eaf249d33e90db5fc20",
      "parents": [
        "59a3759d0fe8d969888c741bb33f4946e4d3750d"
      ],
      "author": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Wed Jun 10 18:50:32 2009 +0300"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Thu Jun 11 18:14:18 2009 +0300"
      },
      "message": "SLUB: Out-of-memory diagnostics\n\nAs suggested by Mel Gorman, add out-of-memory diagnostics to the SLUB allocator\nto make debugging OOM conditions easier. This patch helped hunt down a nasty\nOOM issue that popped up every now that was caused by SLUB debugging code which\nforced 4096 byte allocations to use order 1 pages even in the fallback case.\n\nAn example print out looks like this:\n\n  \u003csnip page allocator out-of-memory message\u003e\n  SLUB: Unable to allocate memory on node -1 (gfp\u003d20)\n    cache: kmalloc-4096, object size: 4096, buffer size: 4168, default order: 3, min order: 1\n    node 0: slabs: 95, objs: 665, free: 0\n\nAcked-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nAcked-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nTested-by: Larry Finger \u003cLarry.Finger@lwfinger.net\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\n"
    },
    {
      "commit": "862366118026a358882eefc70238dbcc3db37aac",
      "tree": "4eb62bc10327a5afac064a95a091ea05ecd2acc1",
      "parents": [
        "57eee9ae7bbcfb692dc96c739a5184adb6349733",
        "511b01bdf64ad8a38414096eab283c7784aebfc4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jun 10 19:53:40 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jun 10 19:53:40 2009 -0700"
      },
      "message": "Merge branch \u0027tracing-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027tracing-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (244 commits)\n  Revert \"x86, bts: reenable ptrace branch trace support\"\n  tracing: do not translate event helper macros in print format\n  ftrace/documentation: fix typo in function grapher name\n  tracing/events: convert block trace points to TRACE_EVENT(), fix !CONFIG_BLOCK\n  tracing: add protection around module events unload\n  tracing: add trace_seq_vprint interface\n  tracing: fix the block trace points print size\n  tracing/events: convert block trace points to TRACE_EVENT()\n  ring-buffer: fix ret in rb_add_time_stamp\n  ring-buffer: pass in lockdep class key for reader_lock\n  tracing: add annotation to what type of stack trace is recorded\n  tracing: fix multiple use of __print_flags and __print_symbolic\n  tracing/events: fix output format of user stack\n  tracing/events: fix output format of kernel stack\n  tracing/trace_stack: fix the number of entries in the header\n  ring-buffer: discard timestamps that are at the start of the buffer\n  ring-buffer: try to discard unneeded timestamps\n  ring-buffer: fix bug in ring_buffer_discard_commit\n  ftrace: do not profile functions when disabled\n  tracing: make trace pipe recognize latency format flag\n  ...\n"
    },
    {
      "commit": "42ddc4cbbad1b87b00e00095305d61cc248c2305",
      "tree": "02ca6642c29ad0cca2ab41b1d72fe02df148cdc4",
      "parents": [
        "51e95bed6263f6a2e558ca04fc4ff877f3b0cca3",
        "818cf5909701806285d977f7a9365c5cadb062a7",
        "1f0532eb617d28f65c93593a1491f662f14f7eac"
      ],
      "author": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Wed May 06 10:27:43 2009 +0300"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Wed May 06 10:27:43 2009 +0300"
      },
      "message": "Merge branches \u0027topic/documentation\u0027, \u0027topic/slub/fixes\u0027 and \u0027topic/urgent\u0027 into for-linus\n"
    },
    {
      "commit": "1eb5ac6466d4be7b15b38ce3ab709600f1bc891f",
      "tree": "f10c11cb78e8b4716fe4c98d1fa838a7cd19e9b0",
      "parents": [
        "ce8a7424d23a36f043d0de8484f888971c831119"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Tue May 05 19:13:44 2009 +1000"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Wed May 06 10:23:02 2009 +0300"
      },
      "message": "mm: SLUB fix reclaim_state\n\nSLUB does not correctly account reclaim_state.reclaimed_slab, so it will\nbreak memory reclaim. Account it like SLAB does.\n\nCc: stable@kernel.org\nCc: linux-mm@kvack.org\nCc: Matt Mackall \u003cmpm@selenic.com\u003e\nAcked-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\n"
    },
    {
      "commit": "818cf5909701806285d977f7a9365c5cadb062a7",
      "tree": "f3a4d1f11d6ef32738f761d258e502b8791b199e",
      "parents": [
        "f4efdd65b754ebbf41484d3a2255c59282720650"
      ],
      "author": {
        "name": "David Rientjes",
        "email": "rientjes@google.com",
        "time": "Thu Apr 23 09:58:22 2009 +0300"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Thu Apr 23 09:58:22 2009 +0300"
      },
      "message": "slub: enforce MAX_ORDER\n\nslub_max_order may not be equal to or greater than MAX_ORDER.\n\nAdditionally, if a single object cannot be placed in a slab of\nslub_max_order, it still must allocate slabs below MAX_ORDER.\n\nAcked-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nSigned-off-by: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\n"
    },
    {
      "commit": "02af61bb50f5d5f0322dbe5ab2a0d75808d25c7b",
      "tree": "fa087ed8a584d7b66016e6a1421e538369d52e5a",
      "parents": [
        "abd41443ac76d3e9c29a8c1d9e9a3312306cc55e"
      ],
      "author": {
        "name": "Zhaolei",
        "email": "zhaolei@cn.fujitsu.com",
        "time": "Fri Apr 10 14:26:18 2009 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Apr 12 15:22:55 2009 +0200"
      },
      "message": "tracing, kmemtrace: Separate include/trace/kmemtrace.h to kmemtrace part and tracepoint part\n\nImpact: refactor code for future changes\n\nCurrent kmemtrace.h is used both as header file of kmemtrace and kmem\u0027s\ntracepoints definition.\n\nTracepoints\u0027 definition file may be used by other code, and should only have\ndefinition of tracepoint.\n\nWe can separate include/trace/kmemtrace.h into 2 files:\n\n  include/linux/kmemtrace.h: header file for kmemtrace\n  include/trace/kmem.h:      definition of kmem tracepoints\n\nSigned-off-by: Zhao Lei \u003czhaolei@cn.fujitsu.com\u003e\nAcked-by: Eduard - Gabriel Munteanu \u003ceduard.munteanu@linux360.ro\u003e\nAcked-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Tom Zanussi \u003ctzanussi@gmail.com\u003e\nLKML-Reference: \u003c49DEE68A.5040902@cn.fujitsu.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "2121db74ba0fd2259f0e2265511684fadda9ac49",
      "tree": "823401f3bce7018535ceea69103a28accd5794f7",
      "parents": [
        "c826e3cd0c931d60d548f2468122da570d145556"
      ],
      "author": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Wed Mar 25 11:05:57 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Apr 03 12:23:10 2009 +0200"
      },
      "message": "kmemtrace: trace kfree() calls with NULL or zero-length objects\n\nImpact: also output kfree(NULL) entries\n\nThis patch moves the trace_kfree() calls before the ZERO_OR_NULL_PTR\ncheck so that we can trace call-sites that call kfree() with NULL many\ntimes which might be an indication of a bug.\n\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nCc: Eduard - Gabriel Munteanu \u003ceduard.munteanu@linux360.ro\u003e\nLKML-Reference: \u003c1237971957.30175.18.camel@penberg-laptop\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ca2b84cb3c4a0d4d2143b46ec072cdff5d1b3b87",
      "tree": "7163bac040f11c444b24cab53c4a784df73fa4f3",
      "parents": [
        "ac44021fccd8f1f2b267b004f23a2e8d7ef05f7b"
      ],
      "author": {
        "name": "Eduard - Gabriel Munteanu",
        "email": "eduard.munteanu@linux360.ro",
        "time": "Mon Mar 23 15:12:24 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Apr 03 12:23:06 2009 +0200"
      },
      "message": "kmemtrace: use tracepoints\n\nkmemtrace now uses tracepoints instead of markers. We no longer need to\nuse format specifiers to pass arguments.\n\nSigned-off-by: Eduard - Gabriel Munteanu \u003ceduard.munteanu@linux360.ro\u003e\n[ folded: Use the new TP_PROTO and TP_ARGS to fix the build.     ]\n[ folded: fix build when CONFIG_KMEMTRACE is disabled.           ]\n[ folded: define tracepoints when CONFIG_TRACEPOINTS is enabled. ]\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nLKML-Reference: \u003cae61c0f37156db8ec8dc0d5778018edde60a92e3.1237813499.git.eduard.munteanu@linux360.ro\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "8302294f43250dc337108c51882a6007f2b1e2e0",
      "tree": "85acd4440799c46a372df9cad170fa0c21e59096",
      "parents": [
        "4fe70410d9a219dabb47328effccae7e7f2a6e26",
        "2e572895bf3203e881356a4039ab0fa428ed2639"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Apr 01 21:54:19 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Apr 02 00:49:02 2009 +0200"
      },
      "message": "Merge branch \u0027tracing/core-v2\u0027 into tracing-for-linus\n\nConflicts:\n\tinclude/linux/slub_def.h\n\tlib/Kconfig.debug\n\tmm/slob.c\n\tmm/slub.c\n"
    },
    {
      "commit": "c4e1aa67ed9e4e542a064bc271ddbf152b677e91",
      "tree": "2a2ca00bed0fc22b4eb83db092c9178868d8f76b",
      "parents": [
        "cf2f7d7c90279cdbc12429de278f3d27ac2050ae",
        "2f8501815256af8498904e68bd0984b1afffd6f8"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 30 17:17:35 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 30 17:17:35 2009 -0700"
      },
      "message": "Merge branch \u0027locking-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027locking-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (33 commits)\n  lockdep: fix deadlock in lockdep_trace_alloc\n  lockdep: annotate reclaim context (__GFP_NOFS), fix SLOB\n  lockdep: annotate reclaim context (__GFP_NOFS), fix\n  lockdep: build fix for !PROVE_LOCKING\n  lockstat: warn about disabled lock debugging\n  lockdep: use stringify.h\n  lockdep: simplify check_prev_add_irq()\n  lockdep: get_user_chars() redo\n  lockdep: simplify get_user_chars()\n  lockdep: add comments to mark_lock_irq()\n  lockdep: remove macro usage from mark_held_locks()\n  lockdep: fully reduce mark_lock_irq()\n  lockdep: merge the !_READ mark_lock_irq() helpers\n  lockdep: merge the _READ mark_lock_irq() helpers\n  lockdep: simplify mark_lock_irq() helpers #3\n  lockdep: further simplify mark_lock_irq() helpers\n  lockdep: simplify the mark_lock_irq() helpers\n  lockdep: split up mark_lock_irq()\n  lockdep: generate usage strings\n  lockdep: generate the state bit definitions\n  ...\n"
    },
    {
      "commit": "15a5b0a4912d98a9615ef457c7bde8d08195a771",
      "tree": "8a1b974d95acdc5a5c9cc96b9a5772f6b20bafda",
      "parents": [
        "8e0ee43bc2c3e19db56a4adaa9a9b04ce885cd84",
        "6e9ed0cc4b963fde66ab47d9fb19147631e44555",
        "6fb8f424393025674fde7869b59f485d1e352182",
        "c0bdb232b23b51c23e551041510ad6bea5ce5a92",
        "1a00df4a2cc001dd9f45890e690548c24b2fa2d9",
        "e8120ff1ffc51102ead1f4c98a3fd5d26fefc722"
      ],
      "author": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Tue Mar 24 10:25:21 2009 +0200"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Tue Mar 24 10:25:21 2009 +0200"
      },
      "message": "Merge branches \u0027topic/slob/cleanups\u0027, \u0027topic/slob/fixes\u0027, \u0027topic/slub/core\u0027, \u0027topic/slub/cleanups\u0027 and \u0027topic/slub/perf\u0027 into for-linus\n"
    },
    {
      "commit": "1a00df4a2cc001dd9f45890e690548c24b2fa2d9",
      "tree": "40137bca1657f6a9e9e10ff004d8ec6b3d6b39f2",
      "parents": [
        "6047a007d0f6b7395cd158f3bdda34ab39a48821"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Sat Mar 07 00:36:21 2009 +0900"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Mon Mar 23 09:43:52 2009 +0200"
      },
      "message": "slub: use get_track()\n\nUse get_track() in set_track()\n\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\n"
    },
    {
      "commit": "28b1bd1cbc33cae95a309691d814399a69cf3070",
      "tree": "6474d10332662f5302be0df8527c9e9e31e32a95",
      "parents": [
        "2602c3ba4508f528db024c1d209256513ea05de6",
        "1075414b06109a99b0e87601e84c74a95bd45681"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Mar 04 18:49:19 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Mar 04 18:49:19 2009 +0100"
      },
      "message": "Merge branch \u0027core/locking\u0027 into tracing/ftrace\n"
    },
    {
      "commit": "c0bdb232b23b51c23e551041510ad6bea5ce5a92",
      "tree": "c904332ff38d1dac3450734a47997b6d0eca07fc",
      "parents": [
        "73d342b169db700b5a6ad626fe4b86911efec8db"
      ],
      "author": {
        "name": "David Rientjes",
        "email": "rientjes@google.com",
        "time": "Wed Feb 25 09:16:35 2009 +0200"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Wed Feb 25 09:16:35 2009 +0200"
      },
      "message": "slub: rename calculate_min_partial() to set_min_partial()\n\nAs suggested by Christoph Lameter, rename calculate_min_partial() to\nset_min_partial() as the function doesn\u0027t really do any calculations.\n\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nSigned-off-by: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\n"
    },
    {
      "commit": "73d342b169db700b5a6ad626fe4b86911efec8db",
      "tree": "6ddde0ce99c195eb51e42fae754f8b512e35ce53",
      "parents": [
        "3b89d7d881a1dbb4da158f7eb5d6b3ceefc72810"
      ],
      "author": {
        "name": "David Rientjes",
        "email": "rientjes@google.com",
        "time": "Sun Feb 22 17:40:09 2009 -0800"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Mon Feb 23 12:05:46 2009 +0200"
      },
      "message": "slub: add min_partial sysfs tunable\n\nNow that a cache\u0027s min_partial has been moved to struct kmem_cache, it\u0027s\npossible to easily tune it from userspace by adding a sysfs attribute.\n\nIt may not be desirable to keep a large number of partial slabs around\nif a cache is used infrequently and memory, especially when constrained\nby a cgroup, is scarce.  It\u0027s better to allow userspace to set the\nminimum policy per cache instead of relying explicitly on\nkmem_cache_shrink().\n\nThe memory savings from simply moving min_partial from struct\nkmem_cache_node to struct kmem_cache is obviously not significant\n(unless maybe you\u0027re from SGI or something), at the largest it\u0027s\n\n\t# allocated caches * (MAX_NUMNODES - 1) * sizeof(unsigned long)\n\nThe true savings occurs when userspace reduces the number of partial\nslabs that would otherwise be wasted, especially on machines with a\nlarge number of nodes (ia64 with CONFIG_NODES_SHIFT at 10 for default?).\nAs well as the kernel estimates ideal values for n-\u003emin_partial and\nensures it\u0027s within a sane range, userspace has no other input other\nthan writing to /sys/kernel/slab/cache/shrink.\n\nThere simply isn\u0027t any better heuristic to add when calculating the\npartial values for a better estimate that works for all possible caches.\nAnd since it\u0027s currently a static value, the user really has no way of\nreclaiming that wasted space, which can be significant when constrained\nby a cgroup (either cpusets or, later, memory controller slab limits)\nwithout shrinking it entirely.\n\nThis also allows the user to specify that increased fragmentation and\nmore partial slabs are actually desired to avoid the cost of allocating\nnew slabs at runtime for specific caches.\n\nThere\u0027s also no reason why this should be a per-struct kmem_cache_node\nvalue in the first place.  You could argue that a machine would have\nsuch node size asymmetries that it should be specified on a per-node\nbasis, but we know nobody is doing that right now since it\u0027s a purely\nstatic value at the moment and there\u0027s no convenient way to tune that\nvia slub\u0027s sysfs interface.\n\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nSigned-off-by: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\n"
    },
    {
      "commit": "3b89d7d881a1dbb4da158f7eb5d6b3ceefc72810",
      "tree": "48c119937a204172677a5fa3a829019890670350",
      "parents": [
        "b578f3fcca1e78624dfb5f358776e63711d7fda2"
      ],
      "author": {
        "name": "David Rientjes",
        "email": "rientjes@google.com",
        "time": "Sun Feb 22 17:40:07 2009 -0800"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Mon Feb 23 12:05:41 2009 +0200"
      },
      "message": "slub: move min_partial to struct kmem_cache\n\nAlthough it allows for better cacheline use, it is unnecessary to save a\ncopy of the cache\u0027s min_partial value in each kmem_cache_node.\n\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nSigned-off-by: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\n"
    },
    {
      "commit": "057685cf57066bc8aaed68de1b1970e12f0075d2",
      "tree": "e7fea68e7080d6366b45775028bfbdf6237ecda5",
      "parents": [
        "64b36ca7f408e0bd45487c8c28f168f11f3b6dcd",
        "fe1200b63d158b28eef6d4de1e5b5f99c681ba2f"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Feb 20 12:15:30 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Feb 20 12:15:30 2009 +0100"
      },
      "message": "Merge branch \u0027for-ingo\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/slab-2.6 into tracing/kmemtrace\n\nConflicts:\n\tmm/slub.c\n"
    },
    {
      "commit": "fe1200b63d158b28eef6d4de1e5b5f99c681ba2f",
      "tree": "bff176ef50efbc161e240ec4295a6da815eae997",
      "parents": [
        "b578f3fcca1e78624dfb5f358776e63711d7fda2"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "cl@linux-foundation.org",
        "time": "Tue Feb 17 12:05:07 2009 -0500"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Fri Feb 20 12:28:36 2009 +0200"
      },
      "message": "SLUB: Introduce and use SLUB_MAX_SIZE and SLUB_PAGE_SHIFT constants\n\nAs a preparational patch to bump up page allocator pass-through threshold,\nintroduce two new constants SLUB_MAX_SIZE and SLUB_PAGE_SHIFT and convert\nmm/slub.c to use them.\n\nReported-by: \"Zhang, Yanmin\" \u003cyanmin_zhang@linux.intel.com\u003e\nTested-by: \"Zhang, Yanmin\" \u003cyanmin_zhang@linux.intel.com\u003e\nSigned-off-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\n"
    },
    {
      "commit": "e8120ff1ffc51102ead1f4c98a3fd5d26fefc722",
      "tree": "3cdadf0dc36df4a34f5ef30a788ef62d3a601de8",
      "parents": [
        "51735a7ca67531267a27b57e5fe20f7815192f9c"
      ],
      "author": {
        "name": "Zhang Yanmin",
        "email": "yanmin.zhang@linux.intel.com",
        "time": "Thu Feb 12 18:00:17 2009 +0200"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Fri Feb 20 12:26:12 2009 +0200"
      },
      "message": "SLUB: Fix default slab order for big object sizes\n\nThe default order of kmalloc-8192 on 2*4 stoakley is an issue of\ncalculate_order.\n\nslab_size       order           name\n-------------------------------------------------\n4096            3               sgpool-128\n8192            2               kmalloc-8192\n16384           3               kmalloc-16384\n\nkmalloc-8192\u0027s default order is smaller than sgpool-128\u0027s.\n\nOn 4*4 tigerton machine, a similiar issue appears on another kmem_cache.\n\nFunction calculate_order uses \u0027min_objects /\u003d 2;\u0027 to shrink. Plus size\ncalculation/checking in slab_order, sometimes above issue appear.\n\nBelow patch against 2.6.29-rc2 fixes it.\n\nI checked the default orders of all kmem_cache and they don\u0027t become\nsmaller than before. So the patch wouldn\u0027t hurt performance.\n\nSigned-off-by Zhang Yanmin \u003cyanmin.zhang@linux.intel.com\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\n"
    },
    {
      "commit": "ffadd4d0feb5376c82dc3a4104731b7ce2794edc",
      "tree": "bff176ef50efbc161e240ec4295a6da815eae997",
      "parents": [
        "b578f3fcca1e78624dfb5f358776e63711d7fda2"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "cl@linux-foundation.org",
        "time": "Tue Feb 17 12:05:07 2009 -0500"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Fri Feb 20 12:22:44 2009 +0200"
      },
      "message": "SLUB: Introduce and use SLUB_MAX_SIZE and SLUB_PAGE_SHIFT constants\n\nAs a preparational patch to bump up page allocator pass-through threshold,\nintroduce two new constants SLUB_MAX_SIZE and SLUB_PAGE_SHIFT and convert\nmm/slub.c to use them.\n\nReported-by: \"Zhang, Yanmin\" \u003cyanmin_zhang@linux.intel.com\u003e\nTested-by: \"Zhang, Yanmin\" \u003cyanmin_zhang@linux.intel.com\u003e\nSigned-off-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\n"
    },
    {
      "commit": "cf40bd16fdad42c053040bcd3988f5fdedbb6c57",
      "tree": "d97ab25726981712be806d77650b7f65167cfc88",
      "parents": [
        "6f2b9b9a9d750a9175dc79c74bfed5add840983c"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Wed Jan 21 08:12:39 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Feb 14 23:27:49 2009 +0100"
      },
      "message": "lockdep: annotate reclaim context (__GFP_NOFS)\n\nHere is another version, with the incremental patch rolled up, and\nadded reclaim context annotation to kswapd, and allocation tracing\nto slab allocators (which may only ever reach the page allocator\nin rare cases, so it is good to put annotations here too).\n\nHaven\u0027t tested this version as such, but it should be getting closer\nto merge worthy ;)\n\n--\nAfter noticing some code in mm/filemap.c accidentally perform a __GFP_FS\nallocation when it should not have been, I thought it might be a good idea to\ntry to catch this kind of thing with lockdep.\n\nI coded up a little idea that seems to work. Unfortunately the system has to\nactually be in __GFP_FS page reclaim, then take the lock, before it will mark\nit. But at least that might still be some orders of magnitude more common\n(and more debuggable) than an actual deadlock condition, so we have some\nimprovement I hope (the concept is no less complete than discovery of a lock\u0027s\ninterrupt contexts).\n\nI guess we could even do the same thing with __GFP_IO (normal reclaim), and\neven GFP_NOIO locks too... but filesystems will have the most locks and fiddly\ncode paths, so let\u0027s start there and see how it goes.\n\nIt *seems* to work. I did a quick test.\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n[ INFO: inconsistent lock state ]\n2.6.28-rc6-00007-ged31348-dirty #26\n---------------------------------\ninconsistent {in-reclaim-W} -\u003e {ov-reclaim-W} usage.\nmodprobe/8526 [HC0[0]:SC0[0]:HE1:SE1] takes:\n (testlock){--..}, at: [\u003cffffffffa0020055\u003e] brd_init+0x55/0x216 [brd]\n{in-reclaim-W} state was registered at:\n  [\u003cffffffff80267bdb\u003e] __lock_acquire+0x75b/0x1a60\n  [\u003cffffffff80268f71\u003e] lock_acquire+0x91/0xc0\n  [\u003cffffffff8070f0e1\u003e] mutex_lock_nested+0xb1/0x310\n  [\u003cffffffffa002002b\u003e] brd_init+0x2b/0x216 [brd]\n  [\u003cffffffff8020903b\u003e] _stext+0x3b/0x170\n  [\u003cffffffff80272ebf\u003e] sys_init_module+0xaf/0x1e0\n  [\u003cffffffff8020c3fb\u003e] system_call_fastpath+0x16/0x1b\n  [\u003cffffffffffffffff\u003e] 0xffffffffffffffff\nirq event stamp: 3929\nhardirqs last  enabled at (3929): [\u003cffffffff8070f2b5\u003e] mutex_lock_nested+0x285/0x310\nhardirqs last disabled at (3928): [\u003cffffffff8070f089\u003e] mutex_lock_nested+0x59/0x310\nsoftirqs last  enabled at (3732): [\u003cffffffff8061f623\u003e] sk_filter+0x83/0xe0\nsoftirqs last disabled at (3730): [\u003cffffffff8061f5b6\u003e] sk_filter+0x16/0xe0\n\nother info that might help us debug this:\n1 lock held by modprobe/8526:\n #0:  (testlock){--..}, at: [\u003cffffffffa0020055\u003e] brd_init+0x55/0x216 [brd]\n\nstack backtrace:\nPid: 8526, comm: modprobe Not tainted 2.6.28-rc6-00007-ged31348-dirty #26\nCall Trace:\n [\u003cffffffff80265483\u003e] print_usage_bug+0x193/0x1d0\n [\u003cffffffff80266530\u003e] mark_lock+0xaf0/0xca0\n [\u003cffffffff80266735\u003e] mark_held_locks+0x55/0xc0\n [\u003cffffffffa0020000\u003e] ? brd_init+0x0/0x216 [brd]\n [\u003cffffffff802667ca\u003e] trace_reclaim_fs+0x2a/0x60\n [\u003cffffffff80285005\u003e] __alloc_pages_internal+0x475/0x580\n [\u003cffffffff8070f29e\u003e] ? mutex_lock_nested+0x26e/0x310\n [\u003cffffffffa0020000\u003e] ? brd_init+0x0/0x216 [brd]\n [\u003cffffffffa002006a\u003e] brd_init+0x6a/0x216 [brd]\n [\u003cffffffffa0020000\u003e] ? brd_init+0x0/0x216 [brd]\n [\u003cffffffff8020903b\u003e] _stext+0x3b/0x170\n [\u003cffffffff8070f8b9\u003e] ? mutex_unlock+0x9/0x10\n [\u003cffffffff8070f83d\u003e] ? __mutex_unlock_slowpath+0x10d/0x180\n [\u003cffffffff802669ec\u003e] ? trace_hardirqs_on_caller+0x12c/0x190\n [\u003cffffffff80272ebf\u003e] sys_init_module+0xaf/0x1e0\n [\u003cffffffff8020c3fb\u003e] system_call_fastpath+0x16/0x1b\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "1c511f740fe7031867f51831854360e8be1ba34c",
      "tree": "bd678fbc8117f751a3d1f8dc93b91c215ceaf66f",
      "parents": [
        "e7669b8e329255bbcb40af65b38e342825d97a46",
        "00f62f614bb713027b9296068d1879fbca511eb7",
        "b22f4858126a6aa852ad745b94f6b25dbdea708e",
        "071a0bc2ceace31266836801510879407a3701fa"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Feb 13 10:25:18 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Feb 13 10:25:18 2009 +0100"
      },
      "message": "Merge branches \u0027tracing/ftrace\u0027, \u0027tracing/ring-buffer\u0027, \u0027tracing/sysprof\u0027, \u0027tracing/urgent\u0027 and \u0027linus\u0027 into tracing/core\n"
    },
    {
      "commit": "b1aabecd55931ee754f6a913969516b26a0e682e",
      "tree": "a52357aabb016960d80fce9a7ad0f78441e9f5c1",
      "parents": [
        "b578f3fcca1e78624dfb5f358776e63711d7fda2"
      ],
      "author": {
        "name": "Kirill A. Shutemov",
        "email": "kirill@shutemov.name",
        "time": "Tue Feb 10 15:21:44 2009 +0200"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Thu Feb 12 17:50:46 2009 +0200"
      },
      "message": "mm: Export symbol ksize()\n\nCommit 7b2cd92adc5430b0c1adeb120971852b4ea1ab08 (\"crypto: api - Fix\nzeroing on free\") added modular user of ksize(). Export that to fix\ncrypto.ko compilation.\n\nCc: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: Kirill A. Shutemov \u003ckirill@shutemov.name\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\n"
    },
    {
      "commit": "dc573f9b20c8710105ac35c08ed0fe1da5160ecd",
      "tree": "24db0a0f6364b78f9c74e62541d26155e785b8f9",
      "parents": [
        "b3a8c34886d0e3dd3a24a5b614ee025181da2f41",
        "ecf441b593ac41cb8cd8cd3695110167c42e098c",
        "b1792e367053968f2ddb48bc911d314143ce6242"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Feb 03 06:25:38 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Feb 03 06:25:38 2009 +0100"
      },
      "message": "Merge branches \u0027tracing/ftrace\u0027, \u0027tracing/kmemtrace\u0027 and \u0027linus\u0027 into tracing/core\n"
    },
    {
      "commit": "3718909448116bf4411445468c58acc946379f92",
      "tree": "77d34de16274c12fb2bdcc946379a1c667f5671c",
      "parents": [
        "a6525042bfdfcab128bd91fad264de10fd24a55e"
      ],
      "author": {
        "name": "David Rientjes",
        "email": "rientjes@google.com",
        "time": "Tue Jan 27 18:59:46 2009 -0800"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Wed Jan 28 10:43:42 2009 +0200"
      },
      "message": "slub: fix per cpu kmem_cache_cpu array memory leak\n\nThe per cpu array of kmem_cache_cpu structures accomodates\nNR_KMEM_CACHE_CPU such structs.\n\nWhen this array overflows and a struct is allocated by kmalloc(), it may\nhave an address at the upper bound of this array.  If this happens, it\ndoes not get freed and the per cpu kmem_cache_cpu_free pointer will be out\nof bounds after kmem_cache_destroy() or cpu offlining.\n\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nSigned-off-by: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\n"
    },
    {
      "commit": "6047a007d0f6b7395cd158f3bdda34ab39a48821",
      "tree": "3d1bb724290a5134338f3b2496a7252a5ec8dcb8",
      "parents": [
        "a6525042bfdfcab128bd91fad264de10fd24a55e"
      ],
      "author": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Wed Jan 14 12:22:25 2009 +0200"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Wed Jan 14 17:04:59 2009 +0200"
      },
      "message": "SLUB: Use -\u003eobjsize from struct kmem_cache_cpu in slab_free()\n\nThere\u0027s no reason to use -\u003eobjsize from struct kmem_cache in slab_free() for\nthe SLAB_DEBUG_OBJECTS case. All it does is generate extra cache pressure as we\ntry very hard not to touch struct kmem_cache in the fast-path.\n\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\n"
    },
    {
      "commit": "99cd7074891f87c49660e3b2880564324a4733ac",
      "tree": "903d2665bcb445f1f265d1adf7a99f265bcefc15",
      "parents": [
        "e8a9cbf6ae620d9e5ba9cb42001c033287a284a3",
        "c59765042f53a79a7a65585042ff463b69cb248c"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Jan 11 03:43:52 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Jan 11 03:43:52 2009 +0100"
      },
      "message": "Merge commit \u0027v2.6.29-rc1\u0027 into tracing/urgent\n"
    },
    {
      "commit": "0211a9c8508b2183e0e539509aad60414f1c3813",
      "tree": "af5c78818202644f53d522229f25ee7bebb48cb6",
      "parents": [
        "025dfdafe77f20b3890981a394774baab7b9c827"
      ],
      "author": {
        "name": "Frederik Schwarzer",
        "email": "schwarzerf@gmail.com",
        "time": "Mon Dec 29 22:14:56 2008 +0100"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Tue Jan 06 11:28:07 2009 +0100"
      },
      "message": "trivial: fix an -\u003e a typos in documentation and comments\n\nIt is always \"an\" if there is a vowel _spoken_ (not written).\nSo it is:\n\"an hour\" (spoken vowel)\nbut\n\"a uniform\" (spoken \u0027j\u0027)\n\nSigned-off-by: Frederik Schwarzer \u003cschwarzerf@gmail.com\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "3d7a96f5a485b7d06c2379f343d7312af89ec9e2",
      "tree": "5f097f68eb0f9fd3fa4a10f38672e300e9127b10",
      "parents": [
        "723cbe0775514853c22dc45005af59c360916af1",
        "238c6d54830c624f34ac9cf123ac04aebfca5013"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jan 06 09:53:05 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jan 06 09:53:05 2009 +0100"
      },
      "message": "Merge branch \u0027linus\u0027 into tracing/kmemtrace2\n"
    },
    {
      "commit": "174596a0b9f21e8844d70566a6bb29bf48a87750",
      "tree": "e16bc37554afe1996c464cadb09764290b4ff3be",
      "parents": [
        "41c7bb9588904eb060a95bcad47bd3804a1ece25"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Jan 01 10:12:29 2009 +1030"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Jan 01 10:12:29 2009 +1030"
      },
      "message": "cpumask: convert mm/\n\nImpact: Use new API\n\nConvert kernel mm functions to use struct cpumask.\n\nWe skip include/linux/percpu.h and mm/allocpercpu.c, which are in flux.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Mike Travis \u003ctravis@sgi.com\u003e\nReviewed-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2ca1a615835d9f4990f42102ab1f2ef434e7e89c",
      "tree": "726cf3d5f29a6c66c44e4bd68e7ebed2fd83d059",
      "parents": [
        "e12f0102ac81d660c9f801d0a0e10ccf4537a9de",
        "6a94cb73064c952255336cc57731904174b2c58f"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Wed Dec 31 23:05:57 2008 +1030"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Wed Dec 31 23:05:57 2008 +1030"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6\n\nConflicts:\n\n\tarch/x86/kernel/io_apic.c\n"
    },
    {
      "commit": "818fa7f3908c7bd6c0045e9d94dc23a899ef6144",
      "tree": "ad3435c3f57c8222ad61709b716168932f13be6c",
      "parents": [
        "3fd4bc015ef879a7d2b955ce97fb125e3a51ba7e",
        "5fdf7e5975a0b0f6a0370655612c5dca3fd6311b"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 31 08:19:48 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 31 08:19:48 2008 +0100"
      },
      "message": "Merge branch \u0027tracing/kmemtrace\u0027 into tracing/kmemtrace2\n"
    },
    {
      "commit": "5fdf7e5975a0b0f6a0370655612c5dca3fd6311b",
      "tree": "639c536e818c6ace974aa285ba94576df0353b01",
      "parents": [
        "7a51cffbd10886c0557677dd916c090097c691ef",
        "6a94cb73064c952255336cc57731904174b2c58f"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 31 08:14:29 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 31 08:14:29 2008 +0100"
      },
      "message": "Merge branch \u0027linus\u0027 into tracing/kmemtrace\n\nConflicts:\n\tmm/slub.c\n"
    },
    {
      "commit": "36994e58a48fb8f9651c7dc845a6de298aba5bfc",
      "tree": "fac4b8a1c30560e91460651487f3a57ef7f2b5cc",
      "parents": [
        "7a51cffbd10886c0557677dd916c090097c691ef"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Mon Dec 29 13:42:23 2008 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Dec 30 09:36:13 2008 +0100"
      },
      "message": "tracing/kmemtrace: normalize the raw tracer event to the unified tracing API\n\nImpact: new tracer plugin\n\nThis patch adapts kmemtrace raw events tracing to the unified tracing API.\n\nTo enable and use this tracer, just do the following:\n\n echo kmemtrace \u003e /debugfs/tracing/current_tracer\n cat /debugfs/tracing/trace\n\nYou will have the following output:\n\n # tracer: kmemtrace\n #\n #\n # ALLOC  TYPE  REQ   GIVEN  FLAGS           POINTER         NODE    CALLER\n # FREE   |      |     |       |              |   |            |        |\n # |\n\ntype_id 1 call_site 18446744071565527833 ptr 18446612134395152256\ntype_id 0 call_site 18446744071565585597 ptr 18446612134405955584 bytes_req 4096 bytes_alloc 4096 gfp_flags 208 node -1\ntype_id 1 call_site 18446744071565585534 ptr 18446612134405955584\ntype_id 0 call_site 18446744071565585597 ptr 18446612134405955584 bytes_req 4096 bytes_alloc 4096 gfp_flags 208 node -1\ntype_id 0 call_site 18446744071565636711 ptr 18446612134345164672 bytes_req 240 bytes_alloc 240 gfp_flags 208 node -1\ntype_id 1 call_site 18446744071565585534 ptr 18446612134405955584\ntype_id 0 call_site 18446744071565585597 ptr 18446612134405955584 bytes_req 4096 bytes_alloc 4096 gfp_flags 208 node -1\ntype_id 0 call_site 18446744071565636711 ptr 18446612134345164912 bytes_req 240 bytes_alloc 240 gfp_flags 208 node -1\ntype_id 1 call_site 18446744071565585534 ptr 18446612134405955584\ntype_id 0 call_site 18446744071565585597 ptr 18446612134405955584 bytes_req 4096 bytes_alloc 4096 gfp_flags 208 node -1\ntype_id 0 call_site 18446744071565636711 ptr 18446612134345165152 bytes_req 240 bytes_alloc 240 gfp_flags 208 node -1\ntype_id 0 call_site 18446744071566144042 ptr 18446612134346191680 bytes_req 1304 bytes_alloc 1312 gfp_flags 208 node -1\ntype_id 1 call_site 18446744071565585534 ptr 18446612134405955584\ntype_id 0 call_site 18446744071565585597 ptr 18446612134405955584 bytes_req 4096 bytes_alloc 4096 gfp_flags 208 node -1\ntype_id 1 call_site 18446744071565585534 ptr 18446612134405955584\n\nThat was to stay backward compatible with the format output produced in\ninux/tracepoint.h.\n\nThis is the default ouput, but note that I tried something else.\n\nIf you change an option:\n\necho kmem_minimalistic \u003e /debugfs/trace_options\n\nand then cat /debugfs/trace, you will have the following output:\n\n # tracer: kmemtrace\n #\n #\n # ALLOC  TYPE  REQ   GIVEN  FLAGS           POINTER         NODE    CALLER\n # FREE   |      |     |       |              |   |            |        |\n # |\n\n   -      C                            0xffff88007c088780          file_free_rcu\n   +      K   4096   4096   000000d0   0xffff88007cad6000     -1   getname\n   -      C                            0xffff88007cad6000          putname\n   +      K   4096   4096   000000d0   0xffff88007cad6000     -1   getname\n   +      K    240    240   000000d0   0xffff8800790dc780     -1   d_alloc\n   -      C                            0xffff88007cad6000          putname\n   +      K   4096   4096   000000d0   0xffff88007cad6000     -1   getname\n   +      K    240    240   000000d0   0xffff8800790dc870     -1   d_alloc\n   -      C                            0xffff88007cad6000          putname\n   +      K   4096   4096   000000d0   0xffff88007cad6000     -1   getname\n   +      K    240    240   000000d0   0xffff8800790dc960     -1   d_alloc\n   +      K   1304   1312   000000d0   0xffff8800791d7340     -1   reiserfs_alloc_inode\n   -      C                            0xffff88007cad6000          putname\n   +      K   4096   4096   000000d0   0xffff88007cad6000     -1   getname\n   -      C                            0xffff88007cad6000          putname\n   +      K    992   1000   000000d0   0xffff880079045b58     -1   alloc_inode\n   +      K    768   1024   000080d0   0xffff88007c096400     -1   alloc_pipe_info\n   +      K    240    240   000000d0   0xffff8800790dca50     -1   d_alloc\n   +      K    272    320   000080d0   0xffff88007c088780     -1   get_empty_filp\n   +      K    272    320   000080d0   0xffff88007c088000     -1   get_empty_filp\n\nYeah I shall confess kmem_minimalistic should be: kmem_alternative.\n\nWhatever, I find it more readable but this a personal opinion of course.\nWe can drop it if you want.\n\nOn the ALLOC/FREE column, + means an allocation and - a free.\n\nOn the type column, you have K \u003d kmalloc, C \u003d cache, P \u003d page\n\nI would like the flags to be GFP_* strings but that would not be easy to not\nbreak the column with strings....\n\nAbout the node...it seems to always be -1. I don\u0027t know why but that shouldn\u0027t\nbe difficult to find.\n\nI moved linux/tracepoint.h to trace/tracepoint.h as well. I think that would\nbe more easy to find the tracer headers if they are all in their common\ndirectory.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "2a38b1c4f123afa4579cb1d29380b337e9195cbb",
      "tree": "cd99077aa83cd521c831aa3157e058eb4125e0c7",
      "parents": [
        "2ff9f9d9629bf9530fe2ab8d803d612761ffc059"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Dec 29 15:29:04 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Dec 30 06:56:21 2008 +0100"
      },
      "message": "kmemtrace: move #include lines\n\nImpact: avoid conflicts with kmemcheck\n\nkmemcheck modifies the same area of slab.c and slub.c - move the\ninclude lines up a bit.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "2ff9f9d9629bf9530fe2ab8d803d612761ffc059",
      "tree": "b22e3fddffbc0f58b1e1974f4819896d58b7bdaf",
      "parents": [
        "0f01f07fad4ee11d98fe6faa442afbeb0328a378",
        "a4900437f3d76761a1646cd90254ccb01714a9ed"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Dec 29 15:16:24 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Dec 29 15:16:24 2008 +0100"
      },
      "message": "Merge branch \u0027topic/kmemtrace\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/slab-2.6 into tracing/kmemtrace\n"
    },
    {
      "commit": "2e67624c22321fa40ad3aa89c307c84bd679d9b2",
      "tree": "59ff23c741060b51a03abdcb74f1e779fd72c2da",
      "parents": [
        "94b528d0564997d88e8bf166d8c9080536ad8bdc"
      ],
      "author": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Mon Sep 01 10:11:54 2008 +0300"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Mon Dec 29 15:34:14 2008 +0200"
      },
      "message": "kmemtrace: remove unnecessary casts\n\nNow that we use _RET_IP_ there\u0027s no need to cast \u0027caller\u0027 to unsigned long.\n\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\n"
    },
    {
      "commit": "94b528d0564997d88e8bf166d8c9080536ad8bdc",
      "tree": "257c157b40ce0384bff93640d2cfbb56d875d229",
      "parents": [
        "73cd6af0413225b0ada8b8881c3e0cfd26506dfa"
      ],
      "author": {
        "name": "Eduard - Gabriel Munteanu",
        "email": "eduard.munteanu@linux360.ro",
        "time": "Sun Aug 24 20:49:35 2008 +0300"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Mon Dec 29 15:34:12 2008 +0200"
      },
      "message": "kmemtrace: SLUB hooks for caller-tracking functions.\n\nThis patch adds kmemtrace hooks for __kmalloc_track_caller() and\n__kmalloc_node_track_caller(). Currently, they set the call site pointer\nto the value recieved as a parameter. (This could change if we implement\nstack trace exporting in kmemtrace.)\n\nSigned-off-by: Eduard - Gabriel Munteanu \u003ceduard.munteanu@linux360.ro\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\n"
    },
    {
      "commit": "5b882be4e00e53a44f47ad7eb997cac2938848bf",
      "tree": "a3f21e64af805bf4c13ac98dda50b0b06678d039",
      "parents": [
        "3eae2cb24a96509e0a38cc48dc1538a2826f4e33"
      ],
      "author": {
        "name": "Eduard - Gabriel Munteanu",
        "email": "eduard.munteanu@linux360.ro",
        "time": "Tue Aug 19 20:43:26 2008 +0300"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Mon Dec 29 15:34:07 2008 +0200"
      },
      "message": "kmemtrace: SLUB hooks.\n\nThis adds hooks for the SLUB allocator, to allow tracing with kmemtrace.\n\nSigned-off-by: Eduard - Gabriel Munteanu \u003ceduard.munteanu@linux360.ro\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\n"
    }
  ],
  "next": "35995a4d815586bc968a857f7235707940a2f755"
}
