)]}'
{
  "log": [
    {
      "commit": "0c9aac08261512d70d7d4817bd222abca8b6bdd6",
      "tree": "41bbfed632bfc6233eac3e936cfdce75c5bd3a8f",
      "parents": [
        "ed0bb8ea059764c3fc882fb135473afd347335e9",
        "8bdec192b40cf7f7eec170b317c76089eb5eeddb"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 28 15:04:26 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 28 15:04:26 2012 -0700"
      },
      "message": "Merge branch \u0027slab/for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/linux\n\nPull SLAB changes from Pekka Enberg:\n \"There\u0027s the new kmalloc_array() API, minor fixes and performance\n  improvements, but quite honestly, nothing terribly exciting.\"\n\n* \u0027slab/for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/linux:\n  mm: SLAB Out-of-memory diagnostics\n  slab: introduce kmalloc_array()\n  slub: per cpu partial statistics change\n  slub: include include for prefetch\n  slub: Do not hold slub_lock when calling sysfs_slab_add()\n  slub: prefetch next freelist pointer in slab_alloc()\n  slab, cleanup: remove unneeded return\n"
    },
    {
      "commit": "cc9a6c8776615f9c194ccf0b63a0aa5628235545",
      "tree": "0cbbf118e86541f8eb2fc7b717a0e08eaced986d",
      "parents": [
        "e845e199362cc5712ba0e7eedc14eed70e144258"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mgorman@suse.de",
        "time": "Wed Mar 21 16:34:11 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 21 17:54:59 2012 -0700"
      },
      "message": "cpuset: mm: reduce large amounts of memory barrier related damage v3\n\nCommit c0ff7453bb5c (\"cpuset,mm: fix no node to alloc memory when\nchanging cpuset\u0027s mems\") wins a super prize for the largest number of\nmemory barriers entered into fast paths for one commit.\n\n[get|put]_mems_allowed is incredibly heavy with pairs of full memory\nbarriers inserted into a number of hot paths.  This was detected while\ninvestigating at large page allocator slowdown introduced some time\nafter 2.6.32.  The largest portion of this overhead was shown by\noprofile to be at an mfence introduced by this commit into the page\nallocator hot path.\n\nFor extra style points, the commit introduced the use of yield() in an\nimplementation of what looks like a spinning mutex.\n\nThis patch replaces the full memory barriers on both read and write\nsides with a sequence counter with just read barriers on the fast path\nside.  This is much cheaper on some architectures, including x86.  The\nmain bulk of the patch is the retry logic if the nodemask changes in a\nmanner that can cause a false failure.\n\nWhile updating the nodemask, a check is made to see if a false failure\nis a risk.  If it is, the sequence number gets bumped and parallel\nallocators will briefly stall while the nodemask update takes place.\n\nIn a page fault test microbenchmark, oprofile samples from\n__alloc_pages_nodemask went from 4.53% of all samples to 1.15%.  The\nactual results were\n\n                             3.3.0-rc3          3.3.0-rc3\n                             rc3-vanilla        nobarrier-v2r1\n    Clients   1 UserTime       0.07 (  0.00%)   0.08 (-14.19%)\n    Clients   2 UserTime       0.07 (  0.00%)   0.07 (  2.72%)\n    Clients   4 UserTime       0.08 (  0.00%)   0.07 (  3.29%)\n    Clients   1 SysTime        0.70 (  0.00%)   0.65 (  6.65%)\n    Clients   2 SysTime        0.85 (  0.00%)   0.82 (  3.65%)\n    Clients   4 SysTime        1.41 (  0.00%)   1.41 (  0.32%)\n    Clients   1 WallTime       0.77 (  0.00%)   0.74 (  4.19%)\n    Clients   2 WallTime       0.47 (  0.00%)   0.45 (  3.73%)\n    Clients   4 WallTime       0.38 (  0.00%)   0.37 (  1.58%)\n    Clients   1 Flt/sec/cpu  497620.28 (  0.00%) 520294.53 (  4.56%)\n    Clients   2 Flt/sec/cpu  414639.05 (  0.00%) 429882.01 (  3.68%)\n    Clients   4 Flt/sec/cpu  257959.16 (  0.00%) 258761.48 (  0.31%)\n    Clients   1 Flt/sec      495161.39 (  0.00%) 517292.87 (  4.47%)\n    Clients   2 Flt/sec      820325.95 (  0.00%) 850289.77 (  3.65%)\n    Clients   4 Flt/sec      1020068.93 (  0.00%) 1022674.06 (  0.26%)\n    MMTests Statistics: duration\n    Sys Time Running Test (seconds)             135.68    132.17\n    User+Sys Time Running Test (seconds)         164.2    160.13\n    Total Elapsed Time (seconds)                123.46    120.87\n\nThe overall improvement is small but the System CPU time is much\nimproved and roughly in correlation to what oprofile reported (these\nperformance figures are without profiling so skew is expected).  The\nactual number of page faults is noticeably improved.\n\nFor benchmarks like kernel builds, the overall benefit is marginal but\nthe system CPU time is slightly reduced.\n\nTo test the actual bug the commit fixed I opened two terminals.  The\nfirst ran within a cpuset and continually ran a small program that\nfaulted 100M of anonymous data.  In a second window, the nodemask of the\ncpuset was continually randomised in a loop.\n\nWithout the commit, the program would fail every so often (usually\nwithin 10 seconds) and obviously with the commit everything worked fine.\nWith this patch applied, it also worked fine so the fix should be\nfunctionally equivalent.\n\nSigned-off-by: Mel Gorman \u003cmgorman@suse.de\u003e\nCc: Miao Xie \u003cmiaox@cn.fujitsu.com\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Christoph Lameter \u003ccl@linux.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8bdec192b40cf7f7eec170b317c76089eb5eeddb",
      "tree": "78bf7e353438b4ebe26b494e50d26111dc87d0d5",
      "parents": [
        "a8203725dfded5c1f79dca3368a4a273e24b59bb"
      ],
      "author": {
        "name": "Rafael Aquini",
        "email": "aquini@redhat.com",
        "time": "Fri Mar 09 17:27:27 2012 -0300"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@kernel.org",
        "time": "Sat Mar 10 10:45:17 2012 +0200"
      },
      "message": "mm: SLAB Out-of-memory diagnostics\n\nFollowing the example at mm/slub.c, add out-of-memory diagnostics to the\nSLAB allocator to help on debugging certain OOM conditions.\n\nAn example print out looks like this:\n\n  \u003csnip page allocator out-of-memory message\u003e\n  SLAB: Unable to allocate memory on node 0 (gfp\u003d0x11200)\n    cache: bio-0, object size: 192, order: 0\n    node 0: slabs: 3/3, objs: 60/60, free: 0\n\nSigned-off-by: Rafael Aquini \u003caquini@redhat.com\u003e\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\nAcked-by: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@kernel.org\u003e\n"
    },
    {
      "commit": "42c8c99cd891184bf4bcf6f09d62c54e42599453",
      "tree": "436001fd4cd0aba57c67164d242490a2fbefaa1a",
      "parents": [
        "dcd6c92267155e70a94b3927bce681ce74b80d1f"
      ],
      "author": {
        "name": "Zhao Jin",
        "email": "cronozhj@gmail.com",
        "time": "Sat Aug 27 00:26:17 2011 +0800"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@kernel.org",
        "time": "Mon Jan 23 15:32:26 2012 +0200"
      },
      "message": "slab, cleanup: remove unneeded return\n\nThe procedure ends right after the if-statement, so remove ``return\u0027\u0027.\nAlso move the last common statement outside.\n\nSigned-off-by: Zhao Jin \u003ccronozhj@gmail.com\u003e\nAcked-by: David Rientjes \u003crientjes@google.com\u003e\nAcked-by: Christoph Lameter \u003ccl@linux.com\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@kernel.org\u003e\n"
    },
    {
      "commit": "6296e5d3c067df41980a5fd09ad4cc6765f79bb9",
      "tree": "ac10bc5321ac1d750612c0e0ae53d6c4097c5734",
      "parents": [
        "c086ae4ed94f9a1d283318e006813268c2dbf9fc",
        "5878cf431ca7233a56819ca6970153ac0b129599"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 11 18:52:23 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 11 18:52:23 2012 -0800"
      },
      "message": "Merge branch \u0027slab/for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/linux\n\n* \u0027slab/for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/linux:\n  slub: disallow changing cpu_partial from userspace for debug caches\n  slub: add missed accounting\n  slub: Extract get_freelist from __slab_alloc\n  slub: Switch per cpu partial page support off for debugging\n  slub: fix a possible memleak in __slab_alloc()\n  slub: fix slub_max_order Documentation\n  slub: add missed accounting\n  slab: add taint flag outputting to debug paths.\n  slub: add taint flag outputting to debug paths\n  slab: introduce slab_max_order kernel parameter\n  slab: rename slab_break_gfp_order to slab_max_order\n"
    },
    {
      "commit": "5878cf431ca7233a56819ca6970153ac0b129599",
      "tree": "e5d21d04a0b468d2dabbe3a3824f23b5537fc6a7",
      "parents": [
        "74ee4ef1f901fbb014bdcdc9171d126490ce2b62",
        "b13683d1cc14d1dd30b8e20f3ebea3f814ad029f"
      ],
      "author": {
        "name": "Pekka Enberg",
        "email": "penberg@kernel.org",
        "time": "Wed Jan 11 21:11:29 2012 +0200"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@kernel.org",
        "time": "Wed Jan 11 21:11:29 2012 +0200"
      },
      "message": "Merge branch \u0027slab/urgent\u0027 into slab/for-linus\n"
    },
    {
      "commit": "4dee6b64ee7cfef94b47733c6d9fef07f8051c7c",
      "tree": "78bf53f15f2b0dbcb6b6c1e74faf32545f4ba8bb",
      "parents": [
        "6b3da11b3c36fdafce3a72e0e90d6c4e99e9aad5"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Mon Jan 09 17:15:42 2012 -0500"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 09 14:19:33 2012 -0800"
      },
      "message": "tracing/mm: Move include of trace/events/kmem.h out of header into slab.c\n\nIncluding trace/events/*.h TRACE_EVENT() macro headers in other headers\ncan cause strange side effects if another trace/event/*.h header\nincludes that header.  Having trace/events/kmem.h inside slab_def.h\ncaused a compile error in sparc64 when changes were done to some header\nfiles.  Moving the kmem.h trace header out of slab.h and into slab.c\nfixes the problem.\n\nNote, both slub.c and slob.c already include the trace/events/kmem.h\nfile. Only slab.c had it missing.\n\nLink: http://lkml.kernel.org/r/20120105190405.1e3191fb5a43b2a0f1655e1f@canb.auug.org.au\n\nReported-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "52cef189165d74a5d6030184a8e05595194c69ca",
      "tree": "c7c4c612d14d9d6bdb24fda2725cb3da09badfed",
      "parents": [
        "8e8da023f5af71662867729db5547dc54786093c"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Nov 28 21:12:40 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Dec 05 09:44:00 2011 +0100"
      },
      "message": "slab, lockdep: Fix silly bug\n\nCommit 30765b92 (\"slab, lockdep: Annotate the locks before using\nthem\") moves the init_lock_keys() call from after g_cpucache_up \u003d\nFULL, to before it. And overlooks the fact that init_node_lock_keys()\ntests for it and ignores everything !FULL.\n\nIntroduce a LATE stage and change the lockdep test to be \u003cLATE.\n\nAcked-by: Christoph Lameter \u003ccl@linux.com\u003e\nCc: Pekka Enberg \u003cpenberg@kernel.org\u003e\nCc: stable@kernel.org\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "face37f5e615646f364fa848f0a5c9d361d7a46e",
      "tree": "ad6af6c7251032f4f05a7f220ee3fb3e9eba20b2",
      "parents": [
        "265d47e7115023df9e2b7a864b207b4738d9e18c"
      ],
      "author": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Tue Nov 15 15:03:52 2011 -0800"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@kernel.org",
        "time": "Wed Nov 16 21:14:44 2011 +0200"
      },
      "message": "slab: add taint flag outputting to debug paths.\n\nWhen we get corruption reports, it\u0027s useful to see if the kernel was\ntainted, to rule out problems we can\u0027t do anything about.\n\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@kernel.org\u003e\n"
    },
    {
      "commit": "3df1cccdfb3fab6aa9176beb655d802eb384eabc",
      "tree": "ab3e1e206a9120e936caa52ea85193aecf670e42",
      "parents": [
        "543585cc5b07fa99a2dc897159fbf48c1eb73058"
      ],
      "author": {
        "name": "David Rientjes",
        "email": "rientjes@google.com",
        "time": "Tue Oct 18 22:09:28 2011 -0700"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@kernel.org",
        "time": "Thu Nov 10 21:25:30 2011 +0200"
      },
      "message": "slab: introduce slab_max_order kernel parameter\n\nIntroduce new slab_max_order kernel parameter which is the equivalent of\nslub_max_order.\n\nFor immediate purposes, allows users to override the heuristic that sets\nthe max order to 1 by default if they have more than 32MB of RAM.  This\nmay result in page allocation failures if there is substantial\nfragmentation.\n\nAnother usecase would be to increase the max order for better\nperformance.\n\nAcked-by: Christoph Lameter \u003ccl@linux.com\u003e\nSigned-off-by: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@kernel.org\u003e\n"
    },
    {
      "commit": "543585cc5b07fa99a2dc897159fbf48c1eb73058",
      "tree": "2cdc47c37602aeb4cb0efed55e1a0b7914f025d9",
      "parents": [
        "1ea6b8f48918282bdca0b32a34095504ee65bab5"
      ],
      "author": {
        "name": "David Rientjes",
        "email": "rientjes@google.com",
        "time": "Tue Oct 18 22:09:24 2011 -0700"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@kernel.org",
        "time": "Thu Nov 10 21:25:30 2011 +0200"
      },
      "message": "slab: rename slab_break_gfp_order to slab_max_order\n\nslab_break_gfp_order is more appropriately named slab_max_order since it\nenforces the maximum order size of slabs as long as a single object will\nstill fit.\n\nAlso rename BREAK_GFP_ORDER_{LO,HI} accordingly.\n\nAcked-by: Christoph Lameter \u003ccl@linux.com\u003e\nSigned-off-by: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@kernel.org\u003e\n"
    },
    {
      "commit": "ab067e99d22ec78ff646de1283348729d1aa66d4",
      "tree": "813af760ebc66398cb17cfe8652ae8e851eddbfd",
      "parents": [
        "d20bbfab01802e195a50435940f7e4aa747c217c"
      ],
      "author": {
        "name": "Vasiliy Kulikov",
        "email": "segoon@openwall.com",
        "time": "Tue Sep 27 21:54:53 2011 +0400"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@kernel.org",
        "time": "Tue Sep 27 22:59:27 2011 +0300"
      },
      "message": "mm: restrict access to slab files under procfs and sysfs\n\nHistorically /proc/slabinfo and files under /sys/kernel/slab/* have\nworld read permissions and are accessible to the world.  slabinfo\ncontains rather private information related both to the kernel and\nuserspace tasks.  Depending on the situation, it might reveal either\nprivate information per se or information useful to make another\ntargeted attack.  Some examples of what can be learned by\nreading/watching for /proc/slabinfo entries:\n\n1) dentry (and different *inode*) number might reveal other processes fs\nactivity.  The number of dentry \"active objects\" doesn\u0027t strictly show\nfile count opened/touched by a process, however, there is a good\ncorrelation between them.  The patch \"proc: force dcache drop on\nunauthorized access\" relies on the privacy of dentry count.\n\n2) different inode entries might reveal the same information as (1), but\nthese are more fine granted counters.  If a filesystem is mounted in a\nprivate mount point (or even a private namespace) and fs type differs from\nother mounted fs types, fs activity in this mount point/namespace is\nrevealed.  If there is a single ecryptfs mount point, the whole fs\nactivity of a single user is revealed.  Number of files in ecryptfs\nmount point is a private information per se.\n\n3) fuse_* reveals number of files / fs activity of a user in a user\nprivate mount point.  It is approx. the same severity as ecryptfs\ninfoleak in (2).\n\n4) sysfs_dir_cache similar to (2) reveals devices\u0027 addition/removal,\nwhich can be otherwise hidden by \"chmod 0700 /sys/\".  With 0444 slabinfo\nthe precise number of sysfs files is known to the world.\n\n5) buffer_head might reveal some kernel activity.  With other\ninformation leaks an attacker might identify what specific kernel\nroutines generate buffer_head activity.\n\n6) *kmalloc* infoleaks are very situational.  Attacker should watch for\nthe specific kmalloc size entry and filter the noise related to the unrelated\nkernel activity.  If an attacker has relatively silent victim system, he\nmight get rather precise counters.\n\nAdditional information sources might significantly increase the slabinfo\ninfoleak benefits.  E.g. if an attacker knows that the processes\nactivity on the system is very low (only core daemons like syslog and\ncron), he may run setxid binaries / trigger local daemon activity /\ntrigger network services activity / await sporadic cron jobs activity\n/ etc. and get rather precise counters for fs and network activity of\nthese privileged tasks, which is unknown otherwise.\n\nAlso hiding slabinfo and /sys/kernel/slab/* is a one step to complicate\nexploitation of kernel heap overflows (and possibly, other bugs).  The\nrelated discussion:\n\nhttp://thread.gmane.org/gmane.linux.kernel/1108378\n\nTo keep compatibility with old permission model where non-root\nmonitoring daemon could watch for kernel memleaks though slabinfo one\nshould do:\n\n    groupadd slabinfo\n    usermod -a -G slabinfo $MONITOR_USER\n\nAnd add the following commands to init scripts (to mountall.conf in\nUbuntu\u0027s upstart case):\n\n    chmod g+r /proc/slabinfo /sys/kernel/slab/*/*\n    chgrp slabinfo /proc/slabinfo /sys/kernel/slab/*/*\n\nSigned-off-by: Vasiliy Kulikov \u003csegoon@openwall.com\u003e\nReviewed-by: Kees Cook \u003ckees@ubuntu.com\u003e\nReviewed-by: Dave Hansen \u003cdave@linux.vnet.ibm.com\u003e\nAcked-by: Christoph Lameter \u003ccl@gentwo.org\u003e\nAcked-by: David Rientjes \u003crientjes@google.com\u003e\nCC: Valdis.Kletnieks@vt.edu\nCC: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCC: Alan Cox \u003calan@linux.intel.com\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@kernel.org\u003e\n"
    },
    {
      "commit": "d20bbfab01802e195a50435940f7e4aa747c217c",
      "tree": "82b0007e33c083050a4e60a49dbb2f5477b4c99d",
      "parents": [
        "a37933c37c14b64e81c7c9cc44a5d3f5e0c91412",
        "136333d104bd3a62d783b0ac3d0f32ac0108c5d0"
      ],
      "author": {
        "name": "Pekka Enberg",
        "email": "penberg@kernel.org",
        "time": "Mon Sep 19 17:46:07 2011 +0300"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@kernel.org",
        "time": "Mon Sep 19 17:46:07 2011 +0300"
      },
      "message": "Merge branch \u0027slab/urgent\u0027 into slab/next\n"
    },
    {
      "commit": "30765b92ada267c5395fc788623cb15233276f5c",
      "tree": "83d4f62be66252537b634880170015ed051faa6e",
      "parents": [
        "f59de8992aa6dc85e81aadc26b0f69e17809721d"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "peterz@infradead.org",
        "time": "Thu Jul 28 23:22:56 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Aug 04 10:18:00 2011 +0200"
      },
      "message": "slab, lockdep: Annotate the locks before using them\n\nFernando found we hit the regular OFF_SLAB \u0027recursion\u0027 before we\nannotate the locks, cure this.\n\nThe relevant portion of the stack-trace:\n\n\u003e [    0.000000]  [\u003cc085e24f\u003e] rt_spin_lock+0x50/0x56\n\u003e [    0.000000]  [\u003cc04fb406\u003e] __cache_free+0x43/0xc3\n\u003e [    0.000000]  [\u003cc04fb23f\u003e] kmem_cache_free+0x6c/0xdc\n\u003e [    0.000000]  [\u003cc04fb2fe\u003e] slab_destroy+0x4f/0x53\n\u003e [    0.000000]  [\u003cc04fb396\u003e] free_block+0x94/0xc1\n\u003e [    0.000000]  [\u003cc04fc551\u003e] do_tune_cpucache+0x10b/0x2bb\n\u003e [    0.000000]  [\u003cc04fc8dc\u003e] enable_cpucache+0x7b/0xa7\n\u003e [    0.000000]  [\u003cc0bd9d3c\u003e] kmem_cache_init_late+0x1f/0x61\n\u003e [    0.000000]  [\u003cc0bba687\u003e] start_kernel+0x24c/0x363\n\u003e [    0.000000]  [\u003cc0bba0ba\u003e] i386_start_kernel+0xa9/0xaf\n\nReported-by: Fernando Lopez-Lezcano \u003cnando@ccrma.Stanford.EDU\u003e\nAcked-by: Pekka Enberg \u003cpenberg@kernel.org\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/1311888176.2617.379.camel@laptop\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "83835b3d9aec8e9f666d8223d8a386814f756266",
      "tree": "6112e44af7202c41b48d468eff8b5a28138efd33",
      "parents": [
        "70a0686a72c7a7e554b404ca11406ceec709d425"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "peterz@infradead.org",
        "time": "Fri Jul 22 15:26:05 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Aug 04 10:17:54 2011 +0200"
      },
      "message": "slab, lockdep: Annotate slab -\u003e rcu -\u003e debug_object -\u003e slab\n\nLockdep thinks there\u0027s lock recursion through:\n\n\tkmem_cache_free()\n\t  cache_flusharray()\n\t    spin_lock(\u0026l3-\u003elist_lock)  \u003c----------------.\n\t    free_block()                                |\n\t      slab_destroy()                            |\n\t\tcall_rcu()                              |\n\t\t  debug_object_activate()               |\n\t\t    debug_object_init()                 |\n\t\t      __debug_object_init()             |\n\t\t\tkmem_cache_alloc()              |\n\t\t\t  cache_alloc_refill()          |\n\t\t\t    spin_lock(\u0026l3-\u003elist_lock) --\u0027\n\nNow debug objects doesn\u0027t use SLAB_DESTROY_BY_RCU and hence there is no\nactual possibility of recursing. Luckily debug objects marks it slab\nwith SLAB_DEBUG_OBJECTS so we can identify the thing.\n\nMark all SLAB_DEBUG_OBJECTS (all one!) slab caches with a special\nlockdep key so that lockdep sees its a different cachep.\n\nAlso add a WARN on trying to create a SLAB_DESTROY_BY_RCU |\nSLAB_DEBUG_OBJECTS cache, to avoid possible future trouble.\n\nReported-and-tested-by: Sebastian Siewior \u003csebastian@breakpoint.cc\u003e\n[ fixes to the initial patch ]\nReported-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nAcked-by: Pekka Enberg \u003cpenberg@kernel.org\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/1311341165.27400.58.camel@twins\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "fdde6abb3e8dd45e4b026fcf32d40aed96ce3944",
      "tree": "926dac3ce211abae103ac50c2a56e0e791b9a043",
      "parents": [
        "250f8e3db646028353a2a737ddb7a894c97a1098"
      ],
      "author": {
        "name": "Sebastian Andrzej Siewior",
        "email": "bigeasy@linutronix.de",
        "time": "Fri Jul 29 18:22:13 2011 +0200"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@kernel.org",
        "time": "Sun Jul 31 19:16:33 2011 +0300"
      },
      "message": "slab: use print_hex_dump\n\nLess code and the advantage of ascii dump.\n\nbefore:\n| Slab corruption: names_cache start\u003dc5788000, len\u003d4096\n| 000: 6b 6b 01 00 00 00 56 00 00 00 24 00 00 00 2a 00\n| 010: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00\n| 020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ff ff\n| 030: ff ff ff ff e2 b4 17 18 c7 e4 08 06 00 01 08 00\n| 040: 06 04 00 01 e2 b4 17 18 c7 e4 0a 00 00 01 00 00\n| 050: 00 00 00 00 0a 00 00 02 6b 6b 6b 6b 6b 6b 6b 6b\n\nafter:\n| Slab corruption: size-4096 start\u003dc38a9000, len\u003d4096\n| 000: 6b 6b 01 00 00 00 56 00 00 00 24 00 00 00 2a 00  kk....V...$...*.\n| 010: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................\n| 020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ff ff  ................\n| 030: ff ff ff ff d2 56 5f aa db 9c 08 06 00 01 08 00  .....V_.........\n| 040: 06 04 00 01 d2 56 5f aa db 9c 0a 00 00 01 00 00  .....V_.........\n| 050: 00 00 00 00 0a 00 00 02 6b 6b 6b 6b 6b 6b 6b 6b  ........kkkkkkkk\n\nAcked-by: Christoph Lameter \u003ccl@linux.com\u003e\nSigned-off-by: Sebastian Andrzej Siewior \u003cbigeasy@linutronix.de\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@kernel.org\u003e\n"
    },
    {
      "commit": "eacbbae385bf492229e84024863960d3160547c7",
      "tree": "894a5d7dc97722e84f2b3a712962cbd8e44e1a64",
      "parents": [
        "acfe7d74484d6ccb25a80b8ff259fceceac0473e"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Thu Jul 28 13:59:49 2011 -0700"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@kernel.org",
        "time": "Sun Jul 31 18:14:21 2011 +0300"
      },
      "message": "slab: use NUMA_NO_NODE\n\nUse the nice enumerated constant.\n\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@kernel.org\u003e\n"
    },
    {
      "commit": "acfe7d74484d6ccb25a80b8ff259fceceac0473e",
      "tree": "0de2cb086983813091e426015e218643016b3bc9",
      "parents": [
        "95b6886526bb510b8370b625a49bc0ab3b8ff10f"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Mon Jul 25 08:55:42 2011 +0200"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@kernel.org",
        "time": "Thu Jul 28 13:40:08 2011 +0300"
      },
      "message": "slab: remove one NR_CPUS dependency\n\nReduce high order allocations in do_tune_cpucache() for some setups.\n(NR_CPUS\u003d4096 -\u003e we need 64KB)\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nAcked-by: Christoph Lameter \u003ccl@linux.com\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@kernel.org\u003e\n"
    },
    {
      "commit": "f99b7880cb9863e11441bd8b2f31d4f556ef1a44",
      "tree": "6f3dc6e33e847b431dd899bd968d799f0d4a8fff",
      "parents": [
        "02f8c6aee8df3cdc935e9bdd4f2d020306035dbe",
        "7ea466f2256b02a7047dfd47d76a2f6c1e427e3e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 12:44:30 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 12:44:30 2011 -0700"
      },
      "message": "Merge branch \u0027slab-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/slab-2.6\n\n* \u0027slab-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/slab-2.6:\n  slab: fix DEBUG_SLAB warning\n  slab: shrink sizeof(struct kmem_cache)\n  slab: fix DEBUG_SLAB build\n  SLUB: Fix missing \u003clinux/stacktrace.h\u003e include\n  slub: reduce overhead of slub_debug\n  slub: Add method to verify memory is not freed\n  slub: Enable backtrace for create/delete points\n  slab allocators: Provide generic description of alignment defines\n  slab, slub, slob: Unify alignment definition\n  slob/lockdep: Fix gfp flags passed to lockdep\n"
    },
    {
      "commit": "7ea466f2256b02a7047dfd47d76a2f6c1e427e3e",
      "tree": "fbe47a3e126d3f20b0eb4785eaaced80e95b987e",
      "parents": [
        "b56efcf0a45aa7fc32de90d5f9838541082fbc19"
      ],
      "author": {
        "name": "Tetsuo Handa",
        "email": "penguin-kernel@i-love.sakura.ne.jp",
        "time": "Thu Jul 21 09:42:45 2011 +0900"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@kernel.org",
        "time": "Fri Jul 22 11:01:03 2011 +0300"
      },
      "message": "slab: fix DEBUG_SLAB warning\n\nIn commit c225150b \"slab: fix DEBUG_SLAB build\",\n\"if ((unsigned long)objp \u0026 (ARCH_SLAB_MINALIGN-1))\" is always true if\nARCH_SLAB_MINALIGN \u003d\u003d 0. Do not print warning if ARCH_SLAB_MINALIGN \u003d\u003d 0.\n\nSigned-off-by: Tetsuo Handa \u003cpenguin-kernel@I-love.SAKURA.ne.jp\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@kernel.org\u003e\n"
    },
    {
      "commit": "b56efcf0a45aa7fc32de90d5f9838541082fbc19",
      "tree": "e1de7ba007c79042d30454c11b78aa942e2666b3",
      "parents": [
        "c225150b86fef9f7663219b6e9f7606ea1607312"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Wed Jul 20 19:04:23 2011 +0200"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@kernel.org",
        "time": "Wed Jul 20 20:27:56 2011 +0300"
      },
      "message": "slab: shrink sizeof(struct kmem_cache)\n\nReduce high order allocations for some setups.\n(NR_CPUS\u003d4096 -\u003e we need 64KB per kmem_cache struct)\n\nWe now allocate exact needed size (using nr_cpu_ids and nr_node_ids)\n\nThis also makes code a bit smaller on x86_64, since some field offsets\nare less than the 127 limit :\n\nBefore patch :\n# size mm/slab.o\n   text    data     bss     dec     hex filename\n  22605  361665      32  384302   5dd2e mm/slab.o\n\nAfter patch :\n# size mm/slab.o\n   text    data     bss     dec     hex filename\n  22349\t 353473\t   8224\t 384046\t  5dc2e\tmm/slab.o\n\nCC: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nReported-by: Konstantin Khlebnikov \u003ckhlebnikov@openvz.org\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nAcked-by: Christoph Lameter \u003ccl@linux.com\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@kernel.org\u003e\n"
    },
    {
      "commit": "c225150b86fef9f7663219b6e9f7606ea1607312",
      "tree": "c49c07c9ecaff0a90355fbb79f3e3d262fa5943a",
      "parents": [
        "bfa71457a091ac0e4e20cab36e8ebad63935e504"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hughd@google.com",
        "time": "Mon Jul 11 13:35:08 2011 -0700"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@kernel.org",
        "time": "Mon Jul 18 15:20:49 2011 +0300"
      },
      "message": "slab: fix DEBUG_SLAB build\n\nFix CONFIG_SLAB\u003dy CONFIG_DEBUG_SLAB\u003dy build error and warnings.\n\nNow that ARCH_SLAB_MINALIGN defaults to __alignof__(unsigned long long),\nit is always defined (when slab.h included), but cannot be used in #if:\nmm/slab.c: In function `cache_alloc_debugcheck_after\u0027:\nmm/slab.c:3156:5: warning: \"__alignof__\" is not defined\nmm/slab.c:3156:5: error: missing binary operator before token \"(\"\nmake[1]: *** [mm/slab.o] Error 1\n\nSo just remove the #if and #endif lines, but then 64-bit build warns:\nmm/slab.c: In function `cache_alloc_debugcheck_after\u0027:\nmm/slab.c:3156:6: warning: cast from pointer to integer of different size\nmm/slab.c:3158:10: warning: format `%d\u0027 expects type `int\u0027, but argument\n                            3 has type `long unsigned int\u0027\nFix those with casts, whatever the actual type of ARCH_SLAB_MINALIGN.\n\nAcked-by: Christoph Lameter \u003ccl@linux.com\u003e\nSigned-off-by: Hugh Dickins \u003chughd@google.com\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@kernel.org\u003e\n"
    },
    {
      "commit": "a947eb95ea03199da7408a64baa97fbb613e9b84",
      "tree": "f3a6c46b2c1b19a332a009d0e5ddb7512e21a40f",
      "parents": [
        "d4d84fef6d0366b585b7de13527a0faeca84d9ce"
      ],
      "author": {
        "name": "Suleiman Souhlal",
        "email": "ssouhlal@FreeBSD.org",
        "time": "Thu Jun 02 00:16:42 2011 -0700"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@kernel.org",
        "time": "Fri Jun 03 19:33:50 2011 +0300"
      },
      "message": "SLAB: Record actual last user of freed objects.\n\nCurrently, when using CONFIG_DEBUG_SLAB, we put in kfree() or\nkmem_cache_free() as the last user of free objects, which is not\nvery useful, so change it to the caller of those functions instead.\n\nAcked-by: David Rientjes \u003crientjes@google.com\u003e\nAcked-by: Christoph Lameter \u003ccl@linux.com\u003e\nSigned-off-by: Suleiman Souhlal \u003csuleiman@google.com\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@kernel.org\u003e\n"
    },
    {
      "commit": "268bb0ce3e87872cb9290c322b0d35bce230d88f",
      "tree": "c8331ade4a3e24fc589c4eb62731bc2312d35333",
      "parents": [
        "257313b2a87795e07a0bdf58d0fffbdba8b31051"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 20 12:50:29 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 20 12:50:29 2011 -0700"
      },
      "message": "sanitize \u003clinux/prefetch.h\u003e usage\n\nCommit e66eed651fd1 (\"list: remove prefetching from regular list\niterators\") removed the include of prefetch.h from list.h, which\nuncovered several cases that had apparently relied on that rather\nobscure header file dependency.\n\nSo this fixes things up a bit, using\n\n   grep -L linux/prefetch.h $(git grep -l \u0027[^a-z_]prefetchw*(\u0027 -- \u0027*.[ch]\u0027)\n   grep -L \u0027prefetchw*(\u0027 $(git grep -l \u0027linux/prefetch.h\u0027 -- \u0027*.[ch]\u0027)\n\nto guide us in finding files that either need \u003clinux/prefetch.h\u003e\ninclusion, or have it despite not needing it.\n\nThere are more of them around (mostly network drivers), but this gets\nmany core ones.\n\nReported-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "25985edcedea6396277003854657b5f3cb31a628",
      "tree": "f026e810210a2ee7290caeb737c23cb6472b7c38",
      "parents": [
        "6aba74f2791287ec407e0f92487a725a25908067"
      ],
      "author": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@profusion.mobi",
        "time": "Wed Mar 30 22:57:33 2011 -0300"
      },
      "committer": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@profusion.mobi",
        "time": "Thu Mar 31 11:26:23 2011 -0300"
      },
      "message": "Fix common misspellings\n\nFixes generated by \u0027codespell\u0027 and manually reviewed.\n\nSigned-off-by: Lucas De Marchi \u003clucas.demarchi@profusion.mobi\u003e\n"
    },
    {
      "commit": "5fda1bd5b8869574dad8e1f9f71e23bf0c186274",
      "tree": "a714e0d153622bd89cf9f775e04763ccbd6c4ca5",
      "parents": [
        "cbf978bfb12d7deca97d7333f65eda0381a072de"
      ],
      "author": {
        "name": "Prarit Bhargava",
        "email": "prarit@redhat.com",
        "time": "Tue Mar 22 16:30:49 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 22 17:44:01 2011 -0700"
      },
      "message": "mm: notifier_from_errno() cleanup\n\nWhile looking at some other notifier callbacks I noticed this code could\nuse a simple cleanup.\n\nnotifier_from_errno() no longer needs the if (ret)/else conditional.  That\nsame conditional is now done in notifier_from_errno().\n\nSigned-off-by: Prarit Bhargava \u003cprarit@redhat.com\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.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": "865d794d1f144d0f93796840d01696cd70647a8a",
      "tree": "aab3956dabf6b8f95af4a3fd689b7ed24868e19e",
      "parents": [
        "c9149556756d56c68451a4a8735c37e7062fd3d7",
        "3ff84a7f36554b257cd57325b1a7c1fa4b49fbe3"
      ],
      "author": {
        "name": "Pekka Enberg",
        "email": "penberg@kernel.org",
        "time": "Fri Mar 11 18:11:19 2011 +0200"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@kernel.org",
        "time": "Fri Mar 11 18:11:19 2011 +0200"
      },
      "message": "Merge branch \u0027slab/urgent\u0027 into slab/next\n"
    },
    {
      "commit": "c9149556756d56c68451a4a8735c37e7062fd3d7",
      "tree": "a2dae56b22adaa9a23c8f92f30c3b3ad3b610850",
      "parents": [
        "d71f606f687ef9d0cdddfd3619ca7cb9a0b3fb63",
        "5bfe53a77e8a3ffce4a10003c75f464a138e272d"
      ],
      "author": {
        "name": "Pekka Enberg",
        "email": "penberg@kernel.org",
        "time": "Fri Mar 11 18:10:45 2011 +0200"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@kernel.org",
        "time": "Fri Mar 11 18:10:45 2011 +0200"
      },
      "message": "Merge branch \u0027slab/rcu\u0027 into slab/next\n\nConflicts:\n\tmm/slub.c\n"
    },
    {
      "commit": "5bfe53a77e8a3ffce4a10003c75f464a138e272d",
      "tree": "4e46dc4a8e7d2cf83e330d63ab62815718fcec11",
      "parents": [
        "da9a638c6f8fc0633fa94a334f1c053f5e307177"
      ],
      "author": {
        "name": "Lai Jiangshan",
        "email": "laijs@cn.fujitsu.com",
        "time": "Thu Mar 10 15:22:24 2011 +0800"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@kernel.org",
        "time": "Fri Mar 11 18:06:35 2011 +0200"
      },
      "message": "slab,rcu: don\u0027t assume the size of struct rcu_head\n\nThe size of struct rcu_head may be changed. When it becomes larger,\nit may pollute the data after struct slab.\n\nAcked-by: Christoph Lameter \u003ccl@linux.com\u003e\nSigned-off-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@kernel.org\u003e\n"
    },
    {
      "commit": "3ff84a7f36554b257cd57325b1a7c1fa4b49fbe3",
      "tree": "29296589f7ad5478e8b52bcab29c1e294ab751b3",
      "parents": [
        "1bae4ce27c9c90344f23c65ea6966c50ffeae2f5"
      ],
      "author": {
        "name": "Pekka Enberg",
        "email": "penberg@kernel.org",
        "time": "Mon Feb 14 17:46:21 2011 +0200"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@kernel.org",
        "time": "Mon Feb 14 17:46:21 2011 +0200"
      },
      "message": "Revert \"slab: Fix missing DEBUG_SLAB last user\"\n\nThis reverts commit 5c5e3b33b7cb959a401f823707bee006caadd76e.\n\nThe commit breaks ARM thusly:\n\n| Mount-cache hash table entries: 512\n| slab error in verify_redzone_free(): cache `idr_layer_cache\u0027: memory outside object was overwritten\n| Backtrace:\n| [\u003cc0227088\u003e] (dump_backtrace+0x0/0x110) from [\u003cc0431afc\u003e] (dump_stack+0x18/0x1c)\n| [\u003cc0431ae4\u003e] (dump_stack+0x0/0x1c) from [\u003cc0293304\u003e] (__slab_error+0x28/0x30)\n| [\u003cc02932dc\u003e] (__slab_error+0x0/0x30) from [\u003cc0293a74\u003e] (cache_free_debugcheck+0x1c0/0x2b8)\n| [\u003cc02938b4\u003e] (cache_free_debugcheck+0x0/0x2b8) from [\u003cc0293f78\u003e] (kmem_cache_free+0x3c/0xc0)\n| [\u003cc0293f3c\u003e] (kmem_cache_free+0x0/0xc0) from [\u003cc032b1c8\u003e] (ida_get_new_above+0x19c/0x1c0)\n| [\u003cc032b02c\u003e] (ida_get_new_above+0x0/0x1c0) from [\u003cc02af7ec\u003e] (alloc_vfsmnt+0x54/0x144)\n| [\u003cc02af798\u003e] (alloc_vfsmnt+0x0/0x144) from [\u003cc0299830\u003e] (vfs_kern_mount+0x30/0xec)\n| [\u003cc0299800\u003e] (vfs_kern_mount+0x0/0xec) from [\u003cc0299908\u003e] (kern_mount_data+0x1c/0x20)\n| [\u003cc02998ec\u003e] (kern_mount_data+0x0/0x20) from [\u003cc02146c4\u003e] (sysfs_init+0x68/0xc8)\n| [\u003cc021465c\u003e] (sysfs_init+0x0/0xc8) from [\u003cc02137d4\u003e] (mnt_init+0x90/0x1b0)\n| [\u003cc0213744\u003e] (mnt_init+0x0/0x1b0) from [\u003cc0213388\u003e] (vfs_caches_init+0x100/0x140)\n| [\u003cc0213288\u003e] (vfs_caches_init+0x0/0x140) from [\u003cc0208c0c\u003e] (start_kernel+0x2e8/0x368)\n| [\u003cc0208924\u003e] (start_kernel+0x0/0x368) from [\u003cc0208034\u003e] (__enable_mmu+0x0/0x2c)\n| c0113268: redzone 1:0xd84156c5c032b3ac, redzone 2:0xd84156c5635688c0.\n| slab error in cache_alloc_debugcheck_after(): cache `idr_layer_cache\u0027: double free, or memory outside object was overwritten\n| ...\n| c011307c: redzone 1:0x9f91102ffffffff, redzone 2:0x9f911029d74e35b\n| slab: Internal list corruption detected in cache \u0027idr_layer_cache\u0027(24), slabp c0113000(16). Hexdump:\n|\n| 000: 20 4f 10 c0 20 4f 10 c0 7c 00 00 00 7c 30 11 c0\n| 010: 10 00 00 00 10 00 00 00 00 00 c9 17 fe ff ff ff\n| 020: fe ff ff ff fe ff ff ff fe ff ff ff fe ff ff ff\n| 030: fe ff ff ff fe ff ff ff fe ff ff ff fe ff ff ff\n| 040: fe ff ff ff fe ff ff ff fe ff ff ff fe ff ff ff\n| 050: fe ff ff ff fe ff ff ff fe ff ff ff 11 00 00 00\n| 060: 12 00 00 00 13 00 00 00 14 00 00 00 15 00 00 00\n| 070: 16 00 00 00 17 00 00 00 c0 88 56 63\n| kernel BUG at /home/rmk/git/linux-2.6-rmk/mm/slab.c:2928!\n\nReference: https://lkml.org/lkml/2011/2/7/238\nCc: \u003cstable@kernel.org\u003e # 2.6.35.y and later\nReported-and-analyzed-by: Russell King \u003crmk@arm.linux.org.uk\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@kernel.org\u003e\n"
    },
    {
      "commit": "63310467a3d1ed6a0460ec1f4268126cd1ceec2e",
      "tree": "f5bf7e48fe119bffe1111b50767280c4af310505",
      "parents": [
        "1bae4ce27c9c90344f23c65ea6966c50ffeae2f5"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "cl@linux.com",
        "time": "Thu Jan 20 11:12:26 2011 -0600"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@kernel.org",
        "time": "Sun Jan 23 21:00:05 2011 +0200"
      },
      "message": "mm: Remove support for kmem_cache_name()\n\nThe last user was ext4 and Eric Sandeen removed the call in a recent patch. See\nthe following URL for the discussion:\n\nhttp://marc.info/?l\u003dlinux-ext4\u0026m\u003d129546975702198\u0026w\u003d2\n\nSigned-off-by: Christoph Lameter \u003ccl@linux.com\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@kernel.org\u003e\n"
    },
    {
      "commit": "68a1b1955957e222d890f550d2a44ae598db3de9",
      "tree": "809e8420b4c54da4d179fa69aacc269020e486ec",
      "parents": [
        "597fb188cbee2d371246e1669bbc6051bb666aa9"
      ],
      "author": {
        "name": "H Hartley Sweeten",
        "email": "hartleys@visionengravers.com",
        "time": "Tue Jan 11 17:49:32 2011 -0600"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@kernel.org",
        "time": "Sat Jan 15 13:28:36 2011 +0200"
      },
      "message": "mm/slab.c: make local symbols static\n\nLocal symbols should be static.\n\nSigned-off-by: H Hartley Sweeten \u003chsweeten@visionengravers.com\u003e\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nCc: Matt Mackall \u003cmpm@selenic.com\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@kernel.org\u003e\n"
    },
    {
      "commit": "a1e8fad5900fa94adb500c6e0dfd60a307f7a3c9",
      "tree": "c619277e587a99c90e76a1e7b63746af4d959d72",
      "parents": [
        "e3166331a3288dd7184548896a1c7ab682f0dbe8",
        "a45b0616e7ee9db4c1b2b9a4a79a974325fa9bf3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 10 08:38:01 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 10 08:38:01 2011 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/slab-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/slab-2.6:\n  slub: Fix a crash during slabinfo -v\n  tracing/slab: Move kmalloc tracepoint out of inline code\n  slub: Fix slub_lock down/up imbalance\n  slub: Fix build breakage in Documentation/vm\n  slub tracing: move trace calls out of always inlined functions to reduce kernel code size\n  slub: move slabinfo.c to tools/slub/slabinfo.c\n"
    },
    {
      "commit": "72eb6a791459c87a0340318840bb3bd9252b627b",
      "tree": "3bfb8ad99f9c7e511f37f72d57b56a2cea06d753",
      "parents": [
        "23d69b09b78c4876e134f104a3814c30747c53f1",
        "55ee4ef30241a62b700f79517e6d5ef2ddbefa67"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 07 17:02:58 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 07 17:02:58 2011 -0800"
      },
      "message": "Merge branch \u0027for-2.6.38\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu\n\n* \u0027for-2.6.38\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu: (30 commits)\n  gameport: use this_cpu_read instead of lookup\n  x86: udelay: Use this_cpu_read to avoid address calculation\n  x86: Use this_cpu_inc_return for nmi counter\n  x86: Replace uses of current_cpu_data with this_cpu ops\n  x86: Use this_cpu_ops to optimize code\n  vmstat: User per cpu atomics to avoid interrupt disable / enable\n  irq_work: Use per cpu atomics instead of regular atomics\n  cpuops: Use cmpxchg for xchg to avoid lock semantics\n  x86: this_cpu_cmpxchg and this_cpu_xchg operations\n  percpu: Generic this_cpu_cmpxchg() and this_cpu_xchg support\n  percpu,x86: relocate this_cpu_add_return() and friends\n  connector: Use this_cpu operations\n  xen: Use this_cpu_inc_return\n  taskstats: Use this_cpu_ops\n  random: Use this_cpu_inc_return\n  fs: Use this_cpu_inc_return in buffer.c\n  highmem: Use this_cpu_xx_return() operations\n  vmstat: Use this_cpu_inc_return for vm statistics\n  x86: Support for this_cpu_add, sub, dec, inc_return\n  percpu: Generic support for this_cpu_add, sub, dec, inc_return\n  ...\n\nFixed up conflicts: in arch/x86/kernel/{apic/nmi.c, apic/x2apic_uv_x.c, process.c}\nas per Tejun.\n"
    },
    {
      "commit": "23d69b09b78c4876e134f104a3814c30747c53f1",
      "tree": "40744de4f4126c21027ce537264524095e0e7979",
      "parents": [
        "e744070fd4ff9d3114277e52d77afa21579adce2",
        "569ff2de2e1c8ac67c8df3a7367d46d0d9460a35"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 07 16:58:04 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 07 16:58:04 2011 -0800"
      },
      "message": "Merge branch \u0027for-2.6.38\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq\n\n* \u0027for-2.6.38\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq: (33 commits)\n  usb: don\u0027t use flush_scheduled_work()\n  speedtch: don\u0027t abuse struct delayed_work\n  media/video: don\u0027t use flush_scheduled_work()\n  media/video: explicitly flush request_module work\n  ioc4: use static work_struct for ioc4_load_modules()\n  init: don\u0027t call flush_scheduled_work() from do_initcalls()\n  s390: don\u0027t use flush_scheduled_work()\n  rtc: don\u0027t use flush_scheduled_work()\n  mmc: update workqueue usages\n  mfd: update workqueue usages\n  dvb: don\u0027t use flush_scheduled_work()\n  leds-wm8350: don\u0027t use flush_scheduled_work()\n  mISDN: don\u0027t use flush_scheduled_work()\n  macintosh/ams: don\u0027t use flush_scheduled_work()\n  vmwgfx: don\u0027t use flush_scheduled_work()\n  tpm: don\u0027t use flush_scheduled_work()\n  sonypi: don\u0027t use flush_scheduled_work()\n  hvsi: don\u0027t use flush_scheduled_work()\n  xen: don\u0027t use flush_scheduled_work()\n  gdrom: don\u0027t use flush_scheduled_work()\n  ...\n\nFixed up trivial conflict in drivers/media/video/bt8xx/bttv-input.c\nas per Tejun.\n"
    },
    {
      "commit": "ccd35fb9f4da856b105ea0f1e0cab3702e8ae6ba",
      "tree": "acb71aa4ae7d1f1ed17bdd79033a6bad5e27186d",
      "parents": [
        "786a5e15b613a9cee4fc9139fc3113a5ab0fde79"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:49:17 2011 +1100"
      },
      "committer": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:50:16 2011 +1100"
      },
      "message": "kernel: kmem_ptr_validate considered harmful\n\nThis is a nasty and error prone API. It is no longer used, remove it.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@kernel.dk\u003e\n"
    },
    {
      "commit": "909ea96468096b07fbb41aaf69be060d92bd9271",
      "tree": "a7e015edd96b5f674874fe78cdd889769e130a2a",
      "parents": [
        "780f36d8b3fa9572f731d4fb85067b2e45e6f993"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "cl@linux.com",
        "time": "Wed Dec 08 16:22:55 2010 +0100"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Fri Dec 17 15:07:19 2010 +0100"
      },
      "message": "core: Replace __get_cpu_var with __this_cpu_read if not used for an address.\n\n__get_cpu_var() can be replaced with this_cpu_read and will then use a\nsingle read instruction with implied address calculation to access the\ncorrect per cpu instance.\n\nHowever, the address of a per cpu variable passed to __this_cpu_read()\ncannot be determined (since it\u0027s an implied address conversion through\nsegment prefixes).  Therefore apply this only to uses of __get_cpu_var\nwhere the address of the variable is not used.\n\nCc: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nCc: Hugh Dickins \u003chughd@google.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nAcked-by: H. Peter Anvin \u003chpa@zytor.com\u003e\nSigned-off-by: Christoph Lameter \u003ccl@linux.com\u003e\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\n"
    },
    {
      "commit": "afe2c511fb2d75f1515081ff1be15bd79cfe722d",
      "tree": "28aa74e9e0c654a95bf3306101e10ac1d16919d1",
      "parents": [
        "2d64672ed38721b7a3815009d79bfb90a1f34a17"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Dec 14 16:21:17 2010 +0100"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Dec 15 10:56:11 2010 +0100"
      },
      "message": "workqueue: convert cancel_rearming_delayed_work[queue]() users to cancel_delayed_work_sync()\n\ncancel_rearming_delayed_work[queue]() has been superceded by\ncancel_delayed_work_sync() quite some time ago.  Convert all the\nin-kernel users.  The conversions are completely equivalent and\ntrivial.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nAcked-by: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nAcked-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nAcked-by: Evgeniy Polyakov \u003czbr@ioremap.net\u003e\nCc: Jeff Garzik \u003cjgarzik@pobox.com\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Mauro Carvalho Chehab \u003cmchehab@infradead.org\u003e\nCc: netdev@vger.kernel.org\nCc: Anton Vorontsov \u003ccbou@mail.ru\u003e\nCc: David Woodhouse \u003cdwmw2@infradead.org\u003e\nCc: \"J. Bruce Fields\" \u003cbfields@fieldses.org\u003e\nCc: Neil Brown \u003cneilb@suse.de\u003e\nCc: Alex Elder \u003caelder@sgi.com\u003e\nCc: xfs-masters@oss.sgi.com\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: netfilter-devel@vger.kernel.org\nCc: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nCc: linux-nfs@vger.kernel.org\n"
    },
    {
      "commit": "85beb5869a4f6abb52a7cf8e01de6fa57e9ee47d",
      "tree": "8efa5a7ef1d97d91c56367f2882c34fb82ab606b",
      "parents": [
        "98072e4d977aabe6a39abb95951cd8bf2c2202d5"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Nov 24 16:23:34 2010 -0500"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@kernel.org",
        "time": "Sun Nov 28 21:16:28 2010 +0200"
      },
      "message": "tracing/slab: Move kmalloc tracepoint out of inline code\n\nThe tracepoint for kmalloc is in the slab inlined code which causes\nevery instance of kmalloc to have the tracepoint.\n\nThis patch moves the tracepoint out of the inline code to the\nslab C file, which removes a large number of inlined trace\npoints.\n\n  objdump -dr vmlinux.slab| grep \u0027jmpq.*\u003ctrace_kmalloc\u0027 |wc -l\n213\n  objdump -dr vmlinux.slab.patched| grep \u0027jmpq.*\u003ctrace_kmalloc\u0027 |wc -l\n1\n\nThis also has a nice impact on size.\n\n   text\t   data\t    bss\t    dec\t    hex\tfilename\n7023060\t2121564\t2482432\t11627056\t b16a30\tvmlinux.slab\n6970579\t2109772\t2482432\t11562783\t b06f1f\tvmlinux.slab.patched\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@kernel.org\u003e\n"
    },
    {
      "commit": "732eacc0542d0aa48797f675888b85d6065af837",
      "tree": "53205cea4b99cc8dfed8f59438cf4214ef6546ad",
      "parents": [
        "f27c85c56b32c42bcc54a43189c1e00fdceb23ec"
      ],
      "author": {
        "name": "Hagen Paul Pfeifer",
        "email": "hagen@jauu.net",
        "time": "Tue Oct 26 14:22:23 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 26 16:52:12 2010 -0700"
      },
      "message": "replace nested max/min macros with {max,min}3 macro\n\nUse the new {max,min}3 macros to save some cycles and bytes on the stack.\nThis patch substitutes trivial nested macros with their counterpart.\n\nSigned-off-by: Hagen Paul Pfeifer \u003chagen@jauu.net\u003e\nCc: Joe Perches \u003cjoe@perches.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Hartley Sweeten \u003chsweeten@visionengravers.com\u003e\nCc: Russell King \u003clinux@arm.linux.org.uk\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nCc: Roland Dreier \u003crolandd@cisco.com\u003e\nCc: Sean Hefty \u003csean.hefty@intel.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": "bc584c5107bfd97e2aa41c798e3b213bcdd4eae7",
      "tree": "13cb518e2f4f2aac46aefbbaacb6e4fa3fbb58a2",
      "parents": [
        "a28e0852d45e65d9edf249c36e432b5e0a80f01d",
        "1ab335d8f85792e3b107ff8237d53cf64db714df"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Aug 22 10:08:52 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Aug 22 10:08:52 2010 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/slab-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/slab-2.6:\n  slab: fix object alignment\n  slub: add missing __percpu markup in mm/slub_def.h\n"
    },
    {
      "commit": "4e60c86bd9e5a7110ed28874d0b6592186550ae8",
      "tree": "9fb60e9f49b44b293a0c0c7d9f40e1a354a22b5a",
      "parents": [
        "627295e492638936e76f3d8fcb1e0a3367b88341"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "andi@firstfloor.org",
        "time": "Mon Aug 09 17:19:03 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Aug 09 20:44:58 2010 -0700"
      },
      "message": "gcc-4.6: mm: fix unused but set warnings\n\nNo real bugs, just some dead code and some fixups.\n\nSigned-off-by: Andi Kleen \u003cak@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1ab335d8f85792e3b107ff8237d53cf64db714df",
      "tree": "bfb131721b8c96464041d2919b80a4e487a47a2f",
      "parents": [
        "1b5ad24878b7e5a543b98c5d2f8c0d8c0dd3088f"
      ],
      "author": {
        "name": "Carsten Otte",
        "email": "cotte@de.ibm.com",
        "time": "Fri Aug 06 18:19:22 2010 +0200"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@kernel.org",
        "time": "Mon Aug 09 18:48:07 2010 +0300"
      },
      "message": "slab: fix object alignment\n\nThis patch fixes alignment of slab objects in case CONFIG_DEBUG_PAGEALLOC is\nactive.\nBefore this spot in kmem_cache_create, we have this situation:\n- align contains the required alignment of the object\n- cachep-\u003eobj_offset is 0 or equals align in case of CONFIG_DEBUG_SLAB\n- size equals the size of the object, or object plus trailing redzone in case\n  of CONFIG_DEBUG_SLAB\n\nThis spot tries to fill one page per object if the object is in certain size\nlimits, however setting obj_offset to PAGE_SIZE - size does break the object\nalignment since size may not be aligned with the required alignment.\nThis patch simply adds an ALIGN(size, align) to the equation and fixes the\nobject size detection accordingly.\n\nThis code in drivers/s390/cio/qdio_setup_init has lead to incorrectly aligned\nslab objects (sizeof(struct qdio_q) equals 1792):\n\tqdio_q_cache \u003d kmem_cache_create(\"qdio_q\", sizeof(struct qdio_q),\n\t\t\t\t\t 256, 0, NULL);\n\nAcked-by: Christoph Lameter \u003ccl@linux.com\u003e\nSigned-off-by: Carsten Otte \u003ccotte@de.ibm.com\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@kernel.org\u003e\n"
    },
    {
      "commit": "b57bdda58cda0aaf6def042d101dd85977a286ed",
      "tree": "7f63afddb8275d67214d7a89cfc8a65815e79d42",
      "parents": [
        "cc41f5cede3c63836d1c0958204630b07f5b5ee7",
        "415cb47998c54195710d413c3d95e37a9339c1e8"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 06 11:44:08 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 06 11:44:08 2010 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/slab-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/slab-2.6:\n  slub: Allow removal of slab caches during boot\n  Revert \"slub: Allow removal of slab caches during boot\"\n  slub numa: Fix rare allocation from unexpected node\n  slab: use deferable timers for its periodic housekeeping\n  slub: Use kmem_cache flags to detect if slab is in debugging mode.\n  slub: Allow removal of slab caches during boot\n  slub: Check kasprintf results in kmem_cache_init()\n  SLUB: Constants need UL\n  slub: Use a constant for a unspecified node.\n  SLOB: Free objects to their own list\n  slab: fix caller tracking on !CONFIG_DEBUG_SLAB \u0026\u0026 CONFIG_TRACING\n"
    },
    {
      "commit": "78b435368fcd615e695a06012cd963a556284e00",
      "tree": "3d844f8a6c4b58f60b6a97510a08d703b455c22e",
      "parents": [
        "1c5474a65bf15a4cb162dfff86d6d0b5a08a740c"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Mon Jul 19 10:59:42 2010 -0700"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Tue Jul 20 10:03:23 2010 +0300"
      },
      "message": "slab: use deferable timers for its periodic housekeeping\n\nslab has a \"once every 2 second\" timer for its housekeeping.\nAs the number of logical processors is growing, its more and more\ncommon that this 2 second timer becomes the primary wakeup source.\n\nThis patch turns this housekeeping timer into a deferable timer,\nwhich means that the timer does not interrupt idle, but just runs\nat the next event that wakes the cpu up.\n\nThe impact is that the timer likely runs a bit later, but during the\ndelay no code is running so there\u0027s not all that much reason for\na difference in housekeeping to occur because of this delay.\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\n"
    },
    {
      "commit": "039ca4e74a1cf60bd7487324a564ecf5c981f254",
      "tree": "61c6fa8409961d2e22ef9d04ac54442734ebd41a",
      "parents": [
        "30dbb20e68e6f7df974b77d2350ebad5eb6f6c9e"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Wed May 26 17:22:17 2010 +0800"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Wed Jun 09 17:31:22 2010 +0200"
      },
      "message": "tracing: Remove kmemtrace ftrace plugin\n\nWe have been resisting new ftrace plugins and removing existing\nones, and kmemtrace has been superseded by kmem trace events\nand perf-kmem, so we remove it.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nAcked-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nAcked-by: Eduard - Gabriel Munteanu \u003ceduard.munteanu@linux360.ro\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\n[ remove kmemtrace from the makefile, handle slob too ]\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\n"
    },
    {
      "commit": "7d6e6d09de82cf6cff7fecdba55198b9f47b381c",
      "tree": "57b26da3bea0af63dd0b65cdcdde33fe5670a35f",
      "parents": [
        "fd1197f1131a1f1d8bc192f9cfbbe17e305f17f3"
      ],
      "author": {
        "name": "Lee Schermerhorn",
        "email": "lee.schermerhorn@hp.com",
        "time": "Wed May 26 14:45:03 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 27 09:12:57 2010 -0700"
      },
      "message": "numa: slab: use numa_mem_id() for slab local memory node\n\nExample usage of generic \"numa_mem_id()\":\n\nThe mainline slab code, since ~ 2.6.19, does not handle memoryless nodes\nwell.  Specifically, the \"fast path\"--____cache_alloc()--will never\nsucceed as slab doesn\u0027t cache offnode object on the per cpu queues, and\nfor memoryless nodes, all memory will be \"off node\" relative to\nnuma_node_id().  This adds significant overhead to all kmem cache\nallocations, incurring a significant regression relative to earlier\nkernels [from before slab.c was reorganized].\n\nThis patch uses the generic topology function \"numa_mem_id()\" to return\nthe \"effective local memory node\" for the calling context.  This is the\nfirst node in the local node\u0027s generic fallback zonelist-- the same node\nthat \"local\" mempolicy-based allocations would use.  This lets slab cache\nthese \"local\" allocations and avoid fallback/refill on every allocation.\n\nN.B.: Slab will need to handle node and memory hotplug events that could\nchange the value returned by numa_mem_id() for any given node if recent\nchanges to address memory hotplug don\u0027t already address this.  E.g., flush\nall per cpu slab queues before rebuilding the zonelists while the\n\"machine\" is held in the stopped state.\n\nPerformance impact on \"hackbench 400 process 200\"\n\n2.6.34-rc3-mmotm-100405-1609\t\tno-patch\tthis-patch\nia64 no memoryless nodes [avg of 10]:     11.713       11.637  ~0.65 diff\nia64 cpus all on memless nodes  [10]:    228.259       26.484  ~8.6x speedup\n\nThe slowdown of the patched kernel from ~12 sec to ~28 seconds when\nconfigured with memoryless nodes is the result of all cpus allocating from\na single node\u0027s mm pagepool.  The cache lines of the single node are\ndistributed/interleaved over the memory of the real physical nodes, but\nthe zone lock, list heads, ...  of the single node with memory still each\nlive in a single cache line that is accessed from all processors.\n\nx86_64 [8x6 AMD] [avg of 40]:\t\t2.883\t   2.845\n\nSigned-off-by: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: Eric Whitney \u003ceric.whitney@hp.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nCc: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nCc: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nCc: \u003clinux-arch@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "eac4068013a067f5fb63005033c13b27fbf6dfca",
      "tree": "f47075dda89aed758a60090ac392c57610005c2f",
      "parents": [
        "80b5184cc537718122e036afe7e62d202b70d077"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Wed May 26 14:43:32 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 27 09:12:48 2010 -0700"
      },
      "message": "slab: convert cpu notifier to return encapsulate errno value\n\nBy the previous modification, the cpu notifier can return encapsulate\nerrno value.  This converts the cpu notifiers for slab.\n\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nCc: Christoph Lameter \u003ccl@linux-foundation.org\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": "6adef3ebe570bcde67fd6c16101451ddde5712b5",
      "tree": "0f60e2a4d01850ae33aee6cefc7a59845ede89a0",
      "parents": [
        "2c488db27b614816024e7994117f599337de0f34"
      ],
      "author": {
        "name": "Jack Steiner",
        "email": "steiner@sgi.com",
        "time": "Wed May 26 14:42:49 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 27 09:12:44 2010 -0700"
      },
      "message": "cpusets: new round-robin rotor for SLAB allocations\n\nWe have observed several workloads running on multi-node systems where\nmemory is assigned unevenly across the nodes in the system.  There are\nnumerous reasons for this but one is the round-robin rotor in\ncpuset_mem_spread_node().\n\nFor example, a simple test that writes a multi-page file will allocate\npages on nodes 0 2 4 6 ...  Odd nodes are skipped.  (Sometimes it\nallocates on odd nodes \u0026 skips even nodes).\n\nAn example is shown below.  The program \"lfile\" writes a file consisting\nof 10 pages.  The program then mmaps the file \u0026 uses get_mempolicy(...,\nMPOL_F_NODE) to determine the nodes where the file pages were allocated.\nThe output is shown below:\n\n\t# ./lfile\n\t allocated on nodes: 2 4 6 0 1 2 6 0 2\n\nThere is a single rotor that is used for allocating both file pages \u0026 slab\npages.  Writing the file allocates both a data page \u0026 a slab page\n(buffer_head).  This advances the RR rotor 2 nodes for each page\nallocated.\n\nA quick confirmation seems to confirm this is the cause of the uneven\nallocation:\n\n\t# echo 0 \u003e/dev/cpuset/memory_spread_slab\n\t# ./lfile\n\t allocated on nodes: 6 7 8 9 0 1 2 3 4 5\n\nThis patch introduces a second rotor that is used for slab allocations.\n\nSigned-off-by: Jack Steiner \u003csteiner@sgi.com\u003e\nAcked-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: Jack Steiner \u003csteiner@sgi.com\u003e\nCc: Robin Holt \u003cholt@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": "c0ff7453bb5c7c98e0885fb94279f2571946f280",
      "tree": "8bb2b169a5145f0496575dbd2f48bb4b1c83f819",
      "parents": [
        "708c1bbc9d0c3e57f40501794d9b0eed29d10fce"
      ],
      "author": {
        "name": "Miao Xie",
        "email": "miaox@cn.fujitsu.com",
        "time": "Mon May 24 14:32:08 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 25 08:06:57 2010 -0700"
      },
      "message": "cpuset,mm: fix no node to alloc memory when changing cpuset\u0027s mems\n\nBefore applying this patch, cpuset updates task-\u003emems_allowed and\nmempolicy by setting all new bits in the nodemask first, and clearing all\nold unallowed bits later.  But in the way, the allocator may find that\nthere is no node to alloc memory.\n\nThe reason is that cpuset rebinds the task\u0027s mempolicy, it cleans the\nnodes which the allocater can alloc pages on, for example:\n\n(mpol: mempolicy)\n\ttask1\t\t\ttask1\u0027s mpol\ttask2\n\talloc page\t\t1\n\t  alloc on node0? NO\t1\n\t\t\t\t1\t\tchange mems from 1 to 0\n\t\t\t\t1\t\trebind task1\u0027s mpol\n\t\t\t\t0-1\t\t  set new bits\n\t\t\t\t0\t  \t  clear disallowed bits\n\t  alloc on node1? NO\t0\n\t  ...\n\tcan\u0027t alloc page\n\t  goto oom\n\nThis patch fixes this problem by expanding the nodes range first(set newly\nallowed bits) and shrink it lazily(clear newly disallowed bits).  So we\nuse a variable to tell the write-side task that read-side task is reading\nnodemask, and the write-side task clears newly disallowed nodes after\nread-side task ends the current memory allocation.\n\n[akpm@linux-foundation.org: fix spello]\nSigned-off-by: Miao Xie \u003cmiaox@cn.fujitsu.com\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nCc: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nCc: Ravikiran Thirumalai \u003ckiran@scalex86.org\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "bb4f6b0cd7524ad7d56709723eaf8a7bf5a87b57",
      "tree": "df58d2c4c1f01f9bf5aa19e6a6d329b872b1f72a",
      "parents": [
        "f4b87dee923342505e1ddba8d34ce9de33e75050",
        "ec49fdbd354cb133340e25ff84d88284bb17e99a",
        "e92dd4fd1aa1cd081dac03973b33c972637d5b7a",
        "5c5e3b33b7cb959a401f823707bee006caadd76e",
        "8f9f8d9e8080a2ff46caa7decef47810d093d252",
        "6b65aaf3027c4e02b42aaefd900aa79136a30681"
      ],
      "author": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Sat May 22 10:57:52 2010 +0300"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Sat May 22 10:57:52 2010 +0300"
      },
      "message": "Merge branches \u0027slab/align\u0027, \u0027slab/cleanups\u0027, \u0027slab/fixes\u0027, \u0027slab/memhotadd\u0027 and \u0027slub/fixes\u0027 into slab-for-linus\n"
    },
    {
      "commit": "1f0ce8b3dd667dca720a47869f8110c298f0e5b8",
      "tree": "c0e260b5d8e6d3fe55be2bf6772265ad48878efd",
      "parents": [
        "e40152ee1e1c7a63f4777791863215e3faa37a86"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Wed May 19 12:01:42 2010 +0100"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Wed May 19 22:03:13 2010 +0300"
      },
      "message": "mm: Move ARCH_SLAB_MINALIGN and ARCH_KMALLOC_MINALIGN to \u003clinux/slab_def.h\u003e\n\nAcked-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\n"
    },
    {
      "commit": "5c5e3b33b7cb959a401f823707bee006caadd76e",
      "tree": "aa3c77659d80d714e833a35bcfc20b72a9b6f368",
      "parents": [
        "0d0fb0f9c5fddef4a10242fe3337f00f528a3099"
      ],
      "author": {
        "name": "Shiyong Li",
        "email": "shi-yong.li@motorola.com",
        "time": "Mon Apr 12 13:48:21 2010 +0800"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Wed Apr 14 20:52:45 2010 +0300"
      },
      "message": "slab: Fix missing DEBUG_SLAB last user\n\nEven with SLAB_RED_ZONE and SLAB_STORE_USER enabled, kernel would NOT store\nredzone and last user data around allocated memory space if \"arch cache line \u003e\nsizeof(unsigned long long)\". As a result, last user information is unexpectedly\nMISSED while dumping slab corruption log.\n\nThis fix makes sure that redzone and last user tags get stored unless the\nrequired alignment breaks redzone\u0027s.\n\nSigned-off-by: Shiyong Li \u003cshi-yong.li@motorola.com\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\n"
    },
    {
      "commit": "fc1c183353a113c71675fecd0485e5aa0fe68d72",
      "tree": "25fc50112c80402ab43bd86a3d6b6a99a0c3c128",
      "parents": [
        "4dc86ae1f925b2121d4e75058675895f83e54c71"
      ],
      "author": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Wed Apr 07 19:23:40 2010 +0300"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 09 10:09:50 2010 -0700"
      },
      "message": "slab: Generify kernel pointer validation\n\nAs suggested by Linus, introduce a kern_ptr_validate() helper that does some\nsanity checks to make sure a pointer is a valid kernel pointer.  This is a\npreparational step for fixing SLUB kmem_ptr_validate().\n\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Matt Mackall \u003cmpm@selenic.com\u003e\nCc: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8f9f8d9e8080a2ff46caa7decef47810d093d252",
      "tree": "c9adbf892104431816b4a6aaf96083c649f3b36a",
      "parents": [
        "220bf991b0366cc50a94feede3d7341fa5710ee4"
      ],
      "author": {
        "name": "David Rientjes",
        "email": "rientjes@google.com",
        "time": "Sat Mar 27 19:40:47 2010 -0700"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Wed Apr 07 19:28:31 2010 +0300"
      },
      "message": "slab: add memory hotplug support\n\nSlab lacks any memory hotplug support for nodes that are hotplugged\nwithout cpus being hotplugged.  This is possible at least on x86\nCONFIG_MEMORY_HOTPLUG_SPARSE kernels where SRAT entries are marked\nACPI_SRAT_MEM_HOT_PLUGGABLE and the regions of RAM represent a seperate\nnode.  It can also be done manually by writing the start address to\n/sys/devices/system/memory/probe for kernels that have\nCONFIG_ARCH_MEMORY_PROBE set, which is how this patch was tested, and\nthen onlining the new memory region.\n\nWhen a node is hotadded, a nodelist for that node is allocated and\ninitialized for each slab cache.  If this isn\u0027t completed due to a lack\nof memory, the hotadd is aborted: we have a reasonable expectation that\nkmalloc_node(nid) will work for all caches if nid is online and memory is\navailable.\n\nSince nodelists must be allocated and initialized prior to the new node\u0027s\nmemory actually being online, the struct kmem_list3 is allocated off-node\ndue to kmalloc_node()\u0027s fallback.\n\nWhen an entire node would be offlined, its nodelists are subsequently\ndrained.  If slab objects still exist and cannot be freed, the offline is\naborted.  It is possible that objects will be allocated between this\ndrain and page isolation, so it\u0027s still possible that the offline will\nstill fail, however.\n\nAcked-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nSigned-off-by: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\n"
    },
    {
      "commit": "e92dd4fd1aa1cd081dac03973b33c972637d5b7a",
      "tree": "e382257552cc7f5a3fde542c85c63981a8c7e5d4",
      "parents": [
        "220bf991b0366cc50a94feede3d7341fa5710ee4"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Fri Mar 26 19:27:58 2010 -0700"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Sun Mar 28 20:08:16 2010 +0300"
      },
      "message": "slab: Fix continuation lines\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\n"
    },
    {
      "commit": "e2b093f3e9262353558c6f89510ab2d286b28287",
      "tree": "298986520dcb4e60e5ab253b7f6d56277077215a",
      "parents": [
        "eaa5eec739637f32f8733d528ff0b94fd62b1214",
        "f3186a9c51eabe75b2780153ed7f07778d78b16e",
        "4c13dd3b48fcb6fbe44f241eb11a057ecd1cba75",
        "44b57f1cc72a4a30b31f11b07a927d1534f1b93d",
        "91efd773c74bb26b5409c85ad755d536448e229c"
      ],
      "author": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Thu Mar 04 12:07:50 2010 +0200"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Thu Mar 04 12:07:50 2010 +0200"
      },
      "message": "Merge branches \u0027slab/cleanups\u0027, \u0027slab/failslab\u0027, \u0027slab/fixes\u0027 and \u0027slub/percpu\u0027 into slab-for-linus\n"
    },
    {
      "commit": "4c13dd3b48fcb6fbe44f241eb11a057ecd1cba75",
      "tree": "d9875477b9eb48ad598da8cbc36b473c941828ae",
      "parents": [
        "60b341b778cc2929df16c0a504c91621b3c6a4ad"
      ],
      "author": {
        "name": "Dmitry Monakhov",
        "email": "dmonakhov@openvz.org",
        "time": "Fri Feb 26 09:36:12 2010 +0300"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Fri Feb 26 19:19:39 2010 +0200"
      },
      "message": "failslab: add ability to filter slab caches\n\nThis patch allow to inject faults only for specific slabs.\nIn order to preserve default behavior cache filter is off by\ndefault (all caches are faulty).\n\nOne may define specific set of slabs like this:\n# mark skbuff_head_cache as faulty\necho 1 \u003e /sys/kernel/slab/skbuff_head_cache/failslab\n# Turn on cache filter (off by default)\necho 1 \u003e /sys/kernel/debug/failslab/cache-filter\n# Turn on fault injection\necho 1 \u003e /sys/kernel/debug/failslab/times\necho 1 \u003e /sys/kernel/debug/failslab/probability\n\nAcked-by: David Rientjes \u003crientjes@google.com\u003e\nAcked-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nAcked-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nSigned-off-by: Dmitry Monakhov \u003cdmonakhov@openvz.org\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\n"
    },
    {
      "commit": "44b57f1cc72a4a30b31f11b07a927d1534f1b93d",
      "tree": "78e38b52bedf86446161e9df0cfbb2b7b4bc6dd8",
      "parents": [
        "7284ce6c9f6153d1777df5f310c959724d1bd446"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Wed Jan 27 22:27:40 2010 +1100"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Sat Jan 30 15:02:39 2010 +0200"
      },
      "message": "slab: fix regression in touched logic\n\nWhen factoring common code into transfer_objects in commit 3ded175 (\"slab: add\ntransfer_objects() function\"), the \u0027touched\u0027 logic got a bit broken. When\nrefilling from the shared array (taking objects from the shared array), we are\nmaking use of the shared array so it should be marked as touched.\n\nSubsequently pulling an element from the cpu array and allocating it should\nalso touch the cpu array, but that is taken care of after the alloc_done label.\n(So yes, the cpu array was getting touched \u003d 1 twice).\n\nSo revert this logic to how it worked in earlier kernels.\n\nThis also affects the behaviour in __drain_alien_cache, which would previously\n\u0027touch\u0027 the shared array and now does not. I think it is more logical not to\ntouch there, because we are pushing objects into the shared array rather than\npulling them off. So there is no good reason to postpone reaping them -- if the\nshared array is getting utilized, then it will get \u0027touched\u0027 in the alloc path\n(where this patch now restores the touch).\n\nAcked-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\n"
    },
    {
      "commit": "f3186a9c51eabe75b2780153ed7f07778d78b16e",
      "tree": "ab8c267ad09ead33c8ed757612b34ad5a1b70ce7",
      "parents": [
        "6b7b284958d47b77d06745b36bc7f36dab769d9b"
      ],
      "author": {
        "name": "Haicheng Li",
        "email": "haicheng.li@linux.intel.com",
        "time": "Wed Jan 06 15:25:23 2010 +0800"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Mon Jan 11 18:56:07 2010 +0200"
      },
      "message": "slab: initialize unused alien cache entry as NULL at alloc_alien_cache().\n\nComparing with existing code, it\u0027s a simpler way to use kzalloc_node()\nto ensure that each unused alien cache entry is NULL.\n\nCC: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nAcked-by: Andi Kleen \u003cak@linux.intel.com\u003e\nAcked-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nAcked-by: Matt Mackall \u003cmpm@selenic.com\u003e\nSigned-off-by: Haicheng Li \u003chaicheng.li@linux.intel.com\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\n"
    },
    {
      "commit": "00afa758067ac1c947149ef766adcdfe30c44d7d",
      "tree": "7967c8e1b9876553742a73b6f7d155b2745ea671",
      "parents": [
        "6b7b284958d47b77d06745b36bc7f36dab769d9b"
      ],
      "author": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Sun Dec 27 14:33:14 2009 +0200"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Mon Dec 28 20:57:27 2009 +0200"
      },
      "message": "SLAB: Fix lockdep annotation breakage\n\nCommit ce79ddc8e2376a9a93c7d42daf89bfcbb9187e62 (\"SLAB: Fix lockdep annotations\nfor CPU hotplug\") broke init_node_lock_keys() off-slab logic which causes\nlockdep false positives.\n\nFix that up by reverting the logic back to original while keeping CPU hotplug\nfixes intact.\n\nReported-and-tested-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nReported-and-tested-by: Andi Kleen \u003candi@firstfloor.org\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\n"
    },
    {
      "commit": "55db493b65c7b6bb5d7bd3dd3c8a2fe13f5dc09c",
      "tree": "7f9203f43e7c81687c9aaa0213266bc7b2e89e35",
      "parents": [
        "efc8e7f4c83dc85acbf5f54a8b1b24ae75b20aaa",
        "a4636818f8e0991f32d9528f39cf4f3d6a7d30a3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 17 17:00:20 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 17 17:00:20 2009 -0800"
      },
      "message": "Merge branch \u0027cpumask-cleanups\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus\n\n* \u0027cpumask-cleanups\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus:\n  cpumask: rename tsk_cpumask to tsk_cpus_allowed\n  cpumask: don\u0027t recommend set_cpus_allowed hack in Documentation/cpu-hotplug.txt\n  cpumask: avoid dereferencing struct cpumask\n  cpumask: convert drivers/idle/i7300_idle.c to cpumask_var_t\n  cpumask: use modern cpumask style in drivers/scsi/fcoe/fcoe.c\n  cpumask: avoid deprecated function in mm/slab.c\n  cpumask: use cpu_online in kernel/perf_event.c\n"
    },
    {
      "commit": "dcc7cd011220d7425a265c9bbf04c5731dacec1b",
      "tree": "4c2244f6e6ce94e2698572e9d2df3baea8449c2a",
      "parents": [
        "bf931a01a2c024a54204b4b02276af6e8d99a2c0",
        "b60e26a2f03d963f8c79ad7920d64abc4d38ecbc"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 17 16:00:19 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 17 16:00:19 2009 -0800"
      },
      "message": "Merge branch \u0027kmemleak\u0027 of git://linux-arm.org/linux-2.6\n\n* \u0027kmemleak\u0027 of git://linux-arm.org/linux-2.6:\n  kmemleak: fix kconfig for crc32 build error\n  kmemleak: Reduce the false positives by checking for modified objects\n  kmemleak: Show the age of an unreferenced object\n  kmemleak: Release the object lock before calling put_object()\n  kmemleak: Scan the _ftrace_events section in modules\n  kmemleak: Simplify the kmemleak_scan_area() function prototype\n  kmemleak: Do not use off-slab management with SLAB_NOLEAKTRACE\n"
    },
    {
      "commit": "58463c1fe25f7c4183f30f06a5a86cb6cd9d8231",
      "tree": "62b52d0ccbf7fc258627492240fb1ca1770639cc",
      "parents": [
        "f6325e30ebd6fc870315b017a5d4a6ab15bf790b"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Dec 17 11:43:12 2009 -0600"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Dec 17 11:43:13 2009 +1030"
      },
      "message": "cpumask: avoid deprecated function in mm/slab.c\n\nThese days we use cpumask_empty() which takes a pointer.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nAcked-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2205afa7d13ec716935dfd4b8ff71059ee7aeb0c",
      "tree": "19e63ed8040e8a82c3cdd331458d246247466a28",
      "parents": [
        "491424c0f46c282a854b88830212bdb0763e93dc",
        "2cd9046cc53dd2625e2cf5854d6cbb1ba61de914"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 14 10:13:22 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 14 10:13:22 2009 -0800"
      },
      "message": "Merge branch \u0027perf-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027perf-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  perf sched: Fix build failure on sparc\n  perf bench: Add \"all\" pseudo subsystem and \"all\" pseudo suite\n  perf tools: Introduce perf_session class\n  perf symbols: Ditch dso-\u003efind_symbol\n  perf symbols: Allow lookups by symbol name too\n  perf symbols: Add missing \"Variables\" entry to map_type__name\n  perf symbols: Add support for \u0027variable\u0027 symtabs\n  perf symbols: Introduce ELF counterparts to symbol_type__is_a\n  perf symbols: Introduce symbol_type__is_a\n  perf symbols: Rename kthreads to kmaps, using another abstraction for it\n  perf tools: Allow building for ARM\n  hw-breakpoints: Handle bad modify_user_hw_breakpoint off-case return value\n  perf tools: Allow cross compiling\n  tracing, slab: Fix no callsite ifndef CONFIG_KMEMTRACE\n  tracing, slab: Define kmem_cache_alloc_notrace ifdef CONFIG_TRACING\n\nTrivial conflict due to different fixes to modify_user_hw_breakpoint()\nin include/linux/hw_breakpoint.h\n"
    },
    {
      "commit": "d0316554d3586cbea60592a41391b5def2553d6f",
      "tree": "5e7418f0bacbc68cec5dfd1541e03eb56870aa02",
      "parents": [
        "fb0bbb92d42d5bd0ab224605444efdfed06d6934",
        "51e99be00ce2713cbb841cedc997cafa6e26c7f4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 14 09:58:24 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 14 09:58:24 2009 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu: (34 commits)\n  m68k: rename global variable vmalloc_end to m68k_vmalloc_end\n  percpu: add missing per_cpu_ptr_to_phys() definition for UP\n  percpu: Fix kdump failure if booted with percpu_alloc\u003dpage\n  percpu: make misc percpu symbols unique\n  percpu: make percpu symbols in ia64 unique\n  percpu: make percpu symbols in powerpc unique\n  percpu: make percpu symbols in x86 unique\n  percpu: make percpu symbols in xen unique\n  percpu: make percpu symbols in cpufreq unique\n  percpu: make percpu symbols in oprofile unique\n  percpu: make percpu symbols in tracer unique\n  percpu: make percpu symbols under kernel/ and mm/ unique\n  percpu: remove some sparse warnings\n  percpu: make alloc_percpu() handle array types\n  vmalloc: fix use of non-existent percpu variable in put_cpu_var()\n  this_cpu: Use this_cpu_xx in trace_functions_graph.c\n  this_cpu: Use this_cpu_xx for ftrace\n  this_cpu: Use this_cpu_xx in nmi handling\n  this_cpu: Use this_cpu operations in RCU\n  this_cpu: Use this_cpu ops for VM statistics\n  ...\n\nFix up trivial (famous last words) global per-cpu naming conflicts in\n\tarch/x86/kvm/svm.c\n\tmm/slab.c\n"
    },
    {
      "commit": "355d79c87a53aa08c33deba184b8c87763a08270",
      "tree": "93b0e0a65e8a9c4abdd9297b614db2a8bc2a68a4",
      "parents": [
        "053fe57ac249a9531c396175778160d9e9509399",
        "8e15b79cf4bd20c6afb4663d98a39cd004eee672",
        "ddbf2e8366f2a7fa3419be418cfd83a914d2527f",
        "74e2134ff892ee4ea4fbd52637060b71e540faf1",
        "78eb00cc574d3dbf8e6bed804948a89e8110a064"
      ],
      "author": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Sat Dec 12 10:12:19 2009 +0200"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Sat Dec 12 10:12:19 2009 +0200"
      },
      "message": "Merge branches \u0027slab/fixes\u0027, \u0027slab/kmemleak\u0027, \u0027slub/perf\u0027 and \u0027slub/stats\u0027 into for-linus\n"
    },
    {
      "commit": "0bb38a5cdeb39f543657ec6fb9950343d2de6918",
      "tree": "52198d56b8f0301ae553288d2ff2c4f5d5409519",
      "parents": [
        "0f24f1287a86b198c1e4bd4ce45e8565e40ff804"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Fri Dec 11 15:45:50 2009 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Dec 11 09:17:03 2009 +0100"
      },
      "message": "tracing, slab: Fix no callsite ifndef CONFIG_KMEMTRACE\n\nFor slab, if CONFIG_KMEMTRACE and CONFIG_DEBUG_SLAB are not set,\n__do_kmalloc() will not track callers:\n\n # ./perf record -f -a -R -e kmem:kmalloc\n ^C\n # ./perf trace\n ...\n          perf-2204  [000]   147.376774: kmalloc: call_site\u003dc0529d2d ...\n          perf-2204  [000]   147.400997: kmalloc: call_site\u003dc0529d2d ...\n          Xorg-1461  [001]   147.405413: kmalloc: call_site\u003d0 ...\n          Xorg-1461  [001]   147.405609: kmalloc: call_site\u003d0 ...\n       konsole-1776  [001]   147.405786: kmalloc: call_site\u003d0 ...\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nReviewed-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: linux-mm@kvack.org \u003clinux-mm@kvack.org\u003e\nCc: Eduard - Gabriel Munteanu \u003ceduard.munteanu@linux360.ro\u003e\nLKML-Reference: \u003c4B21F8AE.6020804@cn.fujitsu.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "0f24f1287a86b198c1e4bd4ce45e8565e40ff804",
      "tree": "7d13bfec87c7b67ffc701271484dc8d96080643c",
      "parents": [
        "125580380f418000b1a06d9a54700f1191b6e561"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Fri Dec 11 15:45:30 2009 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Dec 11 09:17:02 2009 +0100"
      },
      "message": "tracing, slab: Define kmem_cache_alloc_notrace ifdef CONFIG_TRACING\n\nDefine kmem_trace_alloc_{,node}_notrace() if CONFIG_TRACING is\nenabled, otherwise perf-kmem will show wrong stats ifndef\nCONFIG_KMEM_TRACE, because a kmalloc() memory allocation may\nbe traced by both trace_kmalloc() and trace_kmem_cache_alloc().\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nReviewed-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: linux-mm@kvack.org \u003clinux-mm@kvack.org\u003e\nCc: Eduard - Gabriel Munteanu \u003ceduard.munteanu@linux360.ro\u003e\nLKML-Reference: \u003c4B21F89A.7000801@cn.fujitsu.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ddbf2e8366f2a7fa3419be418cfd83a914d2527f",
      "tree": "eb5780e7a91ccae58f7754e13627804f5f893320",
      "parents": [
        "f3d8b53a3abbfd0b74fa5dfaa690870d9619fad9"
      ],
      "author": {
        "name": "J. R. Okajima",
        "email": "hooanon05@yahoo.co.jp",
        "time": "Wed Dec 02 16:55:50 2009 +0900"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Sun Dec 06 10:24:03 2009 +0200"
      },
      "message": "slab, kmemleak: pass the correct pointer to kmemleak_erase()\n\nIn ____cache_alloc(), the variable \u0027ac\u0027 may be changed after\ncache_alloc_refill() and the following kmemleak_erase() may get an incorrect\npointer. Update \u0027ac\u0027 after cache_alloc_refill() unconditionally.\n\nSee the following URL for the discussion of this patch:\n\n http://marc.info/?l\u003dlinux-kernel\u0026m\u003d125873373124187\u0026w\u003d2\n\nAcked-by: Catalin Marinas \u003ccatalin.marinas@arm.com\u003e\nSigned-off-by: J. R. Okajima \u003chooanon05@yahoo.co.jp\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\n"
    },
    {
      "commit": "f3d8b53a3abbfd0b74fa5dfaa690870d9619fad9",
      "tree": "0077e9af30a2fadf6d02da5420c9d979f80a3ee5",
      "parents": [
        "648f4e3e50c4793d9dbf9a09afa193631f76fa26"
      ],
      "author": {
        "name": "J. R. Okajima",
        "email": "hooanon05@yahoo.co.jp",
        "time": "Wed Dec 02 16:55:49 2009 +0900"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Sun Dec 06 10:23:05 2009 +0200"
      },
      "message": "slab, kmemleak: stop calling kmemleak_erase() unconditionally\n\nWhen the gotten object is NULL (probably due to ENOMEM), kmemleak_erase() is\nunnecessary here, It just sets NULL to where already is NULL.  Add a condition.\n\nAcked-by: Catalin Marinas \u003ccatalin.marinas@arm.com\u003e\nSigned-off-by: J. R. Okajima \u003chooanon05@yahoo.co.jp\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\n"
    },
    {
      "commit": "8e15b79cf4bd20c6afb4663d98a39cd004eee672",
      "tree": "07fd37869099565727a20ba85cb5b557c5e84fe8",
      "parents": [
        "ce79ddc8e2376a9a93c7d42daf89bfcbb9187e62"
      ],
      "author": {
        "name": "Tim Blechmann",
        "email": "tim@klingt.org",
        "time": "Mon Nov 30 18:59:34 2009 +0100"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Sun Dec 06 10:21:21 2009 +0200"
      },
      "message": "SLAB: Fix unlikely() annotation in __cache_alloc_node()\n\nBranch profiling on my nehalem machine showed 99% incorrect branch hints:\n\n   28459  7678524  99 __cache_alloc_node             slab.c               3551\n\nDiscussion on lkml [1] led to the solution to remove this hint.\n\n[1] http://patchwork.kernel.org/patch/63517/\n\nSigned-off-by: Tim Blechmann \u003ctim@klingt.org\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\n"
    },
    {
      "commit": "ce79ddc8e2376a9a93c7d42daf89bfcbb9187e62",
      "tree": "cddd58bd72e34bb1955bafb944bf262c20c2de04",
      "parents": [
        "648f4e3e50c4793d9dbf9a09afa193631f76fa26"
      ],
      "author": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Mon Nov 23 22:01:15 2009 +0200"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Mon Nov 30 19:16:08 2009 +0200"
      },
      "message": "SLAB: Fix lockdep annotations for CPU hotplug\n\nAs reported by Paul McKenney:\n\n  I am seeing some lockdep complaints in rcutorture runs that include\n  frequent CPU-hotplug operations.  The tests are otherwise successful.\n  My first thought was to send a patch that gave each array_cache\n  structure\u0027s -\u003elock field its own struct lock_class_key, but you already\n  have a init_lock_keys() that seems to be intended to deal with this.\n\n  ------------------------------------------------------------------------\n\n  \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n  [ INFO: possible recursive locking detected ]\n  2.6.32-rc4-autokern1 #1\n  ---------------------------------------------\n  syslogd/2908 is trying to acquire lock:\n   (\u0026nc-\u003elock){..-...}, at: [\u003cc0000000001407f4\u003e] .kmem_cache_free+0x118/0x2d4\n\n  but task is already holding lock:\n   (\u0026nc-\u003elock){..-...}, at: [\u003cc0000000001411bc\u003e] .kfree+0x1f0/0x324\n\n  other info that might help us debug this:\n  3 locks held by syslogd/2908:\n   #0:  (\u0026u-\u003ereadlock){+.+.+.}, at: [\u003cc0000000004556f8\u003e] .unix_dgram_recvmsg+0x70/0x338\n   #1:  (\u0026nc-\u003elock){..-...}, at: [\u003cc0000000001411bc\u003e] .kfree+0x1f0/0x324\n   #2:  (\u0026parent-\u003elist_lock){-.-...}, at: [\u003cc000000000140f64\u003e] .__drain_alien_cache+0x50/0xb8\n\n  stack backtrace:\n  Call Trace:\n  [c0000000e8ccafc0] [c0000000000101e4] .show_stack+0x70/0x184 (unreliable)\n  [c0000000e8ccb070] [c0000000000afebc] .validate_chain+0x6ec/0xf58\n  [c0000000e8ccb180] [c0000000000b0ff0] .__lock_acquire+0x8c8/0x974\n  [c0000000e8ccb280] [c0000000000b2290] .lock_acquire+0x140/0x18c\n  [c0000000e8ccb350] [c000000000468df0] ._spin_lock+0x48/0x70\n  [c0000000e8ccb3e0] [c0000000001407f4] .kmem_cache_free+0x118/0x2d4\n  [c0000000e8ccb4a0] [c000000000140b90] .free_block+0x130/0x1a8\n  [c0000000e8ccb540] [c000000000140f94] .__drain_alien_cache+0x80/0xb8\n  [c0000000e8ccb5e0] [c0000000001411e0] .kfree+0x214/0x324\n  [c0000000e8ccb6a0] [c0000000003ca860] .skb_release_data+0xe8/0x104\n  [c0000000e8ccb730] [c0000000003ca2ec] .__kfree_skb+0x20/0xd4\n  [c0000000e8ccb7b0] [c0000000003cf2c8] .skb_free_datagram+0x1c/0x5c\n  [c0000000e8ccb830] [c00000000045597c] .unix_dgram_recvmsg+0x2f4/0x338\n  [c0000000e8ccb920] [c0000000003c0f14] .sock_recvmsg+0xf4/0x13c\n  [c0000000e8ccbb30] [c0000000003c28ec] .SyS_recvfrom+0xb4/0x130\n  [c0000000e8ccbcb0] [c0000000003bfb78] .sys_recv+0x18/0x2c\n  [c0000000e8ccbd20] [c0000000003ed388] .compat_sys_recv+0x14/0x28\n  [c0000000e8ccbd90] [c0000000003ee1bc] .compat_sys_socketcall+0x178/0x220\n  [c0000000e8ccbe30] [c0000000000085d4] syscall_exit+0x0/0x40\n\nThis patch fixes the issue by setting up lockdep annotations during CPU\nhotplug.\n\nReported-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nTested-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\n"
    },
    {
      "commit": "1871e52c76dd95895caeb772f845a1718dcbcd75",
      "tree": "49e8148326f65353e673204f427bd4545eb26c16",
      "parents": [
        "0f5e4816dbf38ce9488e611ca2296925c1e90d5e"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Oct 29 22:34:13 2009 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Oct 29 22:34:13 2009 +0900"
      },
      "message": "percpu: make percpu symbols under kernel/ and mm/ unique\n\nThis patch updates percpu related symbols under kernel/ and mm/ such\nthat percpu symbols are unique and don\u0027t clash with local symbols.\nThis serves two purposes of decreasing the possibility of global\npercpu symbol collision and allowing dropping per_cpu__ prefix from\npercpu symbols.\n\n* kernel/lockdep.c: s/lock_stats/cpu_lock_stats/\n\n* kernel/sched.c: s/init_rq_rt/init_rt_rq_var/\t(any better idea?)\n  \t\t  s/sched_group_cpus/sched_groups/\n\n* kernel/softirq.c: s/ksoftirqd/run_ksoftirqd/a\n\n* kernel/softlockup.c: s/(*)_timestamp/softlockup_\\1_ts/\n  \t\t       s/watchdog_task/softlockup_watchdog/\n\t\t       s/timestamp/ts/ for local variables\n\n* kernel/time/timer_stats: s/lookup_lock/tstats_lookup_lock/\n\n* mm/slab.c: s/reap_work/slab_reap_work/\n  \t     s/reap_node/slab_reap_node/\n\n* mm/vmstat.c: local variable changed to avoid collision with vmstat_work\n\nPartly based on Rusty Russell\u0027s \"alloc_percpu: rename percpu vars\nwhich cause name clashes\" patch.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nAcked-by: (slab/vmstat) Christoph Lameter \u003ccl@linux-foundation.org\u003e\nReviewed-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Nick Piggin \u003cnpiggin@suse.de\u003e\n"
    },
    {
      "commit": "c017b4be3e84176cab10eca5e6c4faeb8cfc6f3e",
      "tree": "b858895759880262dff8754ef58b3e716bebae2c",
      "parents": [
        "e7cb55b946a2182c347047dc903c6ed0daef100c"
      ],
      "author": {
        "name": "Catalin Marinas",
        "email": "catalin.marinas@arm.com",
        "time": "Wed Oct 28 13:33:09 2009 +0000"
      },
      "committer": {
        "name": "Catalin Marinas",
        "email": "catalin.marinas@arm.com",
        "time": "Wed Oct 28 15:11:00 2009 +0000"
      },
      "message": "kmemleak: Simplify the kmemleak_scan_area() function prototype\n\nThis function was taking non-necessary arguments which can be determined\nby kmemleak. The patch also modifies the calling sites.\n\nSigned-off-by: Catalin Marinas \u003ccatalin.marinas@arm.com\u003e\nCc: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "e7cb55b946a2182c347047dc903c6ed0daef100c",
      "tree": "28cc01bd513418a4917358b748481d3a31f69ab1",
      "parents": [
        "012abeea669ea49636cf952d13298bb68654146a"
      ],
      "author": {
        "name": "Catalin Marinas",
        "email": "catalin.marinas@arm.com",
        "time": "Wed Oct 28 13:33:08 2009 +0000"
      },
      "committer": {
        "name": "Catalin Marinas",
        "email": "catalin.marinas@arm.com",
        "time": "Wed Oct 28 13:33:08 2009 +0000"
      },
      "message": "kmemleak: Do not use off-slab management with SLAB_NOLEAKTRACE\n\nWith the slab allocator, if off-slab management is enabled for the\nkmem_caches used by kmemleak, it leads to recursive calls into\nkmemleak_alloc(). Off-slab management can be triggered by other config\noptions increasing the slab size, e.g. DEBUG_PAGEALLOC.\n\nReported-by: Tetsuo Handa \u003cpenguin-kernel@I-love.SAKURA.ne.jp\u003e\nReviewed-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nSigned-off-by: Catalin Marinas \u003ccatalin.marinas@arm.com\u003e\n"
    },
    {
      "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"
    }
  ],
  "next": "ca2b84cb3c4a0d4d2143b46ec072cdff5d1b3b87"
}
