)]}'
{
  "log": [
    {
      "commit": "4481374ce88ba8f460c8b89f2572027bd27057d0",
      "tree": "6896601b6a1da0e3e932ffa75fcff966c834c02c",
      "parents": [
        "4738e1b9cf8f9e28d7de080a5e6ce5d0095ea18f"
      ],
      "author": {
        "name": "Jan Beulich",
        "email": "JBeulich@novell.com",
        "time": "Mon Sep 21 17:03:05 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:38 2009 -0700"
      },
      "message": "mm: replace various uses of num_physpages by totalram_pages\n\nSizing of memory allocations shouldn\u0027t depend on the number of physical\npages found in a system, as that generally includes (perhaps a huge amount\nof) non-RAM pages.  The amount of what actually is usable as storage\nshould instead be used as a basis here.\n\nSome of the calculations (i.e.  those not intending to use high memory)\nshould likely even use (totalram_pages - totalhigh_pages).\n\nSigned-off-by: Jan Beulich \u003cjbeulich@novell.com\u003e\nAcked-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Dave Airlie \u003cairlied@linux.ie\u003e\nCc: Kyle McMartin \u003ckyle@mcmartin.ca\u003e\nCc: Jeremy Fitzhardinge \u003cjeremy@goop.org\u003e\nCc: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nCc: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ec5a36f94e7ca4b1f28ae4dd135cd415a704e772",
      "tree": "04867e524b616871cc2d564d30e3f376f702e34c",
      "parents": [
        "7ed9f7e5db58c6e8c2b4b738a75d5dcd8e17aad5"
      ],
      "author": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Mon Jun 29 09:57:10 2009 +0300"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Mon Jun 29 09:57:10 2009 +0300"
      },
      "message": "SLAB: Fix lockdep annotations\n\nCommit 8429db5... (\"slab: setup cpu caches later on when interrupts are\nenabled\") broke mm/slab.c lockdep annotations:\n\n  [   11.554715] \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n  [   11.555249] [ INFO: possible recursive locking detected ]\n  [   11.555560] 2.6.31-rc1 #896\n  [   11.555861] ---------------------------------------------\n  [   11.556127] udevd/1899 is trying to acquire lock:\n  [   11.556436]  (\u0026nc-\u003elock){-.-...}, at: [\u003cffffffff810c337f\u003e] kmem_cache_free+0xcd/0x25b\n  [   11.557101]\n  [   11.557102] but task is already holding lock:\n  [   11.557706]  (\u0026nc-\u003elock){-.-...}, at: [\u003cffffffff810c3cd0\u003e] kfree+0x137/0x292\n  [   11.558109]\n  [   11.558109] other info that might help us debug this:\n  [   11.558720] 2 locks held by udevd/1899:\n  [   11.558983]  #0:  (\u0026nc-\u003elock){-.-...}, at: [\u003cffffffff810c3cd0\u003e] kfree+0x137/0x292\n  [   11.559734]  #1:  (\u0026parent-\u003elist_lock){-.-...}, at: [\u003cffffffff810c36c7\u003e] __drain_alien_cache+0x3b/0xbd\n  [   11.560442]\n  [   11.560443] stack backtrace:\n  [   11.561009] Pid: 1899, comm: udevd Not tainted 2.6.31-rc1 #896\n  [   11.561276] Call Trace:\n  [   11.561632]  [\u003cffffffff81065ed6\u003e] __lock_acquire+0x15ec/0x168f\n  [   11.561901]  [\u003cffffffff81065f60\u003e] ? __lock_acquire+0x1676/0x168f\n  [   11.562171]  [\u003cffffffff81063c52\u003e] ? trace_hardirqs_on_caller+0x113/0x13e\n  [   11.562490]  [\u003cffffffff8150c337\u003e] ? trace_hardirqs_on_thunk+0x3a/0x3f\n  [   11.562807]  [\u003cffffffff8106603a\u003e] lock_acquire+0xc1/0xe5\n  [   11.563073]  [\u003cffffffff810c337f\u003e] ? kmem_cache_free+0xcd/0x25b\n  [   11.563385]  [\u003cffffffff8150c8fc\u003e] _spin_lock+0x31/0x66\n  [   11.563696]  [\u003cffffffff810c337f\u003e] ? kmem_cache_free+0xcd/0x25b\n  [   11.563964]  [\u003cffffffff810c337f\u003e] kmem_cache_free+0xcd/0x25b\n  [   11.564235]  [\u003cffffffff8109bf8c\u003e] ? __free_pages+0x1b/0x24\n  [   11.564551]  [\u003cffffffff810c3564\u003e] slab_destroy+0x57/0x5c\n  [   11.564860]  [\u003cffffffff810c3641\u003e] free_block+0xd8/0x123\n  [   11.565126]  [\u003cffffffff810c372e\u003e] __drain_alien_cache+0xa2/0xbd\n  [   11.565441]  [\u003cffffffff810c3ce5\u003e] kfree+0x14c/0x292\n  [   11.565752]  [\u003cffffffff8144a007\u003e] skb_release_data+0xc6/0xcb\n  [   11.566020]  [\u003cffffffff81449cf0\u003e] __kfree_skb+0x19/0x86\n  [   11.566286]  [\u003cffffffff81449d88\u003e] consume_skb+0x2b/0x2d\n  [   11.566631]  [\u003cffffffff8144cbe0\u003e] skb_free_datagram+0x14/0x3a\n  [   11.566901]  [\u003cffffffff81462eef\u003e] netlink_recvmsg+0x164/0x258\n  [   11.567170]  [\u003cffffffff81443461\u003e] sock_recvmsg+0xe5/0xfe\n  [   11.567486]  [\u003cffffffff810ab063\u003e] ? might_fault+0xaf/0xb1\n  [   11.567802]  [\u003cffffffff81053a78\u003e] ? autoremove_wake_function+0x0/0x38\n  [   11.568073]  [\u003cffffffff810d84ca\u003e] ? core_sys_select+0x3d/0x2b4\n  [   11.568378]  [\u003cffffffff81065f60\u003e] ? __lock_acquire+0x1676/0x168f\n  [   11.568693]  [\u003cffffffff81442dc1\u003e] ? sockfd_lookup_light+0x1b/0x54\n  [   11.568961]  [\u003cffffffff81444416\u003e] sys_recvfrom+0xa3/0xf8\n  [   11.569228]  [\u003cffffffff81063c8a\u003e] ? trace_hardirqs_on+0xd/0xf\n  [   11.569546]  [\u003cffffffff8100af2b\u003e] system_call_fastpath+0x16/0x1b#\n\nFix that up.\n\nCloses-bug: http://bugzilla.kernel.org/show_bug.cgi?id\u003d13654\nTested-by: Venkatesh Pallipadi \u003cvenkatesh.pallipadi@intel.com\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\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": "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": "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": "b6e68bc1baed9b6972a250aba66b8c5276cf6fb1",
      "tree": "193af67b8333417347b9324e4bf9963d7cf0a872",
      "parents": [
        "62bc62a873116805774ffd37d7f86aa4faa832b1"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mel@csn.ul.ie",
        "time": "Tue Jun 16 15:32:16 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 16 19:47:35 2009 -0700"
      },
      "message": "page allocator: slab: use nr_online_nodes to check for a NUMA platform\n\nSLAB currently avoids checking a bitmap repeatedly by checking once and\nstoring a flag.  When the addition of nr_online_nodes as a cheaper version\nof num_online_nodes(), this check can be replaced by nr_online_nodes.\n\n(Christoph did a patch that this is lifted almost verbatim from)\n\nSigned-off-by: Christoph Lameter \u003ccl@linux.com\u003e\nSigned-off-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nReviewed-by: 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: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6484eb3e2a81807722c5f28efef94d8338b7b996",
      "tree": "10ce36f412c2ff0c7eb399af1a189f8e354f56db",
      "parents": [
        "b3c466ce512923298ae8c0121d3e9f397a3f1210"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mel@csn.ul.ie",
        "time": "Tue Jun 16 15:31:54 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 16 19:47:32 2009 -0700"
      },
      "message": "page allocator: do not check NUMA node ID when the caller knows the node is valid\n\nCallers of alloc_pages_node() can optionally specify -1 as a node to mean\n\"allocate from the current node\".  However, a number of the callers in\nfast paths know for a fact their node is valid.  To avoid a comparison and\nbranch, this patch adds alloc_pages_exact_node() that only checks the nid\nwith VM_BUG_ON().  Callers that know their node is valid are then\nconverted.\n\nSigned-off-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nReviewed-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nReviewed-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nReviewed-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nAcked-by: Paul Mundt \u003clethal@linux-sh.org\u003e\t[for the SLOB NUMA bits]\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: 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": "c175eea466e760de4b69b9aad90157e7aa9ff54f",
      "tree": "60bc1c115d77bba6fd6f99818eeeef2165d8e30c",
      "parents": [
        "5a896d9e7c921742d0437a452f991288f4dc2c42"
      ],
      "author": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Fri May 09 20:35:53 2008 +0200"
      },
      "committer": {
        "name": "Vegard Nossum",
        "email": "vegard.nossum@gmail.com",
        "time": "Mon Jun 15 12:40:08 2009 +0200"
      },
      "message": "slab: add hooks for kmemcheck\n\nWe now have SLAB support for kmemcheck! This means that it doesn\u0027t matter\nwhether one chooses SLAB or SLUB, or indeed whether Linus chooses to chuck\nSLAB or SLUB.. ;-)\n\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\n\n[rebased for mainline inclusion]\nSigned-off-by: Vegard Nossum \u003cvegard.nossum@gmail.com\u003e\n"
    },
    {
      "commit": "8eae985f08138758e06503588f5f1196269bc415",
      "tree": "6bcd43b5ee4cfd225ee2a630441b61c7c2ce69eb",
      "parents": [
        "b618ad31bb2020db6a36929122e5554e33210d47"
      ],
      "author": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Fri May 09 20:32:44 2008 +0200"
      },
      "committer": {
        "name": "Vegard Nossum",
        "email": "vegard.nossum@gmail.com",
        "time": "Sat Jun 13 08:58:43 2009 +0200"
      },
      "message": "slab: move struct kmem_cache to headers\n\nMove the SLAB struct kmem_cache definition to \u003clinux/slab_def.h\u003e like\nwith SLUB so kmemcheck can access -\u003ector and -\u003eflags.\n\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\n\n[rebased for mainline inclusion]\nSigned-off-by: Vegard Nossum \u003cvegard.nossum@gmail.com\u003e\n"
    },
    {
      "commit": "8429db5c6336083594036c30f49401405d536911",
      "tree": "00ab1aa8e222f384bac0e66b7da195279b1c7698",
      "parents": [
        "7e85ee0c1d15ca5f8bff0f514f158eba1742dd87"
      ],
      "author": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Fri Jun 12 15:58:59 2009 +0300"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Fri Jun 12 18:53:58 2009 +0300"
      },
      "message": "slab: setup cpu caches later on when interrupts are enabled\n\nFixes the following boot-time warning:\n\n  [    0.000000] ------------[ cut here ]------------\n  [    0.000000] WARNING: at kernel/smp.c:369 smp_call_function_many+0x56/0x1bc()\n  [    0.000000] Hardware name:\n  [    0.000000] Modules linked in:\n  [    0.000000] Pid: 0, comm: swapper Not tainted 2.6.30 #492\n  [    0.000000] Call Trace:\n  [    0.000000]  [\u003cffffffff8149e021\u003e] ? _spin_unlock+0x4f/0x5c\n  [    0.000000]  [\u003cffffffff8108f11b\u003e] ? smp_call_function_many+0x56/0x1bc\n  [    0.000000]  [\u003cffffffff81061764\u003e] warn_slowpath_common+0x7c/0xa9\n  [    0.000000]  [\u003cffffffff810617a5\u003e] warn_slowpath_null+0x14/0x16\n  [    0.000000]  [\u003cffffffff8108f11b\u003e] smp_call_function_many+0x56/0x1bc\n  [    0.000000]  [\u003cffffffff810f3e00\u003e] ? do_ccupdate_local+0x0/0x54\n  [    0.000000]  [\u003cffffffff810f3e00\u003e] ? do_ccupdate_local+0x0/0x54\n  [    0.000000]  [\u003cffffffff8108f2be\u003e] smp_call_function+0x3d/0x68\n  [    0.000000]  [\u003cffffffff810f3e00\u003e] ? do_ccupdate_local+0x0/0x54\n  [    0.000000]  [\u003cffffffff81066fd8\u003e] on_each_cpu+0x31/0x7c\n  [    0.000000]  [\u003cffffffff810f64f5\u003e] do_tune_cpucache+0x119/0x454\n  [    0.000000]  [\u003cffffffff81087080\u003e] ? lockdep_init_map+0x94/0x10b\n  [    0.000000]  [\u003cffffffff818133b0\u003e] ? kmem_cache_init+0x421/0x593\n  [    0.000000]  [\u003cffffffff810f69cf\u003e] enable_cpucache+0x68/0xad\n  [    0.000000]  [\u003cffffffff818133c3\u003e] kmem_cache_init+0x434/0x593\n  [    0.000000]  [\u003cffffffff8180987c\u003e] ? mem_init+0x156/0x161\n  [    0.000000]  [\u003cffffffff817f8aae\u003e] start_kernel+0x1cc/0x3b9\n  [    0.000000]  [\u003cffffffff817f829a\u003e] x86_64_start_reservations+0xaa/0xae\n  [    0.000000]  [\u003cffffffff817f837f\u003e] x86_64_start_kernel+0xe1/0xe8\n  [    0.000000] ---[ end trace 4eaa2a86a8e2da22 ]---\n\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Nick Piggin \u003cnpiggin@suse.de\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": "eb91f1d0a531289e18f5587dc197d12a251c66a3",
      "tree": "1f790559b312d7481aecad90a7fd4ccf47ccdfa2",
      "parents": [
        "55cd63676e0c5710fbe1ea86dfd9f8ea9aaa90f2"
      ],
      "author": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Fri Jun 12 14:56:09 2009 +0300"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Fri Jun 12 18:34:32 2009 +0300"
      },
      "message": "slab: fix gfp flag in setup_cpu_cache()\n\nFixes the following warning during bootup when compiling with CONFIG_SLAB:\n\n  [    0.000000] ------------[ cut here ]------------\n  [    0.000000] WARNING: at kernel/lockdep.c:2282 lockdep_trace_alloc+0x91/0xb9()\n  [    0.000000] Hardware name:\n  [    0.000000] Modules linked in:\n  [    0.000000] Pid: 0, comm: swapper Not tainted 2.6.30 #491\n  [    0.000000] Call Trace:\n  [    0.000000]  [\u003cffffffff81087d84\u003e] ? lockdep_trace_alloc+0x91/0xb9\n  [    0.000000]  [\u003cffffffff81061764\u003e] warn_slowpath_common+0x7c/0xa9\n  [    0.000000]  [\u003cffffffff810617a5\u003e] warn_slowpath_null+0x14/0x16\n  [    0.000000]  [\u003cffffffff81087d84\u003e] lockdep_trace_alloc+0x91/0xb9\n  [    0.000000]  [\u003cffffffff810f5b03\u003e] kmem_cache_alloc_node_notrace+0x26/0xdf\n  [    0.000000]  [\u003cffffffff81487f4e\u003e] ? setup_cpu_cache+0x7e/0x210\n  [    0.000000]  [\u003cffffffff81487fe3\u003e] setup_cpu_cache+0x113/0x210\n  [    0.000000]  [\u003cffffffff810f73ff\u003e] kmem_cache_create+0x409/0x486\n  [    0.000000]  [\u003cffffffff818131c1\u003e] kmem_cache_init+0x232/0x593\n  [    0.000000]  [\u003cffffffff8180987c\u003e] ? mem_init+0x156/0x161\n  [    0.000000]  [\u003cffffffff817f8aae\u003e] start_kernel+0x1cc/0x3b9\n  [    0.000000]  [\u003cffffffff817f829a\u003e] x86_64_start_reservations+0xaa/0xae\n  [    0.000000]  [\u003cffffffff817f837f\u003e] x86_64_start_kernel+0xe1/0xe8\n  [    0.000000] ---[ end trace 4eaa2a86a8e2da22 ]---\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": "d5cff635290aec9ad7e6ee546aa4fae895361cbb",
      "tree": "172d99e0775a2e858d6cfa3ba0a197ecfdd03fce",
      "parents": [
        "04f70336c80c43a15e617b36c2043dfa0ad6ed0f"
      ],
      "author": {
        "name": "Catalin Marinas",
        "email": "catalin.marinas@arm.com",
        "time": "Thu Jun 11 13:22:40 2009 +0100"
      },
      "committer": {
        "name": "Catalin Marinas",
        "email": "catalin.marinas@arm.com",
        "time": "Thu Jun 11 17:03:29 2009 +0100"
      },
      "message": "kmemleak: Add the slab memory allocation/freeing hooks\n\nThis patch adds the callbacks to kmemleak_(alloc|free) functions from\nthe slab allocator. The patch also adds the SLAB_NOLEAKTRACE flag to\navoid recursive calls to kmemleak when it allocates its own data\nstructures.\n\nSigned-off-by: Catalin Marinas \u003ccatalin.marinas@arm.com\u003e\nReviewed-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\n"
    },
    {
      "commit": "6746136520cd0827320a83e62d0a023a5a433650",
      "tree": "2e57aef24fbb8e8531aad10061245ec4bddda6f9",
      "parents": [
        "45d447406a19cbfd42720f066f156f4eb9d68801"
      ],
      "author": {
        "name": "Ron Lee",
        "email": "ron@debian.org",
        "time": "Fri May 22 04:58:22 2009 +0930"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Fri May 22 11:01:12 2009 +0300"
      },
      "message": "slab: fix generic PAGE_POISONING conflict with SLAB_RED_ZONE\n\nA generic page poisoning mechanism was added with commit:\n 6a11f75b6a17b5d9ac5025f8d048382fd1f47377\nwhich destructively poisons full pages with a bitpattern.\n\nOn arches where PAGE_POISONING is used, this conflicts with the slab\nredzone checking enabled by DEBUG_SLAB, scribbling bits all over its\nmagic words and making it complain about that quite emphatically.\n\nOn x86 (and I presume at present all the other arches which set\nARCH_SUPPORTS_DEBUG_PAGEALLOC too), the kernel_map_pages() operation\nis non destructive so it can coexist with the other DEBUG_SLAB\nmechanisms just fine.\n\nThis patch favours the expensive full page destruction test for\ncases where there is a collision and it is explicitly selected.\n\nSigned-off-by: Ron Lee \u003cron@debian.org\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": "12fe32e4f942ac5c71a4ab70b039fee65c0dc29d",
      "tree": "b0878e49e9fab1fd154fde1dd57057391831b668",
      "parents": [
        "a63856252d2112e7c452696037a86ceb12f47f80",
        "2121db74ba0fd2259f0e2265511684fadda9ac49"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 06 13:30:00 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 06 13:30:00 2009 -0700"
      },
      "message": "Merge branch \u0027kmemtrace-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027kmemtrace-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  kmemtrace: trace kfree() calls with NULL or zero-length objects\n  kmemtrace: small cleanups\n  kmemtrace: restore original tracing data binary format, improve ABI\n  kmemtrace: kmemtrace_alloc() must fill type_id\n  kmemtrace: use tracepoints\n  kmemtrace, rcu: don\u0027t include unnecessary headers, allow kmemtrace w/ tracepoints\n  kmemtrace, rcu: fix rcupreempt.c data structure dependencies\n  kmemtrace, rcu: fix rcu_tree_trace.c data structure dependencies\n  kmemtrace, rcu: fix linux/rcutree.h and linux/rcuclassic.h dependencies\n  kmemtrace, mm: fix slab.h dependency problem in mm/failslab.c\n  kmemtrace, kbuild: fix slab.h dependency problem in lib/decompress_unlzma.c\n  kmemtrace, kbuild: fix slab.h dependency problem in lib/decompress_bunzip2.c\n  kmemtrace, kbuild: fix slab.h dependency problem in lib/decompress_inflate.c\n  kmemtrace, squashfs: fix slab.h dependency problem in squasfs\n  kmemtrace, befs: fix slab.h dependency problem\n  kmemtrace, security: fix linux/key.h header file dependencies\n  kmemtrace, fs: fix linux/fdtable.h header file dependencies\n  kmemtrace, fs: uninline simple_transaction_set()\n  kmemtrace, fs, security: move alloc_secdata() and free_secdata() to linux/security.h\n"
    },
    {
      "commit": "714f83d5d9f7c785f622259dad1f4fad12d64664",
      "tree": "20563541ae438e11d686b4d629074eb002a481b7",
      "parents": [
        "8901e7ffc2fa78ede7ce9826dbad68a3a25dc2dc",
        "645dae969c3b8651c5bc7c54a1835ec03820f85f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Apr 05 11:04:19 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Apr 05 11:04:19 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: (413 commits)\n  tracing, net: fix net tree and tracing tree merge interaction\n  tracing, powerpc: fix powerpc tree and tracing tree interaction\n  ring-buffer: do not remove reader page from list on ring buffer free\n  function-graph: allow unregistering twice\n  trace: make argument \u0027mem\u0027 of trace_seq_putmem() const\n  tracing: add missing \u0027extern\u0027 keywords to trace_output.h\n  tracing: provide trace_seq_reserve()\n  blktrace: print out BLK_TN_MESSAGE properly\n  blktrace: extract duplidate code\n  blktrace: fix memory leak when freeing struct blk_io_trace\n  blktrace: fix blk_probes_ref chaos\n  blktrace: make classic output more classic\n  blktrace: fix off-by-one bug\n  blktrace: fix the original blktrace\n  blktrace: fix a race when creating blk_tree_root in debugfs\n  blktrace: fix timestamp in binary output\n  tracing, Text Edit Lock: cleanup\n  tracing: filter fix for TRACE_EVENT_FORMAT events\n  ftrace: Using FTRACE_WARN_ON() to check \"freed record\" in ftrace_release()\n  x86: kretprobe-booster interrupt emulation code fix\n  ...\n\nFix up trivial conflicts in\n arch/parisc/include/asm/ftrace.h\n include/linux/memory.h\n kernel/extable.c\n kernel/module.c\n"
    },
    {
      "commit": "90975ef71246c5c688ead04e8ff6f36dc92d28b3",
      "tree": "eda44b2efe91509719b0e62219c2efec13a9e762",
      "parents": [
        "cab4e4c43f92582a2bfc026137b3d8a175bd0360",
        "558f6ab9106e6be701acb0257e7171df1bbccf04"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Apr 05 10:33:07 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Apr 05 10:33:07 2009 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-cpumask\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-cpumask: (36 commits)\n  cpumask: remove cpumask allocation from idle_balance, fix\n  numa, cpumask: move numa_node_id default implementation to topology.h, fix\n  cpumask: remove cpumask allocation from idle_balance\n  x86: cpumask: x86 mmio-mod.c use cpumask_var_t for downed_cpus\n  x86: cpumask: update 32-bit APM not to mug current-\u003ecpus_allowed\n  x86: microcode: cleanup\n  x86: cpumask: use work_on_cpu in arch/x86/kernel/microcode_core.c\n  cpumask: fix CONFIG_CPUMASK_OFFSTACK\u003dy cpu hotunplug crash\n  numa, cpumask: move numa_node_id default implementation to topology.h\n  cpumask: convert node_to_cpumask_map[] to cpumask_var_t\n  cpumask: remove x86 cpumask_t uses.\n  cpumask: use cpumask_var_t in uv_flush_tlb_others.\n  cpumask: remove cpumask_t assignment from vector_allocation_domain()\n  cpumask: make Xen use the new operators.\n  cpumask: clean up summit\u0027s send_IPI functions\n  cpumask: use new cpumask functions throughout x86\n  x86: unify cpu_callin_mask/cpu_callout_mask/cpu_initialized_mask/cpu_sibling_setup_mask\n  cpumask: convert struct cpuinfo_x86\u0027s llc_shared_map to cpumask_var_t\n  cpumask: convert node_to_cpumask_map[] to cpumask_var_t\n  x86: unify 32 and 64-bit node_to_cpumask_map\n  ...\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": "bf6aede712334d7338d5c47a5ee5ba3883c82a61",
      "tree": "153483c5ef1de41f8dd3d233ba46117d0676c303",
      "parents": [
        "e4c2ff1cf2d7fc65d0fc6f88bc98338e0212ad52"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Thu Apr 02 16:56:54 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 02 19:04:50 2009 -0700"
      },
      "message": "workqueue: add to_delayed_work() helper function\n\nIt is a fairly common operation to have a pointer to a work and to need a\npointer to the delayed work it is contained in.  In particular, all\ndelayed works which want to rearm themselves will have to do that.  So it\nwould seem fair to offer a helper function for this operation.\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Greg KH \u003cgreg@kroah.com\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": "558f6ab9106e6be701acb0257e7171df1bbccf04",
      "tree": "6e811633baeb676693c493f6c82bf785cab2771d",
      "parents": [
        "15f7176eb1cccec0a332541285ee752b935c1c85",
        "65fb0d23fcddd8697c871047b700c78817bdaa43"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Mar 31 13:33:50 2009 +1030"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Mar 31 13:33:50 2009 +1030"
      },
      "message": "Merge branch \u0027cpumask-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\nConflicts:\n\n\tarch/x86/include/asm/topology.h\n\tdrivers/oprofile/buffer_sync.c\n(Both cases: changed in Linus\u0027 tree, removed in Ingo\u0027s).\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": "a70f730282019f487aa33a84e5ac9a5e89c5abd0",
      "tree": "e6891ec5db5383c6f39617d0cc9671e1a0d1a988",
      "parents": [
        "c69fc56de1df5769f2ec69c915c7ad5afe63804c"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri Mar 13 14:49:46 2009 +1030"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri Mar 13 14:49:46 2009 +1030"
      },
      "message": "cpumask: replace node_to_cpumask with cpumask_of_node.\n\nImpact: cleanup\n\nnode_to_cpumask (and the blecherous node_to_cpumask_ptr which\ncontained a declaration) are replaced now everyone implements\ncpumask_of_node.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\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": "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": "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": "f09eac9034a4502cce558b0ec4bf7d422b8b355b",
      "tree": "b296fe90dd6adb02c1fec8d7fd99f1988de6fec9",
      "parents": [
        "818fa7f3908c7bd6c0045e9d94dc23a899ef6144"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 31 09:43:46 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 31 09:43:46 2008 +0100"
      },
      "message": "tracing/kmemtrace: fix typo\n\nImpact: build fix\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\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": "3fd4bc015ef879a7d2b955ce97fb125e3a51ba7e",
      "tree": "7c33ee197cd97b72a44c0991ff4abc4c36f3a45c",
      "parents": [
        "b6ab4afee4ed56d0f69df59485585cff828c327d"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Dec 30 12:07:27 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Dec 30 16:06:00 2008 +0100"
      },
      "message": "tracing/kmemtrace: export kmemtrace_mark_alloc_node() / kmemtrace_mark_free()\n\nImpact: build fix\n\nAlso fix up Kconfig dependencies and include files.\n\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": "36555751c6751a5bdfd6d7bdf0648343bb1ef0de",
      "tree": "47ed7ab2c8971e4c5d2f5a902860b1cf9facbc42",
      "parents": [
        "aa46a7e0228c0477708ce44a0c5621902b3c157c"
      ],
      "author": {
        "name": "Eduard - Gabriel Munteanu",
        "email": "eduard.munteanu@linux360.ro",
        "time": "Sun Aug 10 20:14:05 2008 +0300"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Mon Dec 29 15:34:04 2008 +0200"
      },
      "message": "kmemtrace: SLAB hooks.\n\nThis adds hooks for the SLAB allocator, to allow tracing with kmemtrace.\n\nWe also convert some inline functions to __always_inline to make sure\n_RET_IP_, which expands to __builtin_return_address(0), always works\nas expected.\n\nSigned-off-by: Eduard - Gabriel Munteanu \u003ceduard.munteanu@linux360.ro\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\n"
    },
    {
      "commit": "35995a4d815586bc968a857f7235707940a2f755",
      "tree": "bbee251d5e4fc027a07cb86b3428ba5f08dffab3",
      "parents": [
        "ed313489badef16d700f5a3be50e8fd8f8294bc8"
      ],
      "author": {
        "name": "Eduard - Gabriel Munteanu",
        "email": "eduard.munteanu@linux360.ro",
        "time": "Tue Aug 19 20:43:25 2008 +0300"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Mon Dec 29 15:33:59 2008 +0200"
      },
      "message": "SLUB: Replace __builtin_return_address(0) with _RET_IP_.\n\nThis patch replaces __builtin_return_address(0) with _RET_IP_, since a\nprevious patch moved _RET_IP_ and _THIS_IP_ to include/linux/kernel.h and\nthey\u0027re widely available now. This makes for shorter and easier to read\ncode.\n\n[penberg@cs.helsinki.fi: remove _RET_IP_ casts to void pointer]\nSigned-off-by: Eduard - Gabriel Munteanu \u003ceduard.munteanu@linux360.ro\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\n"
    },
    {
      "commit": "3c506efd7e0f615bd9603ce8c06bc4a896952599",
      "tree": "6ebc840535e9d93bf60e21e940a5f4558275a89d",
      "parents": [
        "fd37617e69fb865348d012eb1413aef0141ae2de",
        "773ff60e841461cb1f9374a713ffcda029b8c317"
      ],
      "author": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Mon Dec 29 11:47:05 2008 +0200"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Mon Dec 29 11:47:05 2008 +0200"
      },
      "message": "Merge branch \u0027topic/failslab\u0027 into for-linus\n\nConflicts:\n\n\tmm/slub.c\n\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\n"
    },
    {
      "commit": "fd37617e69fb865348d012eb1413aef0141ae2de",
      "tree": "e4104ea40e7a6d8d4d24bf2f77943e609a646842",
      "parents": [
        "7b8f3b66d9d7e5f021ae535620b9b52833f4876e",
        "9f6c708e5cbf57ee31f6ddaa2cd0262087271b95",
        "249da166582801648432d0198be9407fb5ccf9f5"
      ],
      "author": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Mon Dec 29 11:45:47 2008 +0200"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Mon Dec 29 11:45:47 2008 +0200"
      },
      "message": "Merge branches \u0027topic/fixes\u0027, \u0027topic/cleanups\u0027 and \u0027topic/documentation\u0027 into for-linus\n"
    },
    {
      "commit": "8759ec50a6cad7ca5a6d63e657d25b85ab5ba44a",
      "tree": "2571915f28cc329642f527996d369bc81d953e39",
      "parents": [
        "89124d706db0aa95daacfa4c0df45a43a44d44f4"
      ],
      "author": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Wed Nov 26 10:01:31 2008 +0200"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Mon Dec 29 11:40:53 2008 +0200"
      },
      "message": "slab: remove GFP_THISNODE clearing from alloc_slabmgmt()\n\nCommit 6cb062296f73e74768cca2f3eaf90deac54de02d (\"Categorize GFP flags\")\nleft one call-site in alloc_slabmgmt() to clear GFP_THISNODE instead of\nGFP_CONSTRAINT_MASK. Unfortunately, that ends up clearing __GFP_NOWARN\nand __GFP_NORETRY as well which is not what we want. As the only caller\nof alloc_slabmgmt() already clears GFP_CONSTRAINT_MASK before passing\nlocal_flags to it, we can just remove the clearing of GFP_THISNODE.\n\nThis patch should fix spurious page allocation failure warnings on the\nmempool_alloc() path. See the following URL for the original discussion\nof the bug:\n\n  http://lkml.org/lkml/2008/10/27/100\n\nAcked-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nReported-by: Miklos Szeredi \u003cmiklos@szeredi.hu\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\n"
    },
    {
      "commit": "773ff60e841461cb1f9374a713ffcda029b8c317",
      "tree": "c3691b5a82261a3d2c1861f2913774faac63fa96",
      "parents": [
        "3c92ec8ae91ecf59d88c798301833d7cf83f2179"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Tue Dec 23 19:37:01 2008 +0900"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Mon Dec 29 11:27:46 2008 +0200"
      },
      "message": "SLUB: failslab support\n\nCurrently fault-injection capability for SLAB allocator is only\navailable to SLAB. This patch makes it available to SLUB, too.\n\n[penberg@cs.helsinki.fi: unify slab and slub implementations]\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Matt Mackall \u003cmpm@selenic.com\u003e\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\n"
    },
    {
      "commit": "249da166582801648432d0198be9407fb5ccf9f5",
      "tree": "15b101e9dec5be04fe080197ba489af44e098883",
      "parents": [
        "ed313489badef16d700f5a3be50e8fd8f8294bc8"
      ],
      "author": {
        "name": "Catalin Marinas",
        "email": "catalin.marinas@arm.com",
        "time": "Fri Nov 21 12:56:22 2008 +0000"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Wed Nov 26 16:48:47 2008 +0200"
      },
      "message": "slab: Update the kmem_cache_create documentation regarding the name parameter\n\nkmem_cache implementations like slub are allowed to merge multiple\ncaches but only the initial name is preserved. Therefore,\nkmem_cache_name() is not guaranteed to return the same pointer passed to\nthe former function. This patch updates the documentation to make this\nclearer.\n\nSigned-off-by: Catalin Marinas \u003ccatalin.marinas@arm.com\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\n"
    },
    {
      "commit": "249b9f331ec162af5a1fdb80f90cce77c2043985",
      "tree": "619fd994b598bb6970727484fbbfa6ac1f0d2388",
      "parents": [
        "e9beef1815ab3aa88925595582cf09e64b2b9894"
      ],
      "author": {
        "name": "roel kluin",
        "email": "roel.kluin@gmail.com",
        "time": "Wed Oct 29 17:18:07 2008 -0400"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Wed Nov 26 16:47:26 2008 +0200"
      },
      "message": "slab: unsigned slabp-\u003einuse cannot be less than 0\n\nunsigned slabp-\u003einuse cannot be less than 0\n\nAcked-by: Christoph Lameter \u003ccl@linux-foundation.org\nSigned-off-by: Roel Kluin \u003croel.kluin@gmail.com\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\n"
    },
    {
      "commit": "ce71e27c6fdc43c29f36d307b9100bde70c947fc",
      "tree": "4c38611002eb3945835ed6bec78d6fb55118165a",
      "parents": [
        "210b5c06130f266370b5ff86e3cb6d860e1be29c"
      ],
      "author": {
        "name": "Eduard - Gabriel Munteanu",
        "email": "eduard.munteanu@linux360.ro",
        "time": "Tue Aug 19 20:43:25 2008 +0300"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Wed Nov 26 16:47:25 2008 +0200"
      },
      "message": "SLUB: Replace __builtin_return_address(0) with _RET_IP_.\n\nThis patch replaces __builtin_return_address(0) with _RET_IP_, since a\nprevious patch moved _RET_IP_ and _THIS_IP_ to include/linux/kernel.h and\nthey\u0027re widely available now. This makes for shorter and easier to read\ncode.\n\n[penberg@cs.helsinki.fi: remove _RET_IP_ casts to void pointer]\nSigned-off-by: Eduard - Gabriel Munteanu \u003ceduard.munteanu@linux360.ro\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\n"
    },
    {
      "commit": "7b3c3a50a3e0ea46815150d420fa276ac254572b",
      "tree": "a49118d99ae5bac99b660d8a44c20df2b15a7037",
      "parents": [
        "a0ec95a8e69792e4ad642daac037c9b01ea3e2cd"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Mon Oct 06 02:42:17 2008 +0400"
      },
      "committer": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Thu Oct 23 15:20:06 2008 +0400"
      },
      "message": "proc: move /proc/slabinfo boilerplate to mm/slub.c, mm/slab.c\n\nLose dummy -\u003ewrite hook in case of SLUB, it\u0027s possible now.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nAcked-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\n"
    },
    {
      "commit": "a0ec95a8e69792e4ad642daac037c9b01ea3e2cd",
      "tree": "ec8f483871151c152c198b605ab7ebd6046271b8",
      "parents": [
        "d6917e19f3fda8e1f88bc23ddceed952927bd716"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Mon Oct 06 00:59:10 2008 +0400"
      },
      "committer": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Thu Oct 23 15:17:27 2008 +0400"
      },
      "message": "proc: move /proc/slab_allocators boilerplate to mm/slab.c\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nAcked-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\n"
    },
    {
      "commit": "231367fd9bccbb36309ab5bf5012e11a84231031",
      "tree": "31c9282fd2c4f17ec8f7d22bb975ba84e081a22a",
      "parents": [
        "6e86841d05f371b5b9b86ce76c02aaee83352298"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Tue Jul 22 20:21:16 2008 +0300"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Tue Jul 29 23:44:26 2008 +0300"
      },
      "message": "mm: unexport ksize\n\nThis patch removes the obsolete and no longer used exports of ksize.\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\n"
    },
    {
      "commit": "51cc50685a4275c6a02653670af9f108a64e01cf",
      "tree": "819d47bd2b0c8a9d1835d863853804b0a0242b97",
      "parents": [
        "d91958815d214ea365b98cbff6215383897edcb6"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Fri Jul 25 19:45:34 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jul 26 12:00:07 2008 -0700"
      },
      "message": "SL*B: drop kmem cache argument from constructor\n\nKmem cache passed to constructor is only needed for constructors that are\nthemselves multiplexeres.  Nobody uses this \"feature\", nor does anybody uses\npassed kmem cache in non-trivial way, so pass only pointer to object.\n\nNon-trivial places are:\n\tarch/powerpc/mm/init_64.c\n\tarch/powerpc/mm/hugetlbpage.c\n\nThis is flag day, yes.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nAcked-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nAcked-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Jon Tollefson \u003ckniht@linux.vnet.ibm.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: Matt Mackall \u003cmpm@selenic.com\u003e\n[akpm@linux-foundation.org: fix arch/powerpc/mm/hugetlbpage.c]\n[akpm@linux-foundation.org: fix mm/slab.c]\n[akpm@linux-foundation.org: fix ubifs]\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1a781a777b2f6ac46523fe92396215762ced624d",
      "tree": "4f34bb4aade85c0eb364b53d664ec7f6ab959006",
      "parents": [
        "b9d2252c1e44fa83a4e65fdc9eb93db6297c55af",
        "42a2f217a5e324ed5f2373ab1b7a0a15187c4d6c"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jul 15 21:55:59 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jul 15 21:55:59 2008 +0200"
      },
      "message": "Merge branch \u0027generic-ipi\u0027 into generic-ipi-for-linus\n\nConflicts:\n\n\tarch/powerpc/Kconfig\n\tarch/s390/kernel/time.c\n\tarch/x86/kernel/apic_32.c\n\tarch/x86/kernel/cpu/perfctr-watchdog.c\n\tarch/x86/kernel/i8259_64.c\n\tarch/x86/kernel/ldt.c\n\tarch/x86/kernel/nmi_64.c\n\tarch/x86/kernel/smpboot.c\n\tarch/x86/xen/smp.c\n\tinclude/asm-x86/hw_irq_32.h\n\tinclude/asm-x86/hw_irq_64.h\n\tinclude/asm-x86/mach-default/irq_vectors.h\n\tinclude/asm-x86/mach-voyager/irq_vectors.h\n\tinclude/asm-x86/smp.h\n\tkernel/Makefile\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e79aec291da55aa322ddb5d8f3bb04cdf69470d5",
      "tree": "aa49571cf5cb7a085dd8bdb9c88ad13e5a1250f7",
      "parents": [
        "88e4ccf294ca62c2da998012a83533ce150c8dce"
      ],
      "author": {
        "name": "Rabin Vincent",
        "email": "rabin@rab.in",
        "time": "Fri Jul 04 00:40:32 2008 +0530"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Tue Jul 15 20:36:02 2008 +0300"
      },
      "message": "slab: rename slab_destroy_objs\n\nWith the removal of destructors, slab_destroy_objs no longer actually\ndestroys any objects, making the kernel doc incorrect and the function\nname misleading.\n\nIn keeping with the other debug functions, rename it to\nslab_destroy_debugcheck and drop the kernel doc.\n\nSigned-off-by: Rabin Vincent \u003crabin@rab.in\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\n"
    },
    {
      "commit": "15c8b6c1aaaf1c4edd67e2f02e4d8e1bd1a51c0d",
      "tree": "3658f893c2f89ea0be4c6cc08aa11fa54476d0f4",
      "parents": [
        "8691e5a8f691cc2a4fda0651e8d307aaba0e7d68"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri May 09 09:39:44 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Jun 26 11:24:38 2008 +0200"
      },
      "message": "on_each_cpu(): kill unused \u0027retry\u0027 parameter\n\nIt\u0027s not even passed on to smp_call_function() anymore, since that\nwas removed. So kill it.\n\nAcked-by: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\nReviewed-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "481c5346d0981940ee63037eb53e4e37b0735c10",
      "tree": "3fcae626ec4e1d4e698008671cfd62d794992ac5",
      "parents": [
        "62a8efe632be1815b544845db643f1fcd9afcfb0"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Sat Jun 21 16:46:35 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jun 21 16:51:02 2008 -0700"
      },
      "message": "Slab: Fix memory leak in fallback_alloc()\n\nThe zonelist patches caused the loop that checks for available\nobjects in permitted zones to not terminate immediately. One object\nper zone per allocation may be allocated and then abandoned.\n\nBreak the loop when we have successfully allocated one object.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d40cee245ff6ad05d3448401d7320be82c1c5af1",
      "tree": "5467cada898e80d5e43592393b21252312c908fa",
      "parents": [
        "d7853d1f8932c847a8d7b3b38e6baedf77148cfb"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Wed Apr 30 00:55:07 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:53 2008 -0700"
      },
      "message": "mm: remove remaining __FUNCTION__ occurrences\n\n__FUNCTION__ is gcc-specific, use __func__\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3ac7fe5a4aab409bd5674d0b070bce97f9d20872",
      "tree": "5e12e8864bb8737695e4eb9c63970602d5f69e73",
      "parents": [
        "30327acf7846c5eb97c8e31c78317a2918d3e515"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Apr 30 00:55:01 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:53 2008 -0700"
      },
      "message": "infrastructure to debug (dynamic) objects\n\nWe can see an ever repeating problem pattern with objects of any kind in the\nkernel:\n\n1) freeing of active objects\n2) reinitialization of active objects\n\nBoth problems can be hard to debug because the crash happens at a point where\nwe have no chance to decode the root cause anymore.  One problem spot are\nkernel timers, where the detection of the problem often happens in interrupt\ncontext and usually causes the machine to panic.\n\nWhile working on a timer related bug report I had to hack specialized code\ninto the timer subsystem to get a reasonable hint for the root cause.  This\ndebug hack was fine for temporary use, but far from a mergeable solution due\nto the intrusiveness into the timer code.\n\nThe code further lacked the ability to detect and report the root cause\ninstantly and keep the system operational.\n\nKeeping the system operational is important to get hold of the debug\ninformation without special debugging aids like serial consoles and special\nknowledge of the bug reporter.\n\nThe problems described above are not restricted to timers, but timers tend to\nexpose it usually in a full system crash.  Other objects are less explosive,\nbut the symptoms caused by such mistakes can be even harder to debug.\n\nInstead of creating specialized debugging code for the timer subsystem a\ngeneric infrastructure is created which allows developers to verify their code\nand provides an easy to enable debug facility for users in case of trouble.\n\nThe debugobjects core code keeps track of operations on static and dynamic\nobjects by inserting them into a hashed list and sanity checking them on\nobject operations and provides additional checks whenever kernel memory is\nfreed.\n\nThe tracked object operations are:\n- initializing an object\n- adding an object to a subsystem list\n- deleting an object from a subsystem list\n\nEach operation is sanity checked before the operation is executed and the\nsubsystem specific code can provide a fixup function which allows to prevent\nthe damage of the operation.  When the sanity check triggers a warning message\nand a stack trace is printed.\n\nThe list of operations can be extended if the need arises.  For now it\u0027s\nlimited to the requirements of the first user (timers).\n\nThe core code enqueues the objects into hash buckets.  The hash index is\ngenerated from the address of the object to simplify the lookup for the check\non kfree/vfree.  Each bucket has it\u0027s own spinlock to avoid contention on a\nglobal lock.\n\nThe debug code can be compiled in without being active.  The runtime overhead\nis minimal and could be optimized by asm alternatives.  A kernel command line\noption enables the debugging code.\n\nThanks to Ingo Molnar for review, suggestions and cleanup patches.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nCc: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1b27d05b6e21249d2338be26dfcbe8f8d8ff8a5b",
      "tree": "c5413d5f64efed1aa84bfa0ab718f1e2a2f6f9cb",
      "parents": [
        "19fc3f0acde32636529969570055c7e2a744787c"
      ],
      "author": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Mon Apr 28 02:12:22 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:19 2008 -0700"
      },
      "message": "mm: move cache_line_size() to \u003clinux/cache.h\u003e\n\nNot all architectures define cache_line_size() so as suggested by Andrew move\nthe private implementations in mm/slab.c and mm/slob.c to \u003clinux/cache.h\u003e.\n\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: H. Peter Anvin \u003chpa@zytor.com\u003e\nReviewed-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "dd1a239f6f2d4d3eedd318583ec319aa145b324c",
      "tree": "aff4224c96b5e2e67588c3946858a724863eeaf9",
      "parents": [
        "54a6eb5c4765aa573a030ceeba2c14e3d2ea5706"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mel@csn.ul.ie",
        "time": "Mon Apr 28 02:12:17 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:18 2008 -0700"
      },
      "message": "mm: have zonelist contains structs with both a zone pointer and zone_idx\n\nFiltering zonelists requires very frequent use of zone_idx().  This is costly\nas it involves a lookup of another structure and a substraction operation.  As\nthe zone_idx is often required, it should be quickly accessible.  The node idx\ncould also be stored here if it was found that accessing zone-\u003enode is\nsignificant which may be the case on workloads where nodemasks are heavily\nused.\n\nThis patch introduces a struct zoneref to store a zone pointer and a zone\nindex.  The zonelist then consists of an array of these struct zonerefs which\nare looked up as necessary.  Helpers are given for accessing the zone index as\nwell as the node index.\n\n[kamezawa.hiroyu@jp.fujitsu.com: Suggested struct zoneref instead of embedding information in pointers]\n[hugh@veritas.com: mm-have-zonelist: fix memcg ooms]\n[hugh@veritas.com: just return do_try_to_free_pages]\n[hugh@veritas.com: do_try_to_free_pages gfp_mask redundant]\nSigned-off-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nAcked-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nAcked-by: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "54a6eb5c4765aa573a030ceeba2c14e3d2ea5706",
      "tree": "547176a090beb787722a153cf2b8b942dc0e68db",
      "parents": [
        "18ea7e710d2452fa726814a406779188028cf1bf"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mel@csn.ul.ie",
        "time": "Mon Apr 28 02:12:16 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:18 2008 -0700"
      },
      "message": "mm: use two zonelist that are filtered by GFP mask\n\nCurrently a node has two sets of zonelists, one for each zone type in the\nsystem and a second set for GFP_THISNODE allocations.  Based on the zones\nallowed by a gfp mask, one of these zonelists is selected.  All of these\nzonelists consume memory and occupy cache lines.\n\nThis patch replaces the multiple zonelists per-node with two zonelists.  The\nfirst contains all populated zones in the system, ordered by distance, for\nfallback allocations when the target/preferred node has no free pages.  The\nsecond contains all populated zones in the node suitable for GFP_THISNODE\nallocations.\n\nAn iterator macro is introduced called for_each_zone_zonelist() that interates\nthrough each zone allowed by the GFP flags in the selected zonelist.\n\nSigned-off-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nAcked-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0e88460da6ab7bb6a7ef83675412ed5b6315d741",
      "tree": "1feb4de2362e4998a0deeab66af1efb9c7b8bb34",
      "parents": [
        "dac1d27bc8d5ca636d3014ecfdf94407031d1970"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mel@csn.ul.ie",
        "time": "Mon Apr 28 02:12:14 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:18 2008 -0700"
      },
      "message": "mm: introduce node_zonelist() for accessing the zonelist for a GFP mask\n\nIntroduce a node_zonelist() helper function.  It is used to lookup the\nappropriate zonelist given a node and a GFP mask.  The patch on its own is a\ncleanup but it helps clarify parts of the two-zonelist-per-node patchset.  If\nnecessary, it can be merged with the next patch in this set without problems.\n\nReviewed-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nSigned-off-by: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c5f59f0833df945eef7ff35f3dc6ba61c5f293dd",
      "tree": "32c1a94847d0154051c79011212d401462723d55",
      "parents": [
        "b53e921ba1cff8453dc9a87a84052fa12d5b30bd"
      ],
      "author": {
        "name": "Mike Travis",
        "email": "travis@sgi.com",
        "time": "Fri Apr 04 18:11:10 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 19 19:44:59 2008 +0200"
      },
      "message": "nodemask: use new node_to_cpumask_ptr function\n\n  * Use new node_to_cpumask_ptr.  This creates a pointer to the\n    cpumask for a given node.  This definition is in mm patch:\n\n\tasm-generic-add-node_to_cpumask_ptr-macro.patch\n\n  * Use new set_cpus_allowed_ptr function.\n\nDepends on:\n\t[mm-patch]: asm-generic-add-node_to_cpumask_ptr-macro.patch\n\t[sched-devel]: sched: add new set_cpus_allowed_ptr function\n\t[x86/latest]: x86: add cpus_scnprintf function\n\nCc: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nCc: Greg Banks \u003cgnb@melbourne.sgi.com\u003e\nCc: H. Peter Anvin \u003chpa@zytor.com\u003e\nSigned-off-by: Mike Travis \u003ctravis@sgi.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ec1f5eeeb5a79a0d48036de649a3498da42db565",
      "tree": "29b34d9aae8b61633e8ad549864d97cc474ec6b2",
      "parents": [
        "53625b4204753b904addd40ca96d9ba802e6977d"
      ],
      "author": {
        "name": "Daniel Yeisley",
        "email": "dan.yeisley@unisys.com",
        "time": "Tue Mar 25 23:59:08 2008 +0200"
      },
      "committer": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Wed Mar 26 10:44:17 2008 -0700"
      },
      "message": "slab: fix cache_cache bootstrap in kmem_cache_init()\n\nCommit 556a169dab38b5100df6f4a45b655dddd3db94c1 (\"slab: fix bootstrap on\nmemoryless node\") introduced bootstrap-time cache_cache list3s for all nodes\nbut forgot that initkmem_list3 needs to be accessed by [somevalue + node]. This\npatch fixes list_add() corruption in mm/slab.c seen on the ES7000.\n\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Olaf Hering \u003colaf@aepfle.de\u003e\nCc: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Dan Yeisley \u003cdan.yeisley@unisys.com\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\n"
    },
    {
      "commit": "7682486b3ee06f800d5b11033371c7c5e92e3057",
      "tree": "d0c2eda3204b085fc63200c787b2cf04f0298729",
      "parents": [
        "6cb2a21049b8990df4576c5fce4d48d0206c22d5"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Wed Mar 19 17:00:40 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 19 18:53:35 2008 -0700"
      },
      "message": "mm: fix various kernel-doc comments\n\nFix various kernel-doc notation in mm/:\n\nfilemap.c: add function short description; convert 2 to kernel-doc\nfremap.c: change parameter \u0027prot\u0027 to @prot\npagewalk.c: change \"-\" in function parameters to \":\"\nslab.c: fix short description of kmem_ptr_validate()\nswap.c: fix description \u0026 parameters of put_pages_list()\nswap_state.c: fix function parameters\nvmalloc.c: change \"@returns\" to \"Returns:\" since that is not a parameter\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6d2144d355d2a532e5cc3fc12a6ba2a8d4ef15e4",
      "tree": "1c27eecfce86a166ca827bfbd2fe7a46888a7bc0",
      "parents": [
        "b6210386787728b84db25adc4f1eba70440a4c73"
      ],
      "author": {
        "name": "Joe Korty",
        "email": "joe.korty@ccur.com",
        "time": "Wed Mar 05 15:04:59 2008 -0800"
      },
      "committer": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Thu Mar 06 16:21:50 2008 -0800"
      },
      "message": "slab: NUMA slab allocator migration bugfix\n\nNUMA slab allocator cpu migration bugfix\n\nThe NUMA slab allocator (specifically, cache_alloc_refill)\nis not refreshing its local copies of what cpu and what\nnuma node it is on, when it drops and reacquires the irq\nblock that it inherited from its caller.  As a result\nthose values become invalid if an attempt to migrate the\nprocess to another numa node occured while the irq block\nhad been dropped.\n\nThe solution is to make cache_alloc_refill reload these\nvariables whenever it drops and reacquires the irq block.\n\nThe error is very difficult to hit.  When it does occur,\none gets the following oops + stack traceback bits in\ncheck_spinlock_acquired:\n\n\tkernel BUG at mm/slab.c:2417\n\tcache_alloc_refill+0xe6\n\tkmem_cache_alloc+0xd0\n\t...\n\nThis patch was developed against 2.6.23, ported to and\ncompiled-tested only against 2.6.25-rc4.\n\nSigned-off-by: Joe Korty \u003cjoe.korty@ccur.com\u003e\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\n"
    },
    {
      "commit": "1c61fc40fc264059ff41a614ed2d899127288281",
      "tree": "53dc93a57a21d07f02fb2fc58a6439c2186710e7",
      "parents": [
        "9ac33b2b749e9539e84bbb1a41f97b066c4bd757"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Wed Mar 05 13:58:17 2008 -0800"
      },
      "committer": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Thu Mar 06 16:21:49 2008 -0800"
      },
      "message": "slab - use angle brackets for include of kmalloc_sizes.h\n\nMake them all use angle brackets and the directory name.\n\nAcked-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\n"
    },
    {
      "commit": "9ac33b2b749e9539e84bbb1a41f97b066c4bd757",
      "tree": "3d00a7ad98e27a813e6d855fbeaf5cef5e783b96",
      "parents": [
        "b773ad73690b5f34eee0c76f4273ac6fcbd88f82"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Tue Mar 04 12:24:22 2008 -0800"
      },
      "committer": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Thu Mar 06 16:21:49 2008 -0800"
      },
      "message": "slab numa fallback logic: Do not pass unfiltered flags to page allocator\n\nThe NUMA fallback logic should be passing local_flags to kmem_get_pages() and not simply the\nflags passed in.\n\nReviewed-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\n"
    },
    {
      "commit": "e51bfd0ad10600a9fe4c8ede5ac2272e80075008",
      "tree": "a204156fbb0036fb76e89ceffa15a30e90bc3f75",
      "parents": [
        "e760e716d47b48caf98da348368fd41b4a9b9e7e"
      ],
      "author": {
        "name": "Marcin Slusarz",
        "email": "marcin.slusarz@gmail.com",
        "time": "Sun Feb 10 11:21:54 2008 +0100"
      },
      "committer": {
        "name": "Christoph Lameter",
        "email": "christoph@stapp.engr.sgi.com",
        "time": "Thu Feb 14 15:30:01 2008 -0800"
      },
      "message": "slab: avoid double initialization \u0026 do initialization in 1 place\n\n- alloc_slabmgmt: initialize all slab fields in 1 place\n- slab-\u003enodeid was initialized twice: in alloc_slabmgmt\n  and immediately after it in cache_grow\n\nSigned-off-by: Marcin Slusarz \u003cmarcin.slusarz@gmail.com\u003e\nCC: Christoph Lameter \u003cclameter@sgi.com\u003e\nReviewed-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\n"
    },
    {
      "commit": "95402b3829010fe1e208f44e4a158ccade88969a",
      "tree": "3b9895b47623b4673e3c11121980e5171af76bbe",
      "parents": [
        "86ef5c9a8edd78e6bf92879f32329d89b2d55b5a"
      ],
      "author": {
        "name": "Gautham R Shenoy",
        "email": "ego@in.ibm.com",
        "time": "Fri Jan 25 21:08:02 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 25 21:08:02 2008 +0100"
      },
      "message": "cpu-hotplug: replace per-subsystem mutexes with get_online_cpus()\n\nThis patch converts the known per-subsystem mutexes to get_online_cpus\nput_online_cpus. It also eliminates the CPU_LOCK_ACQUIRE and\nCPU_LOCK_RELEASE hotplug notification events.\n\nSigned-off-by: Gautham  R Shenoy \u003cego@in.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "556a169dab38b5100df6f4a45b655dddd3db94c1",
      "tree": "c7788980db8dfb401dd4cf28f4445e1ab98f51d2",
      "parents": [
        "eb36f4fc019835cecf0788907f6cab774508087b"
      ],
      "author": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Fri Jan 25 08:20:51 2008 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 25 08:30:36 2008 -0800"
      },
      "message": "slab: fix bootstrap on memoryless node\n\nIf the node we\u0027re booting on doesn\u0027t have memory, bootstrapping kmalloc()\ncaches resorts to fallback_alloc() which requires -\u003enodelists set for all\nnodes.  Fix that by calling set_up_list3s() for CACHE_CACHE in\nkmem_cache_init().\n\nAs kmem_getpages() is called with GFP_THISNODE set, this used to work before\nbecause of breakage in 2.6.22 and before with GFP_THISNODE returning pages from\nthe wrong node if a node had no memory. So it may have worked accidentally and\nin an unsafe manner because the pages would have been associated with the wrong\nnode which could trigger bug ons and locking troubles.\n\nTested-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nTested-by: Olaf Hering \u003colaf@aepfle.de\u003e\nReviewed-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\n[ With additional one-liner by Olaf Hering  - Linus ]\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9c09a95cf431fcf5720f2e408befa24b32b8cf4d",
      "tree": "c188d29023856625e91dea6c2e54d6e4c7969e87",
      "parents": [
        "c5c99429fa57dcf6e05203ebe3676db1ec646793"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mel@csn.ul.ie",
        "time": "Thu Jan 24 05:49:54 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jan 24 08:07:27 2008 -0800"
      },
      "message": "slab: partially revert list3 changes\n\nPartial revert the changes made by 04231b3002ac53f8a64a7bd142fde3fa4b6808c6\nto the kmem_list3 management. On a machine with a memoryless node, this\nBUG_ON was triggering\n\n\tstatic void *____cache_alloc_node(struct kmem_cache *cachep, gfp_t flags, int nodeid)\n\t{\n\t\tstruct list_head *entry;\n\t\tstruct slab *slabp;\n\t\tstruct kmem_list3 *l3;\n\t\tvoid *obj;\n\t\tint x;\n\n\t\tl3 \u003d cachep-\u003enodelists[nodeid];\n\t\tBUG_ON(!l3);\n\nSigned-off-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nAcked-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: \"Aneesh Kumar K.V\" \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nCc: Nishanth Aravamudan \u003cnacc@us.ibm.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "158a962422e4a54dc256b6a9b9562f3d30d34d9c",
      "tree": "21a71d7d671d12388f4b085e31b0258d1047f125",
      "parents": [
        "6b6adc22a01941165d5af9a3e69e28e948b28f47"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Jan 02 13:04:48 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Jan 02 13:04:48 2008 -0800"
      },
      "message": "Unify /proc/slabinfo configuration\n\nBoth SLUB and SLAB really did almost exactly the same thing for\n/proc/slabinfo setup, using duplicate code and per-allocator #ifdef\u0027s.\n\nThis just creates a common CONFIG_SLABINFO that is enabled by both SLUB\nand SLAB, and shares all the setup code.  Maybe SLOB will want this some\nday too.\n\nReviewed-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f8fcc93319faa09272185af100fb24e71b02ab03",
      "tree": "5696f15acbe0d8ad6895d7eef7566e72bacf8abc",
      "parents": [
        "4b01a0b1613beeb01e12c78feb69e98f0da0a69a"
      ],
      "author": {
        "name": "Tetsuo Handa",
        "email": "penguin-kernel@I-love.SAKURA.ne.jp",
        "time": "Tue Dec 04 23:45:08 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Dec 05 09:21:18 2007 -0800"
      },
      "message": "Add EXPORT_SYMBOL(ksize);\n\nmm/slub.c exports ksize(), but mm/slob.c and mm/slab.c don\u0027t.\n\nIt\u0027s used by binfmt_flat, which can be built as a module.\n\nSigned-off-by: Tetsuo Handa \u003cpenguin-kernel@I-love.SAKURA.ne.jp\u003e\nCc: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: Matt Mackall \u003cmpm@selenic.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "80cbd911ca25535f6bb66bbcbb98950ec328eb40",
      "tree": "5856978e32c675393bc2cb97e3647fc91e27f3bb",
      "parents": [
        "e1cca7e8d484390169777b423a7fe46c7021fec1"
      ],
      "author": {
        "name": "Matthew Wilcox",
        "email": "matthew@wil.cx",
        "time": "Thu Nov 29 12:05:13 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Nov 30 08:08:05 2007 -0800"
      },
      "message": "Fix kmem_cache_free performance regression in slab\n\nThe database performance group have found that half the cycles spent\nin kmem_cache_free are spent in this one call to BUG_ON.  Moving it\ninto the CONFIG_SLAB_DEBUG-only function cache_free_debugcheck() is a\nperformance win of almost 0.5% on their particular benchmark.\n\nThe call was added as part of commit ddc2e812d592457747c4367fb73edcaa8e1e49ff\nwith the comment that \"overhead should be minimal\".  It may have been\nminimal at the time, but it isn\u0027t now.\n\n[ Quoth Pekka Enberg: \"I don\u0027t think the BUG_ON per se caused the\n  performance regression but rather the virt_to_head_page() changes to\n  virt_to_cache() that were added later.\" ]\n\nSigned-off-by: Matthew Wilcox \u003cwilly@linux.intel.com\u003e\nAcked-by: Pekka J Enberg \u003cpenberg@cs.helsinki.fi\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cc550defe9790b495c96fafabc5a6528dc586f24",
      "tree": "e88689d55d9897c96287a6e92d0123ac8d59c29b",
      "parents": [
        "e9b5a495dc23f58ecaa9517f1ff4dd9ac724935f"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Wed Nov 14 16:58:35 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Nov 14 18:45:36 2007 -0800"
      },
      "message": "slab: fix typo in allocation failure handling\n\nThis patch fixes wrong array index in allocation failure handling.\n\nCc: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nAcked-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "183ff22bb6bd8188c904ebfb479656ae52230b72",
      "tree": "425207fc9cdca03df64ee8241ba764c75db4d8d1",
      "parents": [
        "676b1855de0a18100b3c340084eb8ef72bde4fb1"
      ],
      "author": {
        "name": "Simon Arlott",
        "email": "simon@fire.lp0.eux",
        "time": "Sat Oct 20 01:27:18 2007 +0200"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Sat Oct 20 01:27:18 2007 +0200"
      },
      "message": "spelling fixes: mm/\n\nSpelling fixes in mm/.\n\nSigned-off-by: Simon Arlott \u003csimon@fire.lp0.eu\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\n"
    },
    {
      "commit": "12d00f6a121877235a5cacc56386936dd9bb81af",
      "tree": "dc8aafc8ae729f299b43cffa73c15406e76f76a7",
      "parents": [
        "fbf1e473bd0ecc080a4c37bb89848b16c59ac18b"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Thu Oct 18 03:05:11 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Oct 18 14:37:21 2007 -0700"
      },
      "message": "cpu hotplug: slab: fix memory leak in cpu hotplug error path\n\nThis patch fixes memory leak in error path.\n\nIn reality, we don\u0027t need to call cpuup_canceled(cpu) for now.  But upcoming\ncpu hotplug error handling change needs this.\n\nCc: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: Gautham R Shenoy \u003cego@in.ibm.com\u003e\nAcked-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nCc: Gautham R Shenoy \u003cego@in.ibm.com\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "fbf1e473bd0ecc080a4c37bb89848b16c59ac18b",
      "tree": "179a7844c0c7722c3fa61d0787845db3c225df4d",
      "parents": [
        "6c72ffaab9851e3ee380c77169c0cfcba6b58d4c"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Thu Oct 18 03:05:09 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Oct 18 14:37:21 2007 -0700"
      },
      "message": "cpu hotplug: slab: cleanup cpuup_callback()\n\ncpuup_callback() is too long.  This patch factors out CPU_UP_CANCELLED and\nCPU_UP_PREPARE handlings from cpuup_callback().\n\nCc: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nCc: Gautham R Shenoy \u003cego@in.ibm.com\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "bda5b655fe663c86ae16436ab983a656d73b6e62",
      "tree": "5c0a580aab8dba20fdd9770597706a567b6fe50c",
      "parents": [
        "fb46f341d9868fe993626536c7449c2a1aec62a3"
      ],
      "author": {
        "name": "Robert P. J. Day",
        "email": "rpjday@mindspring.com",
        "time": "Tue Oct 16 23:30:05 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Oct 17 08:42:58 2007 -0700"
      },
      "message": "Delete gcc-2.95 compatible structure definition.\n\nSince nothing earlier than gcc-3.2 is supported for kernel\ncompilation, that 2.95 hack can be removed.\n\nSigned-off-by: Robert P. J. Day \u003crpjday@mindspring.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4ba9b9d0ba0a49d91fa6417c7510ee36f48cf957",
      "tree": "191b4f45f926e44b882b1e87a9a85dc12230b892",
      "parents": [
        "b811c202a0edadaac7242ab834fe7ba409978ae7"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Tue Oct 16 23:25:51 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Oct 17 08:42:45 2007 -0700"
      },
      "message": "Slab API: remove useless ctor parameter and reorder parameters\n\nSlab constructors currently have a flags parameter that is never used.  And\nthe order of the arguments is opposite to other slab functions.  The object\npointer is placed before the kmem_cache pointer.\n\nConvert\n\n        ctor(void *object, struct kmem_cache *s, unsigned long flags)\n\nto\n\n        ctor(struct kmem_cache *s, void *object)\n\nthroughout the kernel\n\n[akpm@linux-foundation.org: coupla fixes]\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e12ba74d8ff3e2f73a583500d7095e406df4d093",
      "tree": "a0d3385b65f0b3e1e00b0bbf11b75e7538a93edb",
      "parents": [
        "c361be55b3128474aa66d31092db330b07539103"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mel@csn.ul.ie",
        "time": "Tue Oct 16 01:25:52 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Oct 16 09:43:00 2007 -0700"
      },
      "message": "Group short-lived and reclaimable kernel allocations\n\nThis patch marks a number of allocations that are either short-lived such as\nnetwork buffers or are reclaimable such as inode allocations.  When something\nlike updatedb is called, long-lived and unmovable kernel allocations tend to\nbe spread throughout the address space which increases fragmentation.\n\nThis patch groups these allocations together as much as possible by adding a\nnew MIGRATE_TYPE.  The MIGRATE_RECLAIMABLE type is for allocations that can be\nreclaimed on demand, but not moved.  i.e.  they can be migrated by deleting\nthem and re-reading the information from elsewhere.\n\nSigned-off-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Andy Whitcroft \u003capw@shadowen.org\u003e\nCc: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6cb062296f73e74768cca2f3eaf90deac54de02d",
      "tree": "1572139653a6fc97cdffd06f2c1bfa650da2ce03",
      "parents": [
        "58c0a4a7864b2dad6da4090813322fcd29a11c92"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Tue Oct 16 01:25:41 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Oct 16 09:42:59 2007 -0700"
      },
      "message": "Categorize GFP flags\n\nThe function of GFP_LEVEL_MASK seems to be unclear.  In order to clear up\nthe mystery we get rid of it and replace GFP_LEVEL_MASK with 3 sets of GFP\nflags:\n\nGFP_RECLAIM_MASK\tFlags used to control page allocator reclaim behavior.\n\nGFP_CONSTRAINT_MASK\tFlags used to limit where allocations can occur.\n\nGFP_SLAB_BUG_MASK\tFlags that the slab allocator BUG()s on.\n\nThese replace the uses of GFP_LEVEL mask in the slab allocators and in\nvmalloc.c.\n\nThe use of the flags not included in these sets may occur as a result of a\nslab allocation standing in for a page allocation when constructing scatter\ngather lists.  Extraneous flags are cleared and not passed through to the\npage allocator.  __GFP_MOVABLE/RECLAIMABLE, __GFP_COLD and __GFP_COMP will\nnow be ignored if passed to a slab allocator.\n\nChange the allocation of allocator meta data in SLAB and vmalloc to not\npass through flags listed in GFP_CONSTRAINT_MASK.  SLAB already removes the\n__GFP_THISNODE flag for such allocations.  Generalize that to also cover\nvmalloc.  The use of GFP_CONSTRAINT_MASK also includes __GFP_HARDWALL.\n\nThe impact of allocator metadata placement on access latency to the\ncachelines of the object itself is minimal since metadata is only\nreferenced on alloc and free.  The attempt is still made to place the meta\ndata optimally but we consistently allow fallback both in SLAB and vmalloc\n(SLUB does not need to allocate metadata like that).\n\nAllocator metadata may serve multiple in kernel users and thus should not\nbe subject to the limitations arising from a single allocation context.\n\n[akpm@linux-foundation.org: fix fallback_alloc()]\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "04231b3002ac53f8a64a7bd142fde3fa4b6808c6",
      "tree": "7c55f86dbe697621943176cfa2a341dc0e6760ef",
      "parents": [
        "9422ffba4adc82b4b67a3ca6ef51516aa61f8248"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Tue Oct 16 01:25:32 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Oct 16 09:42:58 2007 -0700"
      },
      "message": "Memoryless nodes: Slab support\n\nSlab should not allocate control structures for nodes without memory.  This\nmay seem to work right now but its unreliable since not all allocations can\nfall back due to the use of GFP_THISNODE.\n\nSwitching a few for_each_online_node\u0027s to N_NORMAL_MEMORY will allow us to\nonly allocate for nodes that have regular memory.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nAcked-by: Nishanth Aravamudan \u003cnacc@us.ibm.com\u003e\nAcked-by: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nAcked-by: Bob Picco \u003cbob.picco@hp.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Mel Gorman \u003cmel@skynet.ie\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ef8b4520bd9f8294ffce9abd6158085bde5dc902",
      "tree": "c099a16691ac06208f4d3d65b71e7adaf7361fcd",
      "parents": [
        "0da7e01f5f37f441cccd7c8c0586e06db0981907"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Tue Oct 16 01:24:46 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Oct 16 09:42:53 2007 -0700"
      },
      "message": "Slab allocators: fail if ksize is called with a NULL parameter\n\nA NULL pointer means that the object was not allocated.  One cannot\ndetermine the size of an object that has not been allocated.  Currently we\nreturn 0 but we really should BUG() on attempts to determine the size of\nsomething nonexistent.\n\nkrealloc() interprets NULL to mean a zero sized object.  Handle that\nseparately in krealloc().\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nAcked-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nCc: Matt Mackall \u003cmpm@selenic.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1807a1aaf5f2a35ea6d4b527b28bc8889d255a2f",
      "tree": "8b07b08bedebc9bc09648fa3443041a03121733f",
      "parents": [
        "32d219854d31daba3407389ada1d454a4cd86fda"
      ],
      "author": {
        "name": "Siddha, Suresh B",
        "email": "suresh.b.siddha@intel.com",
        "time": "Wed Aug 22 14:01:49 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Aug 22 19:52:46 2007 -0700"
      },
      "message": "slab: skip calling cache_free_alien() when the platform is not numa capable\n\nSkip calling cache_free_alien() when the platform is not numa capable.\nThis will avoid cache misses that happen while accessing slabp (which is\nper page memory reference) to get nodeid.  Instead use a global variable to\nskip the call, which is mostly likely to be present in the cache.\n\nThis gives a 0.8% performance boost with the database oltp workload on a\nquad-core SMP platform and by any means the number is not small :)\n\nSigned-off-by: Suresh Siddha \u003csuresh.b.siddha@intel.com\u003e\nAcked-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b8c1c5da1520977cb55a358f20fc09567d40cad9",
      "tree": "c762e6ad77297beed0978337ce2f5b0c50add739",
      "parents": [
        "01e457cfcd5b6b6f18d0bb8cec0c5d43df56557e"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Tue Jul 24 12:02:40 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 24 12:24:59 2007 -0700"
      },
      "message": "slab: correctly handle __GFP_ZERO\n\nUse the correct local variable when calling into the page allocator.  Local\n`flags\u0027 can have __GFP_ZERO set, which causes us to pass __GFP_ZERO into the\npage allocator, possibly from illegal contexts.  The page allocator will later\ndo prep_zero_page()-\u003ekmap_atomic(..., KM_USER0) from irq contexts and will\nthen go BUG.\n\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nAcked-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "20c2df83d25c6a95affe6157a4c9cac4cf5ffaac",
      "tree": "415c4453d2b17a50abe7a3e515177e1fa337bd67",
      "parents": [
        "64fb98fc40738ae1a98bcea9ca3145b89fb71524"
      ],
      "author": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Fri Jul 20 10:11:58 2007 +0900"
      },
      "committer": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Fri Jul 20 10:11:58 2007 +0900"
      },
      "message": "mm: Remove slab destructors from kmem_cache_create().\n\nSlab destructors were no longer supported after Christoph\u0027s\nc59def9f222d44bb7e2f0a559f2906191a0862d7 change. They\u0027ve been\nBUGs for both slab and slub, and slob never supported them\neither.\n\nThis rips out support for the dtor pointer from kmem_cache_create()\ncompletely and fixes up every single callsite in the kernel (there were\nabout 224, not including the slab allocator definitions themselves,\nor the documentation references).\n\nSigned-off-by: Paul Mundt \u003clethal@linux-sh.org\u003e\n"
    },
    {
      "commit": "a5c96d8a1c67f31ef48935a78da2d2076513842b",
      "tree": "d164c6b33a1de9ea157b99bb353f84e41774164e",
      "parents": [
        "ce8c2293be47999584908069e78bf6d94beadc53"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 19 13:17:15 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 19 13:17:15 2007 -0700"
      },
      "message": "Fix up non-NUMA SLAB configuration for zero-sized allocations\n\nI suspect Christoph tested his code only in the NUMA configuration, for\nthe combination of SLAB+non-NUMA the zero-sized kmalloc\u0027s would not work.\n\nOf course, this would only trigger in configurations where those zero-\nsized allocations happen (not very common), so that may explain why it\nwasn\u0027t more widely noticed.\n\nSeen by by Andi Kleen under qemu, and there seems to be a report by\nMichael Tsirkin on it too.\n\nCc: Andi Kleen \u003cak@suse.de\u003e\nCc: Roland Dreier \u003crdreier@cisco.com\u003e\nCc: Michael S. Tsirkin \u003cmst@dev.mellanox.co.il\u003e\nCc: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nCc: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ea02e3dde3509ffa7fda7f8de9c8a366e03f7bbd",
      "tree": "0c48aa948de8549a2b183c2ed3e5b338fa9730b7",
      "parents": [
        "3abf7afd406866a84276d3ed04f4edf6070c9cb5"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Jul 19 01:49:09 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 19 10:04:50 2007 -0700"
      },
      "message": "FRV: work around a possible compiler bug\n\nWork around a possible bug in the FRV compiler.\n\nWhat appears to be happening is that gcc resolves the\n__builtin_constant_p() in kmalloc() to true, but then fails to reduce the\ntherefore constant conditions in the if-statements it guards to constant\nresults.\n\nWhen compiling with -O2 or -Os, one single spurious error crops up in\ncpuup_callback() in mm/slab.c.  This can be avoided by making the memsize\nvariable const.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9281acea6a3687ff0f262e0be31eac34895b95d7",
      "tree": "f060d6e4f6a5da1c82bc789104683d39377a2e9a",
      "parents": [
        "b45d52797432bd6b5d9786dbda940eb8d0b9ed06"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Tue Jul 17 04:03:51 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 17 10:23:03 2007 -0700"
      },
      "message": "kallsyms: make KSYM_NAME_LEN include space for trailing \u0027\\0\u0027\n\nKSYM_NAME_LEN is peculiar in that it does not include the space for the\ntrailing \u0027\\0\u0027, forcing all users to use KSYM_NAME_LEN + 1 when allocating\nbuffer.  This is nonsense and error-prone.  Moreover, when the caller\nforgets that it\u0027s very likely to subtly bite back by corrupting the stack\nbecause the last position of the buffer is always cleared to zero.\n\nThis patch increments KSYM_NAME_LEN by one and updates code accordingly.\n\n* off-by-one bug in asm-powerpc/kprobes.h::kprobe_lookup_name() macro\n  is fixed.\n\n* Where MODULE_NAME_LEN and KSYM_NAME_LEN were used together,\n  MODULE_NAME_LEN was treated as if it didn\u0027t include space for the\n  trailing \u0027\\0\u0027.  Fix it.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nAcked-by: Paulo Marques \u003cpmarques@grupopie.com\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "81cda6626178cd55297831296ba8ecedbfd8b52d",
      "tree": "fa35a6a04db63080bbeb42f33f4b4a891b7fc96c",
      "parents": [
        "ce15fea8274acca06daa1674322d37a7d3f0036b"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Tue Jul 17 04:03:29 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 17 10:23:01 2007 -0700"
      },
      "message": "Slab allocators: Cleanup zeroing allocations\n\nIt becomes now easy to support the zeroing allocs with generic inline\nfunctions in slab.h.  Provide inline definitions to allow the continued use of\nkzalloc, kmem_cache_zalloc etc but remove other definitions of zeroing\nfunctions from the slab allocators and util.c.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d07dbea46405b37d59495eb4de9d1056dcfb7c6d",
      "tree": "221376c8c5509a88f8942246180685d5c01baf46",
      "parents": [
        "6cb8f91320d3e720351c21741da795fed580b21b"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Tue Jul 17 04:03:23 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 17 10:23:01 2007 -0700"
      },
      "message": "Slab allocators: support __GFP_ZERO in all allocators\n\nA kernel convention for many allocators is that if __GFP_ZERO is passed to an\nallocator then the allocated memory should be zeroed.\n\nThis is currently not supported by the slab allocators.  The inconsistency\nmakes it difficult to implement in derived allocators such as in the uncached\nallocator and the pool allocators.\n\nIn addition the support zeroed allocations in the slab allocators does not\nhave a consistent API.  There are no zeroing allocator functions for NUMA node\nplacement (kmalloc_node, kmem_cache_alloc_node).  The zeroing allocations are\nonly provided for default allocs (kzalloc, kmem_cache_zalloc_node).\n__GFP_ZERO will make zeroing universally available and does not require any\naddititional functions.\n\nSo add the necessary logic to all slab allocators to support __GFP_ZERO.\n\nThe code is added to the hot path.  The gfp flags are on the stack and so the\ncacheline is readily available for checking if we want a zeroed object.\n\nZeroing while allocating is now a frequent operation and we seem to be\ngradually approaching a 1-1 parity between zeroing and not zeroing allocs.\nThe current tree has 3476 uses of kmalloc vs 2731 uses of kzalloc.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nAcked-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6cb8f91320d3e720351c21741da795fed580b21b",
      "tree": "c9f73c8b82cd0f6c534939b8b9f36e8615b0ab2d",
      "parents": [
        "ef2ad80c7d255ed0449eda947c2d700635b7e0f5"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Tue Jul 17 04:03:22 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 17 10:23:01 2007 -0700"
      },
      "message": "Slab allocators: consistent ZERO_SIZE_PTR support and NULL result semantics\n\nDefine ZERO_OR_NULL_PTR macro to be able to remove the checks from the\nallocators.  Move ZERO_SIZE_PTR related stuff into slab.h.\n\nMake ZERO_SIZE_PTR work for all slab allocators and get rid of the\nWARN_ON_ONCE(size \u003d\u003d 0) that is still remaining in SLAB.\n\nMake slub return NULL like the other allocators if a too large memory segment\nis requested via __kmalloc.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nAcked-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ef2ad80c7d255ed0449eda947c2d700635b7e0f5",
      "tree": "bc44916bdb25de29c8211566a4b5a1c041fa8ab6",
      "parents": [
        "d45f39cb06610ea456e1d689149b9becacda8b40"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Tue Jul 17 04:03:21 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 17 10:23:01 2007 -0700"
      },
      "message": "Slab allocators: consolidate code for krealloc in mm/util.c\n\nThe size of a kmalloc object is readily available via ksize().  ksize is\nprovided by all allocators and thus we can implement krealloc in a generic\nway.\n\nImplement krealloc in mm/util.c and drop slab specific implementations of\nkrealloc.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nAcked-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "897e679b17460b52752a038af29db356fe1bd759",
      "tree": "9b921ff267dabfbc662e4d245e6bc86a52a6f5ce",
      "parents": [
        "6ea6e6887dad1fd44e6d5020a0fd355af4f2b6b3"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Sun Jul 15 23:38:20 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:36 2007 -0700"
      },
      "message": "mm/slab.c: start_cpu_timer() should be __cpuinit\n\nstart_cpu_timer() should be __cpuinit (which also matches what it\u0027s\ncallers are).\n\n__devinit didn\u0027t cause problems, it simply wasted a few bytes of memory\nfor the common CONFIG_HOTPLUG_CPU\u003dn case.\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b92151bab91ef906378d3e0e7128d55dd641e966",
      "tree": "81f96a5976bcc749c42a9ae293e16667ea2d9afe",
      "parents": [
        "68e116a3b57d09b220fe38712bebd956b6dbbbc6"
      ],
      "author": {
        "name": "Pavel Emelianov",
        "email": "xemul@sw.ru",
        "time": "Sun Jul 15 23:38:04 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:35 2007 -0700"
      },
      "message": "Make /proc/slabinfo use seq_list_xxx helpers\n\nThis entry prints a header in .start callback.  This is OK, but the more\nelegant solution would be to move this into the .show callback and use\nseq_list_start_head() in .start one.\n\nI have left it as is in order to make the patch just switch to new API and\nnoting more.\n\n[adobriyan@sw.ru: Wrong pointer was used as kmem_cache pointer]\nSigned-off-by: Pavel Emelianov \u003cxemul@openvz.org\u003e\nCc: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@sw.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "87a927c715789853cc8331d76039a2fd657a832a",
      "tree": "c185e20386fd3ec8679d3d52bae822d9963df5da",
      "parents": [
        "2bcb1b7de9eeea969a25d5f2b4511195cca9f2a2"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Wed Jul 04 21:26:44 2007 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 05 15:54:13 2007 -0700"
      },
      "message": "Fix slab redzone alignment\n\nCommit b46b8f19c9cd435ecac4d9d12b39d78c137ecd66 fixed a couple of bugs\nby switching the redzone to 64 bits. Unfortunately, it neglected to\nensure that the _second_ redzone, after the slab object, is aligned\ncorrectly. This caused illegal instruction faults on sparc32, which for\nsome reason not entirely clear to me are not trapped and fixed up.\n\nTwo things need to be done to fix this:\n  - increase the object size, rounding up to alignof(long long) so\n    that the second redzone can be aligned correctly.\n  - If SLAB_STORE_USER is set but alignof(long long)\u003d\u003d8, allow a\n    full 64 bits of space for the user word at the end of the buffer,\n    even though we may not _use_ the whole 64 bits.\n\nThis patch should be a no-op on any 64-bit architecture or any 32-bit\narchitecture where alignof(long long) \u003d\u003d 4. Of the others, it\u0027s tested\non ppc32 by myself and a very similar patch was tested on sparc32 by\nMark Fortescue, who reported the new problem.\n\nAlso, fix the conditions for FORCED_DEBUG, which hadn\u0027t been adjusted to\nthe new sizes. Again noticed by Mark.\n\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "17022220dd70378b2f17fa9b0248f15067d88c58",
      "tree": "52a290cde0e3c6719df83d20ca02af4dbabfbbd6",
      "parents": [
        "0f4915b9c5d7a35da11bfcff80ae6466cb7b9fc4"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Sun Jul 01 12:06:35 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Jul 01 12:29:43 2007 -0700"
      },
      "message": "SLAB: remove WARN_ON_ONCE for zero sized objects for 2.6.22 release\n\nWe agreed to remove the WARN_ON_ONCE before 2.6.22 is released.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    }
  ],
  "next": "3cdc0ed0cea50ea08dd146c1bbc82b1bcc2e1b80"
}
