)]}'
{
  "log": [
    {
      "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": "37d57443d5d810c6ef49e93586b046e7d4774818",
      "tree": "6ec5560ce1a496639ec957735288ba703133a83a",
      "parents": [
        "e8a7e48bb248a1196484d3f8afa53bded2b24e71"
      ],
      "author": {
        "name": "Tero Roponen",
        "email": "tero.roponen@gmail.com",
        "time": "Wed Dec 01 20:04:20 2010 +0200"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@kernel.org",
        "time": "Sat Dec 04 09:53:49 2010 +0200"
      },
      "message": "slub: Fix a crash during slabinfo -v\n\nCommit f7cb1933621bce66a77f690776a16fe3ebbc4d58 (\"SLUB: Pass active\nand inactive redzone flags instead of boolean to debug functions\")\nmissed two instances of check_object(). This caused a lot of warnings\nduring \u0027slabinfo -v\u0027 finally leading to a crash:\n\n  BUG ext4_xattr: Freepointer corrupt\n  ...\n  BUG buffer_head: Freepointer corrupt\n  ...\n  BUG ext4_alloc_context: Freepointer corrupt\n  ...\n  ...\n  BUG: unable to handle kernel NULL pointer dereference at 0000000000000008\n  IP: [\u003cffffffff810a291f\u003e] file_sb_list_del+0x1c/0x35\n  PGD 79d78067 PUD 79e67067 PMD 0\n  Oops: 0002 [#1] SMP\n  last sysfs file: /sys/kernel/slab/:t-0000192/validate\n\nThis patch fixes the problem by converting the two missed instances.\n\nAcked-by: Christoph Lameter \u003ccl@linux.com\u003e\nSigned-off-by: Tero Roponen \u003ctero.roponen@gmail.com\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@kernel.org\u003e\n"
    },
    {
      "commit": "68cee4f118c21a1c67e5764a91d766661db5b360",
      "tree": "17c487ce969cc66a4be5048ed12cb5ec070c2fc2",
      "parents": [
        "c8ddb2713c624f432fa5fe3c7ecffcdda46ea0d4"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@parallels.com",
        "time": "Thu Oct 28 13:50:37 2010 +0400"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@kernel.org",
        "time": "Sun Nov 14 16:53:11 2010 +0200"
      },
      "message": "slub: Fix slub_lock down/up imbalance\n\nThere are two places, that do not release the slub_lock.\n\nRespective bugs were introduced by sysfs changes ab4d5ed5 (slub: Enable\nsysfs support for !CONFIG_SLUB_DEBUG) and 2bce6485 ( slub: Allow removal\nof slab caches during boot).\n\nAcked-by: Christoph Lameter \u003ccl@linux.com\u003e\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@kernel.org\u003e\n"
    },
    {
      "commit": "92a5bbc11ff2442a54b2f1d313088c245828ef4e",
      "tree": "282d34001447c8bdac1efe35bb04286788b6cdc9",
      "parents": [
        "a5a84755c5900416dce0166ac825866aad8048ef"
      ],
      "author": {
        "name": "Pekka Enberg",
        "email": "penberg@kernel.org",
        "time": "Wed Oct 06 16:58:16 2010 +0300"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@kernel.org",
        "time": "Wed Oct 06 21:16:42 2010 +0300"
      },
      "message": "SLUB: Fix memory hotplug with !NUMA\n\nThis patch fixes the following build breakage when memory hotplug is enabled on\nUMA configurations:\n\n  /home/test/linux-2.6/mm/slub.c: In function \u0027kmem_cache_init\u0027:\n  /home/test/linux-2.6/mm/slub.c:3031:2: error: \u0027slab_memory_callback\u0027\n  undeclared (first use in this function)\n  /home/test/linux-2.6/mm/slub.c:3031:2: note: each undeclared\n  identifier is reported only once for each function it appears in\n  make[2]: *** [mm/slub.o] Error 1\n  make[1]: *** [mm] Error 2\n  make: *** [sub-make] Error 2\n\nReported-by: Zimny Lech \u003cnapohybelskurwysynom2010@gmail.com\u003e\nAcked-by: Christoph Lameter \u003ccl@linux.com\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@kernel.org\u003e\n"
    },
    {
      "commit": "a5a84755c5900416dce0166ac825866aad8048ef",
      "tree": "d2d76f4aa663695790aa05dbac3800d7f2884c5f",
      "parents": [
        "ab4d5ed5eeda4f57c50d14131ce1b1da75d0c938"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "cl@linux.com",
        "time": "Tue Oct 05 13:57:27 2010 -0500"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@kernel.org",
        "time": "Wed Oct 06 16:54:37 2010 +0300"
      },
      "message": "slub: Move functions to reduce #ifdefs\n\nThere is a lot of #ifdef/#endifs that can be avoided if functions would be in different\nplaces. Move them around and reduce #ifdef.\n\nSigned-off-by: Christoph Lameter \u003ccl@linux.com\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@kernel.org\u003e\n"
    },
    {
      "commit": "ab4d5ed5eeda4f57c50d14131ce1b1da75d0c938",
      "tree": "e0c574c802138d9b6514dae4f2c46fcc6365b951",
      "parents": [
        "15b7c5142049e7efc3071280e1370dc3b8add6f5"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "cl@linux.com",
        "time": "Tue Oct 05 13:57:26 2010 -0500"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@kernel.org",
        "time": "Wed Oct 06 16:54:36 2010 +0300"
      },
      "message": "slub: Enable sysfs support for !CONFIG_SLUB_DEBUG\n\nCurrently disabling CONFIG_SLUB_DEBUG also disabled SYSFS support meaning\nthat the slabs cannot be tuned without DEBUG.\n\nMake SYSFS support independent of CONFIG_SLUB_DEBUG\n\nSigned-off-by: Christoph Lameter \u003ccl@linux.com\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@kernel.org\u003e\n"
    },
    {
      "commit": "15b7c5142049e7efc3071280e1370dc3b8add6f5",
      "tree": "c294e0aa90b52088e63c8c67d0963a973d304690",
      "parents": [
        "5d1f57e4d3d547b113ebd62f569be13bf485e53b"
      ],
      "author": {
        "name": "Pekka Enberg",
        "email": "penberg@kernel.org",
        "time": "Sat Oct 02 11:32:32 2010 +0300"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@kernel.org",
        "time": "Wed Oct 06 16:52:26 2010 +0300"
      },
      "message": "SLUB: Optimize slab_free() debug check\n\nThis patch optimizes slab_free() debug check to use \"c-\u003enode !\u003d NUMA_NO_NODE\"\ninstead of \"c-\u003enode \u003e\u003d 0\" because the former generates smaller code on x86-64:\n\n  Before:\n\n    4736:       48 39 70 08             cmp    %rsi,0x8(%rax)\n    473a:       75 26                   jne    4762 \u003ckfree+0xa2\u003e\n    473c:       44 8b 48 10             mov    0x10(%rax),%r9d\n    4740:       45 85 c9                test   %r9d,%r9d\n    4743:       78 1d                   js     4762 \u003ckfree+0xa2\u003e\n\n  After:\n\n    4736:       48 39 70 08             cmp    %rsi,0x8(%rax)\n    473a:       75 23                   jne    475f \u003ckfree+0x9f\u003e\n    473c:       83 78 10 ff             cmpl   $0xffffffffffffffff,0x10(%rax)\n    4740:       74 1d                   je     475f \u003ckfree+0x9f\u003e\n\nThis patch also cleans up __slab_alloc() to use NUMA_NO_NODE instead of \"-1\"\nfor enabling debugging for a per-CPU cache.\n\nAcked-by: Christoph Lameter \u003ccl@linux.com\u003e\nAcked-by: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@kernel.org\u003e\n"
    },
    {
      "commit": "5d1f57e4d3d547b113ebd62f569be13bf485e53b",
      "tree": "b97e925dc448129a8b30abb35597bde154042eef",
      "parents": [
        "3478973dedee5e957c45dc93c11d12dc3f733ee0"
      ],
      "author": {
        "name": "Namhyung Kim",
        "email": "namhyung@gmail.com",
        "time": "Wed Sep 29 21:02:15 2010 +0900"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@kernel.org",
        "time": "Sat Oct 02 10:47:53 2010 +0300"
      },
      "message": "slub: Move NUMA-related functions under CONFIG_NUMA\n\nMake kmalloc_cache_alloc_node_notrace(), kmalloc_large_node()\nand __kmalloc_node_track_caller() to be compiled only when\nCONFIG_NUMA is selected.\n\nAcked-by: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Namhyung Kim \u003cnamhyung@gmail.com\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@kernel.org\u003e\n"
    },
    {
      "commit": "3478973dedee5e957c45dc93c11d12dc3f733ee0",
      "tree": "a90878879ef689df232b9ad9288b8b5052b78651",
      "parents": [
        "a5dd5c117cbf620378d693963ffc42239297fac4"
      ],
      "author": {
        "name": "Namhyung Kim",
        "email": "namhyung@gmail.com",
        "time": "Wed Sep 29 21:02:14 2010 +0900"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@kernel.org",
        "time": "Sat Oct 02 10:47:53 2010 +0300"
      },
      "message": "slub: Add lock release annotation\n\nThe unfreeze_slab() releases page\u0027s PG_locked bit but was missing\nproper annotation. The deactivate_slab() needs to be marked also\nsince it calls unfreeze_slab() without grabbing the lock.\n\nAcked-by: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Namhyung Kim \u003cnamhyung@gmail.com\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@kernel.org\u003e\n"
    },
    {
      "commit": "a5dd5c117cbf620378d693963ffc42239297fac4",
      "tree": "12dc4b1bc7da97acebb04afabd07b20cc6642a3b",
      "parents": [
        "62e346a83026a28526fc9799337bcc6154819f25"
      ],
      "author": {
        "name": "Namhyung Kim",
        "email": "namhyung@gmail.com",
        "time": "Wed Sep 29 21:02:13 2010 +0900"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@kernel.org",
        "time": "Sat Oct 02 10:47:52 2010 +0300"
      },
      "message": "slub: Fix signedness warnings\n\nThe bit-ops routines require its arg to be a pointer to unsigned long.\nThis leads sparse to complain about different signedness as follows:\n\n mm/slub.c:2425:49: warning: incorrect type in argument 2 (different signedness)\n mm/slub.c:2425:49:    expected unsigned long volatile *addr\n mm/slub.c:2425:49:    got long *map\n\nAcked-by: Christoph Lameter \u003ccl@linux.com\u003e\nAcked-by: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Namhyung Kim \u003cnamhyung@gmail.com\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@kernel.org\u003e\n"
    },
    {
      "commit": "62e346a83026a28526fc9799337bcc6154819f25",
      "tree": "04514b189c3005bca093149769a117117ec0dff0",
      "parents": [
        "f7cb1933621bce66a77f690776a16fe3ebbc4d58"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "cl@linux.com",
        "time": "Tue Sep 28 08:10:28 2010 -0500"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@kernel.org",
        "time": "Sat Oct 02 10:44:10 2010 +0300"
      },
      "message": "slub: extract common code to remove objects from partial list without locking\n\nThere are a couple of places where repeat the same statements when removing\na page from the partial list. Consolidate that into __remove_partial().\n\nAcked-by: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Christoph Lameter \u003ccl@linux.com\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@kernel.org\u003e\n"
    },
    {
      "commit": "f7cb1933621bce66a77f690776a16fe3ebbc4d58",
      "tree": "7d78e7bc0f985abdf8e9fe281b0c0b4b0bcc7ced",
      "parents": [
        "7340cc84141d5236c5dd003359ee921513cd9b84"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "cl@linux.com",
        "time": "Wed Sep 29 07:15:01 2010 -0500"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@kernel.org",
        "time": "Sat Oct 02 10:44:10 2010 +0300"
      },
      "message": "SLUB: Pass active and inactive redzone flags instead of boolean to debug functions\n\nPass the actual values used for inactive and active redzoning to the\nfunctions that check the objects. Avoids a lot of the ? : things to\nlookup the values in the functions.\n\nAcked-by: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Christoph Lameter \u003ccl@linux.com\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@kernel.org\u003e\n"
    },
    {
      "commit": "7340cc84141d5236c5dd003359ee921513cd9b84",
      "tree": "fec0ddb018a948773df32cf109c15f4bd596c97d",
      "parents": [
        "ed59ecbf8904a40cf0a1ee5d6f100d76d2f44e5f"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "cl@linux.com",
        "time": "Tue Sep 28 08:10:26 2010 -0500"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@kernel.org",
        "time": "Sat Oct 02 10:44:10 2010 +0300"
      },
      "message": "slub: reduce differences between SMP and NUMA\n\nReduce the #ifdefs and simplify bootstrap by making SMP and NUMA as much alike\nas possible. This means that there will be an additional indirection to get to\nthe kmem_cache_node field under SMP.\n\nAcked-by: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Christoph Lameter \u003ccl@linux.com\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@kernel.org\u003e\n"
    },
    {
      "commit": "ed59ecbf8904a40cf0a1ee5d6f100d76d2f44e5f",
      "tree": "6f7eb1efc1cec284ce3762702ef2545bbeaafa10",
      "parents": [
        "ed6c1115c835d822ec5d6356ae3043de54088f43"
      ],
      "author": {
        "name": "Pekka Enberg",
        "email": "penberg@kernel.org",
        "time": "Sat Sep 18 20:45:06 2010 +0300"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@kernel.org",
        "time": "Sat Oct 02 10:28:55 2010 +0300"
      },
      "message": "Revert \"Slub: UP bandaid\"\n\nThis reverts commit 5249d039500f05a5ab379286b1d23ab9b04d3f2c. It\u0027s not needed\nafter commit bbddff0545878a8649c091a9dd7c43ce91516734 (\"percpu: use percpu\nallocator on UP too\").\n"
    },
    {
      "commit": "84c1cf62465e2fb0a692620dcfeb52323ab03d48",
      "tree": "704f4c7f7f0403aadd62be42d2e9d87abf2926fc",
      "parents": [
        "db210e70e5f191710a3b1d09f653b44885d397ea"
      ],
      "author": {
        "name": "Pekka Enberg",
        "email": "penberg@kernel.org",
        "time": "Tue Sep 14 23:21:12 2010 +0300"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@kernel.org",
        "time": "Sat Oct 02 10:24:29 2010 +0300"
      },
      "message": "SLUB: Fix merged slab cache names\n\nAs explained by Linus \"I\u0027m Proud to be an American\" Torvalds:\n\n  Looking at the merging code, I actually think it\u0027s totally\n  buggy. If you have something like this:\n\n   - load module A: create slab cache A\n\n   - load module B: create slab cache B that can merge with A\n\n   - unload module A\n\n   - \"cat /proc/slabinfo\": BOOM. Oops.\n\n  exactly because the name is not handled correctly, and you\u0027ll have\n  module B holding open a slab cache that has a name pointer that points\n  to module A that no longer exists.\n\nThis patch fixes the problem by using kstrdup() to allocate dynamic memory for\n-\u003ename of \"struct kmem_cache\" as suggested by Christoph Lameter.\n\nAcked-by: Christoph Lameter \u003ccl@linux.com\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nReported-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@kernel.org\u003e\n\nConflicts:\n\n\tmm/slub.c\n"
    },
    {
      "commit": "db210e70e5f191710a3b1d09f653b44885d397ea",
      "tree": "3d1472be3dfd80107090a73bf70710cdb5df21f1",
      "parents": [
        "a016471a16b5c4d4ec8f5221575e603a3d11e5e9"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "cl@linux.com",
        "time": "Thu Aug 26 09:41:19 2010 -0500"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@kernel.org",
        "time": "Sat Oct 02 10:24:29 2010 +0300"
      },
      "message": "Slub: UP bandaid\n\nSince the percpu allocator does not provide early allocation in UP mode (only\nin SMP configurations) use __get_free_page() to improvise a compound page\nallocation that can be later freed via kfree().\n\nCompound pages will be released when the cpu caches are resized.\n\nAcked-by: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Christoph Lameter \u003ccl@linux.com\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@kernel.org\u003e\n"
    },
    {
      "commit": "a016471a16b5c4d4ec8f5221575e603a3d11e5e9",
      "tree": "ffc9e385f0db13aa5dad34a461fac38a0638474e",
      "parents": [
        "8de66a0c022c7c575c7481224803292cdabed4c4"
      ],
      "author": {
        "name": "David Rientjes",
        "email": "rientjes@google.com",
        "time": "Wed Aug 25 16:32:27 2010 -0700"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@kernel.org",
        "time": "Sat Oct 02 10:24:29 2010 +0300"
      },
      "message": "slub: fix SLUB_RESILIENCY_TEST for dynamic kmalloc caches\n\nNow that the kmalloc_caches array is dynamically allocated at boot,\nSLUB_RESILIENCY_TEST needs to be fixed to pass the correct type.\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": "8de66a0c022c7c575c7481224803292cdabed4c4",
      "tree": "89907eda191909c84f8a9495daaf26a9b86c2bd2",
      "parents": [
        "7d550c56a24b20e91ec469054230bd2e2485996a"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "cl@linux.com",
        "time": "Wed Aug 25 14:51:14 2010 -0500"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@kernel.org",
        "time": "Sat Oct 02 10:24:28 2010 +0300"
      },
      "message": "slub: Fix up missing kmalloc_cache -\u003e kmem_cache_node case for memoryhotplug\n\nMemory hotplug allocates and frees per node structures. Use the correct name.\n\nAcked-by: David Rientjes \u003crientjes@google.com\u003e\nAcked-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Christoph Lameter \u003ccl@linux.com\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@kernel.org\u003e\n"
    },
    {
      "commit": "7d550c56a24b20e91ec469054230bd2e2485996a",
      "tree": "04809fc2db67542b2a736ca6b130981514911bf2",
      "parents": [
        "8df275af8db8220d7e3f1bf97b6ac7aad05f96f0"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "cl@linux.com",
        "time": "Wed Aug 25 14:07:16 2010 -0500"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@kernel.org",
        "time": "Sat Oct 02 10:24:28 2010 +0300"
      },
      "message": "slub: Add dummy functions for the !SLUB_DEBUG case\n\nOn Wed, 25 Aug 2010, Randy Dunlap wrote:\n\u003e mm/slub.c:1732: error: implicit declaration of function \u0027slab_pre_alloc_hook\u0027\n\u003e mm/slub.c:1751: error: implicit declaration of function \u0027slab_post_alloc_hook\u0027\n\u003e mm/slub.c:1881: error: implicit declaration of function \u0027slab_free_hook\u0027\n\u003e mm/slub.c:1886: error: implicit declaration of function \u0027slab_free_hook_irq\u0027\n\nEmpty functions are missing if the runtime debuggability option is compiled\nout.\n\nProvide the fall back functions to empty hooks if SLUB_DEBUG is not set.\n\nAcked-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nAcked-by: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Christoph Lameter \u003ccl@linux.com\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@kernel.org\u003e\n"
    },
    {
      "commit": "c1d508365ea07f9f8849c7da5b02186601570f8b",
      "tree": "a087b2cda4546c51ef7ab4ba3c7764129a63e555",
      "parents": [
        "c016b0bdeee74a7fbe5179937c0d667eabcf379e"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "cl@linux.com",
        "time": "Fri Aug 20 12:37:17 2010 -0500"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@kernel.org",
        "time": "Sat Oct 02 10:24:27 2010 +0300"
      },
      "message": "slub: Move gfpflag masking out of the hotpath\n\nMove the gfpflags masking into the hooks for checkers and into the slowpaths.\ngfpflag masking requires access to a global variable and thus adds an\nadditional cacheline reference to the hotpaths.\n\nIf no hooks are active then the gfpflag masking will result in\ncode that the compiler can toss out.\n\nAcked-by: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@kernel.org\u003e\n"
    },
    {
      "commit": "c016b0bdeee74a7fbe5179937c0d667eabcf379e",
      "tree": "b1544516251bbf25de94ad67f353b7986647bbe5",
      "parents": [
        "51df1142816e469173889fb6d6dc810be9b9e022"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "cl@linux.com",
        "time": "Fri Aug 20 12:37:16 2010 -0500"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@kernel.org",
        "time": "Sat Oct 02 10:24:27 2010 +0300"
      },
      "message": "slub: Extract hooks for memory checkers from hotpaths\n\nExtract the code that memory checkers and other verification tools use from\nthe hotpaths. Makes it easier to add new ones and reduces the disturbances\nof the hotpaths.\n\nSigned-off-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@kernel.org\u003e\n"
    },
    {
      "commit": "51df1142816e469173889fb6d6dc810be9b9e022",
      "tree": "e2827e87486675b514c68f06d67ac5980cd6ceb1",
      "parents": [
        "6c182dc0de26ef97efb6a97a8deab074833764e7"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "cl@linux.com",
        "time": "Fri Aug 20 12:37:15 2010 -0500"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@kernel.org",
        "time": "Sat Oct 02 10:24:27 2010 +0300"
      },
      "message": "slub: Dynamically size kmalloc cache allocations\n\nkmalloc caches are statically defined and may take up a lot of space just\nbecause the sizes of the node array has to be dimensioned for the largest\nnode count supported.\n\nThis patch makes the size of the kmem_cache structure dynamic throughout by\ncreating a kmem_cache slab cache for the kmem_cache objects. The bootstrap\noccurs by allocating the initial one or two kmem_cache objects from the\npage allocator.\n\nC2-\u003eC3\n\t- Fix various issues indicated by David\n\t- Make create kmalloc_cache return a kmem_cache * pointer.\n\nAcked-by: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@kernel.org\u003e\n"
    },
    {
      "commit": "6c182dc0de26ef97efb6a97a8deab074833764e7",
      "tree": "ef6d4278579ce30117e6095804e861ac35095a43",
      "parents": [
        "55136592fedf5cc58c03d9b5eb66103a9013d4e5"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "cl@linux.com",
        "time": "Fri Aug 20 12:37:14 2010 -0500"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@kernel.org",
        "time": "Sat Oct 02 10:24:26 2010 +0300"
      },
      "message": "slub: Remove static kmem_cache_cpu array for boot\n\nThe percpu allocator can now handle allocations during early boot.\nSo drop the static kmem_cache_cpu array.\n\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nAcked-by: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@kernel.org\u003e\n"
    },
    {
      "commit": "55136592fedf5cc58c03d9b5eb66103a9013d4e5",
      "tree": "891d60718ad8bf9d7da35709a1f90fa86566506e",
      "parents": [
        "1537066c69bee9ebc4b998626c532ce1724d4e67"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "cl@linux.com",
        "time": "Fri Aug 20 12:37:13 2010 -0500"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@kernel.org",
        "time": "Sat Oct 02 10:24:26 2010 +0300"
      },
      "message": "slub: Remove dynamic dma slab allocation\n\nRemove the dynamic dma slab allocation since this causes too many issues with\nnested locks etc etc. The change avoids passing gfpflags into many functions.\n\nV3-\u003eV4:\n- Create dma caches in kmem_cache_init() instead of kmem_cache_init_late().\n\nAcked-by: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@kernel.org\u003e\n"
    },
    {
      "commit": "1537066c69bee9ebc4b998626c532ce1724d4e67",
      "tree": "914bc354a286b6e14cf8f69f831f4656d9a49636",
      "parents": [
        "899611ee7d373e5eeda08e9a8632684e1ebbbf00"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "cl@linux.com",
        "time": "Fri Aug 20 12:37:12 2010 -0500"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@kernel.org",
        "time": "Sat Oct 02 10:24:26 2010 +0300"
      },
      "message": "slub: Force no inlining of debug functions\n\nCompiler folds the debgging functions into the critical paths.\nAvoid that by adding noinline to the functions that check for\nproblems.\n\nAcked-by: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Christoph Lameter \u003ccl@linux.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": "415cb47998c54195710d413c3d95e37a9339c1e8",
      "tree": "9435bce1a0c2b2f4fda1a7c721a927b089e005fd",
      "parents": [
        "9fe6206f400646a2322096b56c59891d530e8d51",
        "78b435368fcd615e695a06012cd963a556284e00",
        "d602dabaeba79df90cc67c32d5fe4ee0d5e2b73a",
        "2bce64858442149784f6c8803c9095a8556320a2",
        "bc6488e91078af0b42ee0d8335e0587f64550d7d"
      ],
      "author": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Wed Aug 04 22:04:43 2010 +0300"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Wed Aug 04 22:04:43 2010 +0300"
      },
      "message": "Merge branches \u0027slab/fixes\u0027, \u0027slob/fixes\u0027, \u0027slub/cleanups\u0027 and \u0027slub/fixes\u0027 into for-linus\n"
    },
    {
      "commit": "2bce64858442149784f6c8803c9095a8556320a2",
      "tree": "f9a097d8da73f33703622d8ef4237997248b6f39",
      "parents": [
        "e438444de82f354563d46ee5d991b5916dd19b01"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "cl@linux-foundation.org",
        "time": "Mon Jul 19 11:39:11 2010 -0500"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Tue Aug 03 07:28:32 2010 +0300"
      },
      "message": "slub: Allow removal of slab caches during boot\n\nSerialize kmem_cache_create and kmem_cache_destroy using the slub_lock. Only\npossible after the use of the slub_lock during dynamic dma creation has been\nremoved.\n\nThen make sure that the setup of the slab sysfs entries does not race\nwith kmem_cache_create and kmem_cache destroy.\n\nIf a slab cache is removed before we have setup sysfs then simply skip over\nthe sysfs handling.\n\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Roland Dreier \u003crdreier@cisco.com\u003e\nSigned-off-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\n"
    },
    {
      "commit": "e438444de82f354563d46ee5d991b5916dd19b01",
      "tree": "090174e6d7ccda16859ac468053d879db768fbe1",
      "parents": [
        "af537b0a6c650ab6ff7104d8163e96866b31c835"
      ],
      "author": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Tue Aug 03 07:28:21 2010 +0300"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Tue Aug 03 07:28:21 2010 +0300"
      },
      "message": "Revert \"slub: Allow removal of slab caches during boot\"\n\nThis reverts commit f5b801ac38a9612b380ee9a75ab1861f0594e79f.\n"
    },
    {
      "commit": "bc6488e91078af0b42ee0d8335e0587f64550d7d",
      "tree": "9adc2fc7fe0824054679ad273af8fe83be1f8269",
      "parents": [
        "7adde04a2f5a798f04a556dfb3b69bff388e5dc4"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "cl@linux-foundation.org",
        "time": "Mon Jul 26 10:41:14 2010 -0500"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Thu Jul 29 12:59:00 2010 +0300"
      },
      "message": "slub numa: Fix rare allocation from unexpected node\n\nThe network developers have seen sporadic allocations resulting in objects\ncoming from unexpected NUMA nodes despite asking for objects from a\nspecific node.\n\nThis is due to get_partial() calling get_any_partial() if partial\nslabs are exhausted for a node even if a node was specified and therefore\none would expect allocations only from the specified node.\n\nget_any_partial() sporadically may return a slab from a foreign\nnode to gradually reduce the size of partial lists on remote nodes\nand thereby reduce total memory use for a slab cache.\n\nThe behavior is controlled by the remote_defrag_ratio of each cache.\n\nStrictly speaking this is permitted behavior since __GFP_THISNODE was\nnot specified for the allocation but it is certain surprising.\n\nThis patch makes sure that the remote defrag behavior only occurs\nif no node was specified.\n\nSigned-off-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\n"
    },
    {
      "commit": "af537b0a6c650ab6ff7104d8163e96866b31c835",
      "tree": "31d756ebce6ac6613b42a1aa5b1f5a80a7d76fe7",
      "parents": [
        "f5b801ac38a9612b380ee9a75ab1861f0594e79f"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "cl@linux-foundation.org",
        "time": "Fri Jul 09 14:07:14 2010 -0500"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Fri Jul 16 11:13:08 2010 +0300"
      },
      "message": "slub: Use kmem_cache flags to detect if slab is in debugging mode.\n\nThe cacheline with the flags is reachable from the hot paths after the\npercpu allocator changes went in. So there is no need anymore to put a\nflag into each slab page. Get rid of the SlubDebug flag and use\nthe flags in kmem_cache instead.\n\nAcked-by: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\n"
    },
    {
      "commit": "f5b801ac38a9612b380ee9a75ab1861f0594e79f",
      "tree": "c43a34bfec58e91f1aa46e95462977e24b390a37",
      "parents": [
        "d7278bd7d1aab5c6d35fd271eeb860548f0bd0bb"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "cl@linux-foundation.org",
        "time": "Fri Jul 09 14:07:13 2010 -0500"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Fri Jul 16 11:13:07 2010 +0300"
      },
      "message": "slub: Allow removal of slab caches during boot\n\nIf a slab cache is removed before we have setup sysfs then simply skip over\nthe sysfs handling.\n\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Roland Dreier \u003crdreier@cisco.com\u003e\nAcked-by: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\n"
    },
    {
      "commit": "d7278bd7d1aab5c6d35fd271eeb860548f0bd0bb",
      "tree": "24f82cf0c312c69291b7f4ed4879a0a345558cac",
      "parents": [
        "f90ec390148fdbc0db38c477bc6dc94db721e7f1"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "cl@linux-foundation.org",
        "time": "Fri Jul 09 14:07:12 2010 -0500"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Fri Jul 16 11:13:07 2010 +0300"
      },
      "message": "slub: Check kasprintf results in kmem_cache_init()\n\nSmall allocations may fail during slab bringup which is fatal. Add a BUG_ON()\nso that we fail immediately rather than failing later during sysfs\nprocessing.\n\nAcked-by: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\n"
    },
    {
      "commit": "f90ec390148fdbc0db38c477bc6dc94db721e7f1",
      "tree": "265f99b1be6c5dd5c5087d29eabd7fadcad4805f",
      "parents": [
        "2154a336381f85f5390d9a84c6cf4a7d2847b6ed"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "cl@linux-foundation.org",
        "time": "Fri Jul 09 14:07:11 2010 -0500"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Fri Jul 16 11:13:07 2010 +0300"
      },
      "message": "SLUB: Constants need UL\n\nUL suffix is missing in some constants. Conform to how slab.h uses constants.\n\nAcked-by: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\n"
    },
    {
      "commit": "2154a336381f85f5390d9a84c6cf4a7d2847b6ed",
      "tree": "6b4f2136878a578e8675f042bd4a361a8ca253df",
      "parents": [
        "1c5474a65bf15a4cb162dfff86d6d0b5a08a740c"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "cl@linux-foundation.org",
        "time": "Fri Jul 09 14:07:10 2010 -0500"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Fri Jul 16 11:13:06 2010 +0300"
      },
      "message": "slub: Use a constant for a unspecified node.\n\nkmalloc_node() and friends can be passed a constant -1 to indicate\nthat no choice was made for the node from which the object needs to\ncome.\n\nUse NUMA_NO_NODE instead of -1.\n\nCC: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nSigned-off-by: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\n"
    },
    {
      "commit": "c726b61c6a5acc54c55ed7a0e7638cc4c5a100a8",
      "tree": "3f44aa013d31d34951e9610e79ff14c1148ad6ac",
      "parents": [
        "7be7923633a142402266d642ccebf74f556a649b",
        "018378c55b03f88ff513aba4e0e93b8d4a9cf241"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jun 09 18:55:20 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jun 09 18:55:57 2010 +0200"
      },
      "message": "Merge branch \u0027perf/core\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/frederic/random-tracing into perf/core\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": "3b03117c5cfbb04175b688c79ea4155b8ef812d3",
      "tree": "5d2e3d0d7db98e2b47c7bb51be39bc4ced6a4d97",
      "parents": [
        "fa7eadab4b4aec0139d2429e6f8d13375ff8a658",
        "0f1f694260e0d35b5ce7d471f6e679c3dd4d7d94"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun May 30 12:46:17 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun May 30 12:46:17 2010 -0700"
      },
      "message": "Merge branch \u0027slub/urgent\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/slab-2.6\n\n* \u0027slub/urgent\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/slab-2.6:\n  SLUB: Allow full duplication of kmalloc array for 390\n  slub: move kmem_cache_node into it\u0027s own cacheline\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": "73367bd8eef4f4eb311005886aaa916013073265",
      "tree": "d603667689cfea1d8de49fe3c7fada7f6b6eae53",
      "parents": [
        "7e125f7b9cbfce4101191b8076d606c517a73066"
      ],
      "author": {
        "name": "Alexander Duyck",
        "email": "alexander.h.duyck@intel.com",
        "time": "Fri May 21 14:41:35 2010 -0700"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Mon May 24 21:11:29 2010 +0300"
      },
      "message": "slub: move kmem_cache_node into it\u0027s own cacheline\n\nThis patch is meant to improve the performance of SLUB by moving the local\nkmem_cache_node lock into it\u0027s own cacheline separate from kmem_cache.\nThis is accomplished by simply removing the local_node when NUMA is enabled.\n\nOn my system with 2 nodes I saw around a 5% performance increase w/\nhackbench times dropping from 6.2 seconds to 5.9 seconds on average.  I\nsuspect the performance gain would increase as the number of nodes\nincreases, but I do not have the data to currently back that up.\n\nBugzilla-Reference: http://bugzilla.kernel.org/show_bug.cgi?id\u003d15713\nCc: \u003cstable@kernel.org\u003e\nReported-by: Alex Shi \u003calex.shi@intel.com\u003e\nTested-by: Alex Shi \u003calex.shi@intel.com\u003e\nAcked-by: Yanmin Zhang \u003cyanmin_zhang@linux.intel.com\u003e\nAcked-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nSigned-off-by: Alexander Duyck \u003calexander.h.duyck@intel.com\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\n"
    },
    {
      "commit": "bb4f6b0cd7524ad7d56709723eaf8a7bf5a87b57",
      "tree": "df58d2c4c1f01f9bf5aa19e6a6d329b872b1f72a",
      "parents": [
        "f4b87dee923342505e1ddba8d34ce9de33e75050",
        "ec49fdbd354cb133340e25ff84d88284bb17e99a",
        "e92dd4fd1aa1cd081dac03973b33c972637d5b7a",
        "5c5e3b33b7cb959a401f823707bee006caadd76e",
        "8f9f8d9e8080a2ff46caa7decef47810d093d252",
        "6b65aaf3027c4e02b42aaefd900aa79136a30681"
      ],
      "author": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Sat May 22 10:57:52 2010 +0300"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Sat May 22 10:57:52 2010 +0300"
      },
      "message": "Merge branches \u0027slab/align\u0027, \u0027slab/cleanups\u0027, \u0027slab/fixes\u0027, \u0027slab/memhotadd\u0027 and \u0027slub/fixes\u0027 into slab-for-linus\n"
    },
    {
      "commit": "6b65aaf3027c4e02b42aaefd900aa79136a30681",
      "tree": "a5a9b5cb55af436f9216729b734c92ee919a66d1",
      "parents": [
        "d3e14aa336b37df76ae875fa051dfdb0e765ddf9"
      ],
      "author": {
        "name": "Minchan Kim",
        "email": "minchan.kim@gmail.com",
        "time": "Wed Apr 14 23:58:36 2010 +0900"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Sat May 22 10:57:31 2010 +0300"
      },
      "message": "slub: Use alloc_pages_exact_node() for page allocation\n\nThe alloc_slab_page() in SLUB uses alloc_pages() if node is \u0027-1\u0027.  This means\nthat node validity check in alloc_pages_node is unnecessary and we can use\nalloc_pages_exact_node() to avoid comparison and branch as commit\n6484eb3e2a81807722 (\"page allocator: do not check NUMA node ID when the caller\nknows the node is valid\") did for the page allocator.\n\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nReviewed-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nReviewed-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nSigned-off-by: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\n"
    },
    {
      "commit": "d3e14aa336b37df76ae875fa051dfdb0e765ddf9",
      "tree": "da3b3e552002d0fc8d85d54b81f0b488b043e230",
      "parents": [
        "bbd7d57bfe852d9788bae5fb171c7edb4021d8ac"
      ],
      "author": {
        "name": "Xiaotian Feng",
        "email": "dfeng@redhat.com",
        "time": "Thu Apr 08 17:26:44 2010 +0800"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Sat May 22 10:57:31 2010 +0300"
      },
      "message": "slub: __kmalloc_node_track_caller should trace kmalloc_large_node case\n\ncommit 94b528d (kmemtrace: SLUB hooks for caller-tracking functions)\nmissed tracing kmalloc_large_node in __kmalloc_node_track_caller. We\nshould trace it same as __kmalloc_node.\n\nAcked-by: David Rientjes \u003crientjes@google.com\u003e\nCc: Matt Mackall \u003cmpm@selenic.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Vegard Nossum \u003cvegard.nossum@gmail.com\u003e\nSigned-off-by: Xiaotian Feng \u003cdfeng@redhat.com\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\n"
    },
    {
      "commit": "bbd7d57bfe852d9788bae5fb171c7edb4021d8ac",
      "tree": "9b16ed244e0bd0b71a1d3d6e662be310f1e8f9c2",
      "parents": [
        "e40152ee1e1c7a63f4777791863215e3faa37a86"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Wed Mar 24 22:25:47 2010 +0100"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Sat May 22 10:57:30 2010 +0300"
      },
      "message": "slub: Potential stack overflow\n\nI discovered that we can overflow stack if CONFIG_SLUB_DEBUG\u003dy and use slabs\nwith many objects, since list_slab_objects() and process_slab() use\nDECLARE_BITMAP(map, page-\u003eobjects).\n\nWith 65535 bits, we use 8192 bytes of stack ...\n\nSwitch these allocations to dynamic allocations.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\n"
    },
    {
      "commit": "4581ced379736fd76432c754f999d26deb83fbb7",
      "tree": "b3c29e714fffb4e7e14b9affe458de316bb4eacd",
      "parents": [
        "bac49ce42a33f53beb7cf04e9a0600879d6265ca"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Wed May 19 12:02:14 2010 +0100"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Wed May 19 22:03:13 2010 +0300"
      },
      "message": "mm: Move ARCH_SLAB_MINALIGN and ARCH_KMALLOC_MINALIGN to \u003clinux/slub_def.h\u003e\n\nAcked-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\n"
    },
    {
      "commit": "111c7d82436db4c7673922b6ba021cebb7d26dd8",
      "tree": "e0faa1eb3793b27fa5a05b8e0b1311f83f16e5f6",
      "parents": [
        "8777c793d6a24c7f3adf52b1b1086e9706de4589"
      ],
      "author": {
        "name": "Zhang, Yanmin",
        "email": "yanmin_zhang@linux.intel.com",
        "time": "Thu Apr 01 17:32:30 2010 +0800"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Wed May 05 21:12:19 2010 +0300"
      },
      "message": "slub: Fix bad boundary check in init_kmem_cache_nodes()\n\nFunction init_kmem_cache_nodes is incorrect when checking upper limitation of\nkmalloc_caches. The breakage was introduced by commit\n91efd773c74bb26b5409c85ad755d536448e229c (\"dma kmalloc handling fixes\").\n\nAcked-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\n"
    },
    {
      "commit": "d3e06e2b15590b70ea73733fc4612e4741ff46e0",
      "tree": "021d71809197d8a195708ec9b3b114a0aa6eaa9c",
      "parents": [
        "fc1c183353a113c71675fecd0485e5aa0fe68d72"
      ],
      "author": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Wed Apr 07 19:23:41 2010 +0300"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 09 10:09:50 2010 -0700"
      },
      "message": "slub: Fix kmem_ptr_validate() for non-kernel pointers\n\nAs suggested by Linus, fix up kmem_ptr_validate() to handle non-kernel pointers\nmore graciously. The patch changes kmem_ptr_validate() to use the newly\nintroduced kern_ptr_validate() helper to check that a pointer is a valid kernel\npointer before we attempt to convert it into a \u0027struct page\u0027.\n\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Matt Mackall \u003cmpm@selenic.com\u003e\nCc: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nAcked-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nAcked-by: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c32da02342b7521df25fefc2ef20aee0e61cf887",
      "tree": "7e38f664fa3e13602c357d37f77d8adcf82fccc2",
      "parents": [
        "dca1d9f6d7ae428c193f32bd3e9a4ca13176648b",
        "318ae2edc3b29216abd8a2510f3f80b764f06858"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 12 16:04:50 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 12 16:04:50 2010 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (56 commits)\n  doc: fix typo in comment explaining rb_tree usage\n  Remove fs/ntfs/ChangeLog\n  doc: fix console doc typo\n  doc: cpuset: Update the cpuset flag file\n  Fix of spelling in arch/sparc/kernel/leon_kernel.c no longer needed\n  Remove drivers/parport/ChangeLog\n  Remove drivers/char/ChangeLog\n  doc: typo - Table 1-2 should refer to \"status\", not \"statm\"\n  tree-wide: fix typos \"ass?o[sc]iac?te\" -\u003e \"associate\" in comments\n  No need to patch AMD-provided drivers/gpu/drm/radeon/atombios.h\n  devres/irq: Fix devm_irq_match comment\n  Remove reference to kthread_create_on_cpu\n  tree-wide: Assorted spelling fixes\n  tree-wide: fix \u0027lenght\u0027 typo in comments and code\n  drm/kms: fix spelling in error message\n  doc: capitalization and other minor fixes in pnp doc\n  devres: typo fix s/dev/devm/\n  Remove redundant trailing semicolons from macros\n  fix typo \"definetly\" -\u003e \"definitely\" in comment\n  tree-wide: s/widht/width/g typo in comments\n  ...\n\nFix trivial conflict in Documentation/laptops/00-INDEX\n"
    },
    {
      "commit": "318ae2edc3b29216abd8a2510f3f80b764f06858",
      "tree": "ce595adde342f57f379d277b25e4dd206988a052",
      "parents": [
        "25cf84cf377c0aae5dbcf937ea89bc7893db5176",
        "3e58974027b04e84f68b964ef368a6cd758e2f84"
      ],
      "author": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Mon Mar 08 16:55:37 2010 +0100"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Mon Mar 08 16:55:37 2010 +0100"
      },
      "message": "Merge branch \u0027for-next\u0027 into for-linus\n\nConflicts:\n\tDocumentation/filesystems/proc.txt\n\tarch/arm/mach-u300/include/mach/debug-macro.S\n\tdrivers/net/qlge/qlge_ethtool.c\n\tdrivers/net/qlge/qlge_main.c\n\tdrivers/net/typhoon.c\n"
    },
    {
      "commit": "52cf25d0ab7f78eeecc59ac652ed5090f69b619e",
      "tree": "031d1ffb3890bd69c0260c864c512e0be62ac05c",
      "parents": [
        "6c1733aca0b48db4d0e660d54976a1cca25b5eaf"
      ],
      "author": {
        "name": "Emese Revfy",
        "email": "re.emese@gmail.com",
        "time": "Tue Jan 19 02:58:23 2010 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sun Mar 07 17:04:49 2010 -0800"
      },
      "message": "Driver core: Constify struct sysfs_ops in struct kobj_type\n\nConstify struct sysfs_ops.\n\nThis is part of the ops structure constification\neffort started by Arjan van de Ven et al.\n\nBenefits of this constification:\n\n * prevents modification of data that is shared\n   (referenced) by many other structure instances\n   at runtime\n\n * detects/prevents accidental (but not intentional)\n   modification attempts on archs that enforce\n   read-only kernel data at runtime\n\n * potentially better optimized code as the compiler\n   can assume that the const data cannot be changed\n\n * the compiler/linker move const data into .rodata\n   and therefore exclude them from false sharing\n\nSigned-off-by: Emese Revfy \u003cre.emese@gmail.com\u003e\nAcked-by: David Teigland \u003cteigland@redhat.com\u003e\nAcked-by: Matt Domsch \u003cMatt_Domsch@dell.com\u003e\nAcked-by: Maciej Sosnowski \u003cmaciej.sosnowski@intel.com\u003e\nAcked-by: Hans J. Koch \u003chjk@linutronix.de\u003e\nAcked-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nAcked-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nAcked-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "9cd43611ccfb46632bfa7d19f688924ea93f1613",
      "tree": "e11ecee403235ba9d8855892fa7ad55d9b63e221",
      "parents": [
        "985fc176a6c03836454629be2f2a611ccc7c7002"
      ],
      "author": {
        "name": "Emese Revfy",
        "email": "re.emese@gmail.com",
        "time": "Thu Dec 31 14:52:51 2009 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sun Mar 07 17:04:49 2010 -0800"
      },
      "message": "kobject: Constify struct kset_uevent_ops\n\nConstify struct kset_uevent_ops.\n\nThis is part of the ops structure constification\neffort started by Arjan van de Ven et al.\n\nBenefits of this constification:\n\n * prevents modification of data that is shared\n   (referenced) by many other structure instances\n   at runtime\n\n * detects/prevents accidental (but not intentional)\n   modification attempts on archs that enforce\n   read-only kernel data at runtime\n\n * potentially better optimized code as the compiler\n   can assume that the const data cannot be changed\n\n * the compiler/linker move const data into .rodata\n   and therefore exclude them from false sharing\n\nSigned-off-by: Emese Revfy \u003cre.emese@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "1154fab73ccbab010cfaa272b6987c624cfd63c6",
      "tree": "9fb6a47295608e6b9207545cd7b83980f0bba0c4",
      "parents": [
        "e2b093f3e9262353558c6f89510ab2d286b28287"
      ],
      "author": {
        "name": "Stephen Rothwell",
        "email": "sfr@canb.auug.org.au",
        "time": "Mon Mar 01 16:04:45 2010 +1100"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Thu Mar 04 12:09:43 2010 +0200"
      },
      "message": "SLUB: Fix per-cpu merge conflict\n\nThe slab tree adds a percpu variable usage case (commit\n9dfc6e68bfe6ee452efb1a4e9ca26a9007f2b864 \"SLUB: Use this_cpu operations in\nslub\"), but the percpu tree removes the prefixing of percpu variables (commit\ndd17c8f72993f9461e9c19250e3f155d6d99df22 \"percpu: remove per_cpu__ prefix\"),\nthus causing the following compilation error:\n\n    CC      mm/slub.o\n  mm/slub.c: In function ‘alloc_kmem_cache_cpus’:\n  mm/slub.c:2078: error: implicit declaration of function ‘per_cpu_var’\n  mm/slub.c:2078: warning: assignment makes pointer from integer without a cast\n  make[1]: *** [mm/slub.o] Error 1\n\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\n"
    },
    {
      "commit": "e2b093f3e9262353558c6f89510ab2d286b28287",
      "tree": "298986520dcb4e60e5ab253b7f6d56277077215a",
      "parents": [
        "eaa5eec739637f32f8733d528ff0b94fd62b1214",
        "f3186a9c51eabe75b2780153ed7f07778d78b16e",
        "4c13dd3b48fcb6fbe44f241eb11a057ecd1cba75",
        "44b57f1cc72a4a30b31f11b07a927d1534f1b93d",
        "91efd773c74bb26b5409c85ad755d536448e229c"
      ],
      "author": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Thu Mar 04 12:07:50 2010 +0200"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Thu Mar 04 12:07:50 2010 +0200"
      },
      "message": "Merge branches \u0027slab/cleanups\u0027, \u0027slab/failslab\u0027, \u0027slab/fixes\u0027 and \u0027slub/percpu\u0027 into slab-for-linus\n"
    },
    {
      "commit": "4c13dd3b48fcb6fbe44f241eb11a057ecd1cba75",
      "tree": "d9875477b9eb48ad598da8cbc36b473c941828ae",
      "parents": [
        "60b341b778cc2929df16c0a504c91621b3c6a4ad"
      ],
      "author": {
        "name": "Dmitry Monakhov",
        "email": "dmonakhov@openvz.org",
        "time": "Fri Feb 26 09:36:12 2010 +0300"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Fri Feb 26 19:19:39 2010 +0200"
      },
      "message": "failslab: add ability to filter slab caches\n\nThis patch allow to inject faults only for specific slabs.\nIn order to preserve default behavior cache filter is off by\ndefault (all caches are faulty).\n\nOne may define specific set of slabs like this:\n# mark skbuff_head_cache as faulty\necho 1 \u003e /sys/kernel/slab/skbuff_head_cache/failslab\n# Turn on cache filter (off by default)\necho 1 \u003e /sys/kernel/debug/failslab/cache-filter\n# Turn on fault injection\necho 1 \u003e /sys/kernel/debug/failslab/times\necho 1 \u003e /sys/kernel/debug/failslab/probability\n\nAcked-by: David Rientjes \u003crientjes@google.com\u003e\nAcked-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nAcked-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nSigned-off-by: Dmitry Monakhov \u003cdmonakhov@openvz.org\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\n"
    },
    {
      "commit": "c9404c9c392d557a4687c4cbda022b03cb787ce9",
      "tree": "1633e9e8d6a3f955297affd2c3304bdbb670a73c",
      "parents": [
        "634bad68bc25753816594ecd390dcea980528315"
      ],
      "author": {
        "name": "Adam Buchbinder",
        "email": "adam.buchbinder@gmail.com",
        "time": "Fri Dec 18 15:40:42 2009 -0500"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Fri Feb 05 12:22:30 2010 +0100"
      },
      "message": "Fix misspelling of \"should\" and \"shouldn\u0027t\" in comments.\n\nSome comments misspell \"should\" or \"shouldn\u0027t\"; this fixes them. No code changes.\n\nSigned-off-by: Adam Buchbinder \u003cadam.buchbinder@gmail.com\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "91efd773c74bb26b5409c85ad755d536448e229c",
      "tree": "b812dadb615ecff08e4d3ebe97483f192d0be27d",
      "parents": [
        "7738dd9e8f2bc1c249e00c9c20e018448fac0084"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "cl@linux-foundation.org",
        "time": "Thu Jan 21 17:43:35 2010 -0600"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Fri Jan 22 18:33:38 2010 +0200"
      },
      "message": "dma kmalloc handling fixes\n\n1. We need kmalloc_percpu for all of the now extended kmalloc caches\n   array not just for each shift value.\n\n2. init_kmem_cache_nodes() must assume node 0 locality for statically\n   allocated dma kmem_cache structures even after boot is complete.\n\nReported-and-tested-by: Alex Chiang \u003cachiang@hp.com\u003e\nSigned-off-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\n"
    },
    {
      "commit": "7738dd9e8f2bc1c249e00c9c20e018448fac0084",
      "tree": "2127dd8ada9cbcf83169e3de823dfe640de0e83a",
      "parents": [
        "84e554e6865c4f4ae84d38800cf270b9a67901cc"
      ],
      "author": {
        "name": "David Rientjes",
        "email": "rientjes@google.com",
        "time": "Fri Jan 15 12:49:56 2010 -0800"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Fri Jan 22 18:33:36 2010 +0200"
      },
      "message": "slub: remove impossible condition\n\n`s\u0027 cannot be NULL if kmalloc_caches is not NULL.\n\nThis conditional would trigger a NULL pointer on `s\u0027, anyway, since it is\nimmediately derefernced if true.\n\nAcked-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nSigned-off-by: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\n"
    },
    {
      "commit": "84e554e6865c4f4ae84d38800cf270b9a67901cc",
      "tree": "9bf5ce0596a9ffeee9e6a307eadbce6086f636ba",
      "parents": [
        "ff12059ed14b0773d7bbef86f98218ada6c20770"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "cl@linux-foundation.org",
        "time": "Fri Dec 18 16:26:23 2009 -0600"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Sun Dec 20 10:39:34 2009 +0200"
      },
      "message": "SLUB: Make slub statistics use this_cpu_inc\n\nthis_cpu_inc() translates into a single instruction on x86 and does not\nneed any register. So use it in stat(). We also want to avoid the\ncalculation of the per cpu kmem_cache_cpu structure pointer. So pass\na kmem_cache pointer instead of a kmem_cache_cpu pointer.\n\nSigned-off-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\n"
    },
    {
      "commit": "ff12059ed14b0773d7bbef86f98218ada6c20770",
      "tree": "33b63b4f746e984e8421ea3624312bc98ccb2f37",
      "parents": [
        "756dee75872a2a764b478e18076360b8a4ec9045"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "cl@linux-foundation.org",
        "time": "Fri Dec 18 16:26:22 2009 -0600"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Sun Dec 20 10:17:59 2009 +0200"
      },
      "message": "SLUB: this_cpu: Remove slub kmem_cache fields\n\nRemove the fields in struct kmem_cache_cpu that were used to cache data from\nstruct kmem_cache when they were in different cachelines. The cacheline that\nholds the per cpu array pointer now also holds these values. We can cut down\nthe struct kmem_cache_cpu size to almost half.\n\nThe get_freepointer() and set_freepointer() functions that used to be only\nintended for the slow path now are also useful for the hot path since access\nto the size field does not require accessing an additional cacheline anymore.\nThis results in consistent use of functions for setting the freepointer of\nobjects throughout SLUB.\n\nAlso we initialize all possible kmem_cache_cpu structures when a slab is\ncreated. No need to initialize them when a processor or node comes online.\n\nSigned-off-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\n"
    },
    {
      "commit": "756dee75872a2a764b478e18076360b8a4ec9045",
      "tree": "c4a09707be2f926631815dec98b0e0f3f4b9ae20",
      "parents": [
        "9dfc6e68bfe6ee452efb1a4e9ca26a9007f2b864"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "cl@linux-foundation.org",
        "time": "Fri Dec 18 16:26:21 2009 -0600"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Sun Dec 20 09:57:00 2009 +0200"
      },
      "message": "SLUB: Get rid of dynamic DMA kmalloc cache allocation\n\nDynamic DMA kmalloc cache allocation is troublesome since the\nnew percpu allocator does not support allocations in atomic contexts.\nReserve some statically allocated kmalloc_cpu structures instead.\n\nSigned-off-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\n"
    },
    {
      "commit": "9dfc6e68bfe6ee452efb1a4e9ca26a9007f2b864",
      "tree": "40e54f2819e176ceb95b8899265bd48751965c27",
      "parents": [
        "55639353a0035052d9ea6cfe4dde0ac7fcbb2c9f"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "cl@linux-foundation.org",
        "time": "Fri Dec 18 16:26:20 2009 -0600"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Sun Dec 20 09:29:18 2009 +0200"
      },
      "message": "SLUB: Use this_cpu operations in slub\n\nUsing per cpu allocations removes the needs for the per cpu arrays in the\nkmem_cache struct. These could get quite big if we have to support systems\nwith thousands of cpus. The use of this_cpu_xx operations results in:\n\n1. The size of kmem_cache for SMP configuration shrinks since we will only\n   need 1 pointer instead of NR_CPUS. The same pointer can be used by all\n   processors. Reduces cache footprint of the allocator.\n\n2. We can dynamically size kmem_cache according to the actual nodes in the\n   system meaning less memory overhead for configurations that may potentially\n   support up to 1k NUMA nodes / 4k cpus.\n\n3. We can remove the diddle widdle with allocating and releasing of\n   kmem_cache_cpu structures when bringing up and shutting down cpus. The cpu\n   alloc logic will do it all for us. Removes some portions of the cpu hotplug\n   functionality.\n\n4. Fastpath performance increases since per cpu pointer lookups and\n   address calculations are avoided.\n\nV7-V8\n- Convert missed get_cpu_slab() under CONFIG_SLUB_STATS\n\nSigned-off-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\n"
    },
    {
      "commit": "2205afa7d13ec716935dfd4b8ff71059ee7aeb0c",
      "tree": "19e63ed8040e8a82c3cdd331458d246247466a28",
      "parents": [
        "491424c0f46c282a854b88830212bdb0763e93dc",
        "2cd9046cc53dd2625e2cf5854d6cbb1ba61de914"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 14 10:13:22 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 14 10:13:22 2009 -0800"
      },
      "message": "Merge branch \u0027perf-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027perf-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  perf sched: Fix build failure on sparc\n  perf bench: Add \"all\" pseudo subsystem and \"all\" pseudo suite\n  perf tools: Introduce perf_session class\n  perf symbols: Ditch dso-\u003efind_symbol\n  perf symbols: Allow lookups by symbol name too\n  perf symbols: Add missing \"Variables\" entry to map_type__name\n  perf symbols: Add support for \u0027variable\u0027 symtabs\n  perf symbols: Introduce ELF counterparts to symbol_type__is_a\n  perf symbols: Introduce symbol_type__is_a\n  perf symbols: Rename kthreads to kmaps, using another abstraction for it\n  perf tools: Allow building for ARM\n  hw-breakpoints: Handle bad modify_user_hw_breakpoint off-case return value\n  perf tools: Allow cross compiling\n  tracing, slab: Fix no callsite ifndef CONFIG_KMEMTRACE\n  tracing, slab: Define kmem_cache_alloc_notrace ifdef CONFIG_TRACING\n\nTrivial conflict due to different fixes to modify_user_hw_breakpoint()\nin include/linux/hw_breakpoint.h\n"
    },
    {
      "commit": "355d79c87a53aa08c33deba184b8c87763a08270",
      "tree": "93b0e0a65e8a9c4abdd9297b614db2a8bc2a68a4",
      "parents": [
        "053fe57ac249a9531c396175778160d9e9509399",
        "8e15b79cf4bd20c6afb4663d98a39cd004eee672",
        "ddbf2e8366f2a7fa3419be418cfd83a914d2527f",
        "74e2134ff892ee4ea4fbd52637060b71e540faf1",
        "78eb00cc574d3dbf8e6bed804948a89e8110a064"
      ],
      "author": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Sat Dec 12 10:12:19 2009 +0200"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Sat Dec 12 10:12:19 2009 +0200"
      },
      "message": "Merge branches \u0027slab/fixes\u0027, \u0027slab/kmemleak\u0027, \u0027slub/perf\u0027 and \u0027slub/stats\u0027 into for-linus\n"
    },
    {
      "commit": "0f24f1287a86b198c1e4bd4ce45e8565e40ff804",
      "tree": "7d13bfec87c7b67ffc701271484dc8d96080643c",
      "parents": [
        "125580380f418000b1a06d9a54700f1191b6e561"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Fri Dec 11 15:45:30 2009 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Dec 11 09:17:02 2009 +0100"
      },
      "message": "tracing, slab: Define kmem_cache_alloc_notrace ifdef CONFIG_TRACING\n\nDefine kmem_trace_alloc_{,node}_notrace() if CONFIG_TRACING is\nenabled, otherwise perf-kmem will show wrong stats ifndef\nCONFIG_KMEM_TRACE, because a kmalloc() memory allocation may\nbe traced by both trace_kmalloc() and trace_kmem_cache_alloc().\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nReviewed-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: linux-mm@kvack.org \u003clinux-mm@kvack.org\u003e\nCc: Eduard - Gabriel Munteanu \u003ceduard.munteanu@linux360.ro\u003e\nLKML-Reference: \u003c4B21F89A.7000801@cn.fujitsu.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "74e2134ff892ee4ea4fbd52637060b71e540faf1",
      "tree": "a0747c885ca2bc04745a77ef4a902d121acbe44f",
      "parents": [
        "b419148e567728f6af0c3b01965c1cc141e3e13a"
      ],
      "author": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Wed Nov 25 20:14:48 2009 +0200"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Sun Nov 29 09:01:59 2009 +0200"
      },
      "message": "SLUB: Fix __GFP_ZERO unlikely() annotation\n\nThe unlikely() annotation in slab_alloc() covers too much of the expression.\nIt\u0027s actually very likely that the object is not NULL so use unlikely() only\nfor the __GFP_ZERO expression like SLAB does.\n\nThe patch reduces kernel text by 29 bytes on x86-64:\n\n   text\t   data\t    bss\t    dec\t    hex\tfilename\n  24185\t   8560\t    176\t  32921\t   8099\tmm/slub.o.orig\n  24156\t   8560\t    176\t  32892\t   807c\tmm/slub.o\n\nAcked-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\n"
    },
    {
      "commit": "78eb00cc574d3dbf8e6bed804948a89e8110a064",
      "tree": "c0cefa5b5787bb234ba8931775da2071c908e071",
      "parents": [
        "374576a8b6f865022c0fd1ca62396889b23d66dd"
      ],
      "author": {
        "name": "David Rientjes",
        "email": "rientjes@google.com",
        "time": "Thu Oct 15 02:20:22 2009 -0700"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Thu Oct 15 21:34:12 2009 +0300"
      },
      "message": "slub: allow stats to be cleared\n\nWhen collecting slub stats for particular workloads, it\u0027s necessary to\ncollect each statistic for all caches before the job is even started\nbecause the counters are usually greater than zero just from boot and\ninitialization.\n\nThis allows a statistic to be cleared on each cpu by writing \u00270\u0027 to its\nsysfs file.  This creates a baseline for statistics of interest before\nthe workload is started.\n\nSetting a statistic to a particular value is not supported, so all values\nwritten to these files other than \u00270\u0027 returns -EINVAL.\n\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nSigned-off-by: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\n"
    },
    {
      "commit": "fe1ff49d0d1c30254dbfc84c3786eb538e0cc7d1",
      "tree": "aed0b1c5355e42ce27788fa4868dc770cbbebe75",
      "parents": [
        "398499d5f3613c47f2143b8c54a04efb5d7a6da9"
      ],
      "author": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Mon Sep 21 17:02:30 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:33 2009 -0700"
      },
      "message": "mm: kmem_cache_create(): make it easier to catch NULL cache names\n\nRight now, if you inadvertently pass NULL to kmem_cache_create() at boot\ntime, it crashes much later after boot somewhere deep inside sysfs which\nmakes it very non obvious to figure out what\u0027s going on.\n\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "fdaa45e95d2ef59a140d2fb2e487141f83f5a07c",
      "tree": "262f543514ab9366de694fc66f65533fd242a37e",
      "parents": [
        "0cb583fd2862f19ea88b02eb307d11c09e51e2f8"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Sep 15 11:00:26 2009 +0200"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Tue Sep 15 22:32:10 2009 +0300"
      },
      "message": "slub: Fix build error in kmem_cache_open() with !CONFIG_SLUB_DEBUG\n\nThis build bug:\n\n mm/slub.c: In function \u0027kmem_cache_open\u0027:\n mm/slub.c:2476: error: \u0027disable_higher_order_debug\u0027 undeclared (first use in this function)\n mm/slub.c:2476: error: (Each undeclared identifier is reported only once\n mm/slub.c:2476: error: for each function it appears in.)\n\nTriggers because there\u0027s no !CONFIG_SLUB_DEBUG definition for\ndisable_higher_order_debug.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\n"
    },
    {
      "commit": "ada3fa15057205b7d3f727bba5cd26b5912e350f",
      "tree": "60962fc9e4021b92f484d1a58e72cd3906d4f3db",
      "parents": [
        "2f82af08fcc7dc01a7e98a49a5995a77e32a2925",
        "5579fd7e6aed8860ea0c8e3f11897493153b10ad"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 15 09:39:44 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 15 09:39:44 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu: (46 commits)\n  powerpc64: convert to dynamic percpu allocator\n  sparc64: use embedding percpu first chunk allocator\n  percpu: kill lpage first chunk allocator\n  x86,percpu: use embedding for 64bit NUMA and page for 32bit NUMA\n  percpu: update embedding first chunk allocator to handle sparse units\n  percpu: use group information to allocate vmap areas sparsely\n  vmalloc: implement pcpu_get_vm_areas()\n  vmalloc: separate out insert_vmalloc_vm()\n  percpu: add chunk-\u003ebase_addr\n  percpu: add pcpu_unit_offsets[]\n  percpu: introduce pcpu_alloc_info and pcpu_group_info\n  percpu: move pcpu_lpage_build_unit_map() and pcpul_lpage_dump_cfg() upward\n  percpu: add @align to pcpu_fc_alloc_fn_t\n  percpu: make @dyn_size mandatory for pcpu_setup_first_chunk()\n  percpu: drop @static_size from first chunk allocators\n  percpu: generalize first chunk allocator selection\n  percpu: build first chunk allocators selectively\n  percpu: rename 4k first chunk allocator to page\n  percpu: improve boot messages\n  percpu: fix pcpu_reclaim() locking\n  ...\n\nFix trivial conflict as by Tejun Heo in kernel/sched.c\n"
    },
    {
      "commit": "aceda773606f2506a25b91aaafae87b2e4315834",
      "tree": "6084163c1833f938c7e582ddf983c7748c038024",
      "parents": [
        "0cc6d77e55eca9557bbe41bf2db94b31aa8fcb2a",
        "5086c389cb897c7ad66c1cacd1abb5ffebaa74b2",
        "8a3d271deb0cc9c2fc47317d8e431046382939c9"
      ],
      "author": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Mon Sep 14 20:19:06 2009 +0300"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Mon Sep 14 20:19:06 2009 +0300"
      },
      "message": "Merge branches \u0027slab/cleanups\u0027 and \u0027slab/fixes\u0027 into for-linus\n"
    },
    {
      "commit": "8a3d271deb0cc9c2fc47317d8e431046382939c9",
      "tree": "0e6d53380e24bee70afb6102faa3fea8b762f0aa",
      "parents": [
        "5788d8ad6c113c589eeaaa48a173adbbe6b1cb3d"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu Sep 03 16:08:06 2009 +0200"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Mon Sep 14 07:57:55 2009 +0300"
      },
      "message": "slub: fix slab_pad_check()\n\nWhen SLAB_POISON is used and slab_pad_check() finds an overwrite of the\nslab padding, we call restore_bytes() on the whole slab, not only\non the padding.\n\nAcked-by: Christoph Lameer \u003ccl@linux-foundation.org\u003e\nReported-by: Zdenek Kabelac \u003czdenek.kabelac@gmail.com\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\n"
    },
    {
      "commit": "d76b1590e06a63a3d8697168cd0aabf1c4b3cb3a",
      "tree": "276a0323e0b25192fdb837475b816db3b3052cad",
      "parents": [
        "326ba5010a5429a5a528b268b36a5900d4ab0eba"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu Sep 03 22:38:59 2009 +0300"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Thu Sep 03 22:38:59 2009 +0300"
      },
      "message": "slub: Fix kmem_cache_destroy() with SLAB_DESTROY_BY_RCU\n\nkmem_cache_destroy() should call rcu_barrier() *after* kmem_cache_close() and\n*before* sysfs_slab_remove() or risk rcu_free_slab() being called after\nkmem_cache is deleted (kfreed).\n\nrmmod nf_conntrack can crash the machine because it has to kmem_cache_destroy()\na SLAB_DESTROY_BY_RCU enabled cache.\n\nCc: \u003cstable@kernel.org\u003e\nReported-by: Zdenek Kabelac \u003czdenek.kabelac@gmail.com\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nAcked-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\n"
    },
    {
      "commit": "5788d8ad6c113c589eeaaa48a173adbbe6b1cb3d",
      "tree": "d205f122f24be0853747be9c4d71049ed4e6d49f",
      "parents": [
        "acdfcd04d9df7d084ff752f82afad6ed4ad5f363"
      ],
      "author": {
        "name": "Xiaotian Feng",
        "email": "dfeng@redhat.com",
        "time": "Wed Jul 22 11:28:53 2009 +0800"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Thu Sep 03 21:11:41 2009 +0300"
      },
      "message": "slub: release kobject if sysfs_create_group failed in sysfs_slab_add\n\nWhen CONFIG_SLUB_DEBUG is enabled, sysfs_slab_add should unlink and put the\nkobject if sysfs_create_group failed. Otherwise, sysfs_slab_add returns error\nthen free kmem_cache s, thus memory of s-\u003ekobj is leaked.\n\nAcked-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nSigned-off-by: Xiaotian Feng \u003cdfeng@redhat.com\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\n"
    },
    {
      "commit": "acdfcd04d9df7d084ff752f82afad6ed4ad5f363",
      "tree": "edee979b012067348978d7ea23a58acd4b532a7d",
      "parents": [
        "cf5d11317e8f2671d3115622aec76274a40f4fc2"
      ],
      "author": {
        "name": "Aaro Koskinen",
        "email": "aaro.koskinen@nokia.com",
        "time": "Fri Aug 28 14:28:54 2009 +0300"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Sun Aug 30 14:56:48 2009 +0300"
      },
      "message": "SLUB: fix ARCH_KMALLOC_MINALIGN cases 64 and 256\n\nIf the minalign is 64 bytes, then the 96 byte cache should not be created\nbecause it would conflict with the 128 byte cache.\n\nIf the minalign is 256 bytes, patching the size_index table should not\nresult in a buffer overrun.\n\nThe calculation \"(i - 1) / 8\" used to access size_index[] is moved to\na separate function as suggested by Christoph Lameter.\n\nAcked-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nSigned-off-by: Aaro Koskinen \u003caaro.koskinen@nokia.com\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\n"
    },
    {
      "commit": "5086c389cb897c7ad66c1cacd1abb5ffebaa74b2",
      "tree": "b00fe4d4b898891c77cdb90a765cdf4299413007",
      "parents": [
        "bbff2e433e80fae72c8d00d482927d52ec19ba33"
      ],
      "author": {
        "name": "Amerigo Wang",
        "email": "amwang@redhat.com",
        "time": "Wed Aug 19 21:44:13 2009 +0300"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Wed Aug 19 21:44:13 2009 +0300"
      },
      "message": "SLUB: Fix some coding style issues\n\nSigned-off-by: WANG Cong \u003camwang@redhat.com\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\n"
    },
    {
      "commit": "cf5d11317e8f2671d3115622aec76274a40f4fc2",
      "tree": "f1f1e3ca5ec9cc2ce8ec3cbdaef95c27ffc4bb88",
      "parents": [
        "dcb0ce1bdf39581bcd0cffc3d487fb20667977cd"
      ],
      "author": {
        "name": "WANG Cong",
        "email": "amwang@redhat.com",
        "time": "Tue Aug 18 19:11:40 2009 +0300"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Tue Aug 18 19:11:40 2009 +0300"
      },
      "message": "SLUB: Drop write permission to /proc/slabinfo\n\nSLUB does not support writes to /proc/slabinfo so there should not be write\npermission to do that either.\n\nSigned-off-by: WANG Cong \u003camwang@redhat.com\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\n"
    },
    {
      "commit": "384be2b18a5f9475eab9ca2bdfa95cc1a04ef59c",
      "tree": "04c93f391a1b65c8bf8d7ba8643c07d26c26590a",
      "parents": [
        "a76761b621bcd8336065c4fe3a74f046858bc34c",
        "142d44b0dd6741a64a7bdbe029110e7c1dcf1d23"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Fri Aug 14 14:41:02 2009 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Fri Aug 14 14:45:31 2009 +0900"
      },
      "message": "Merge branch \u0027percpu-for-linus\u0027 into percpu-for-next\n\nConflicts:\n\tarch/sparc/kernel/smp_64.c\n\tarch/x86/kernel/cpu/perf_counter.c\n\tarch/x86/kernel/setup_percpu.c\n\tdrivers/cpufreq/cpufreq_ondemand.c\n\tmm/percpu.c\n\nConflicts in core and arch percpu codes are mostly from commit\ned78e1e078dd44249f88b1dd8c76dafb39567161 which substituted many\nnum_possible_cpus() with nr_cpu_ids.  As for-next branch has moved all\nthe first chunk allocators into mm/percpu.c, the changes are moved\nfrom arch code to mm/percpu.c.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\n"
    },
    {
      "commit": "dcb0ce1bdf39581bcd0cffc3d487fb20667977cd",
      "tree": "63e7b32f1bb3cd6086c246aa483c80c28a8962fb",
      "parents": [
        "3de472138a138008b534d9587593ba83390e330a"
      ],
      "author": {
        "name": "Zhang, Yanmin",
        "email": "yanmin_zhang@linux.intel.com",
        "time": "Thu Jul 30 11:28:11 2009 +0800"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Sat Aug 01 18:26:40 2009 +0300"
      },
      "message": "slub: change kmem_cache-\u003ealign to record the real alignment\n\nkmem_cache-\u003ealign records the original align parameter value specified\nby users. Function calculate_alignment might change it based on cache\nline size. So change kmem_cache-\u003ealign correspondingly.\n\nSigned-off-by: Zhang Yanmin \u003cyanmin_zhang@linux.intel.com\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\n"
    },
    {
      "commit": "3de472138a138008b534d9587593ba83390e330a",
      "tree": "2f31ccb13c90dff68d8fd108575caa534c6c622d",
      "parents": [
        "fa5ec8a1f66f3c2a3af723abcf8085509c9ee682"
      ],
      "author": {
        "name": "David Rientjes",
        "email": "rientjes@google.com",
        "time": "Mon Jul 27 18:30:35 2009 -0700"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Tue Jul 28 10:53:09 2009 +0300"
      },
      "message": "slub: use size and objsize orders to disable debug flags\n\nThis patch moves the masking of debugging flags which increase a cache\u0027s\nmin order due to metadata when `slub_debug\u003dO\u0027 is used from\nkmem_cache_flags() to kmem_cache_open().\n\nInstead of defining the maximum metadata size increase in a preprocessor\nmacro, this approach uses the cache\u0027s -\u003esize and -\u003eobjsize members to\ndetermine if the min order increased due to debugging options.  If so,\nthe flags specified in the more appropriately named DEBUG_METADATA_FLAGS\nare masked off.\n\nThis approach was suggested by Christoph Lameter\n\u003ccl@linux-foundation.org\u003e.\n\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nSigned-off-by: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\n"
    },
    {
      "commit": "fa5ec8a1f66f3c2a3af723abcf8085509c9ee682",
      "tree": "be8e06f8ace38ed40ec2af4465dd1fffbc4b4f09",
      "parents": [
        "c2cc49a2f8a479dde96a599646d30b6cc9dbed78"
      ],
      "author": {
        "name": "David Rientjes",
        "email": "rientjes@google.com",
        "time": "Tue Jul 07 00:14:14 2009 -0700"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Fri Jul 10 09:52:55 2009 +0300"
      },
      "message": "slub: add option to disable higher order debugging slabs\n\nWhen debugging is enabled, slub requires that additional metadata be\nstored in slabs for certain options: SLAB_RED_ZONE, SLAB_POISON, and\nSLAB_STORE_USER.\n\nConsequently, it may require that the minimum possible slab order needed\nto allocate a single object be greater when using these options.  The\nmost notable example is for objects that are PAGE_SIZE bytes in size.\n\nHigher minimum slab orders may cause page allocation failures when oom or\nunder heavy fragmentation.\n\nThis patch adds a new slub_debug option, which disables debugging by\ndefault for caches that would have resulted in higher minimum orders:\n\n\tslub_debug\u003dO\n\nWhen this option is used on systems with 4K pages, kmalloc-4096, for\nexample, will not have debugging enabled by default even if\nCONFIG_SLUB_DEBUG_ON is defined because it would have resulted in a\norder-1 minimum slab order.\n\nReported-by: Larry Finger \u003cLarry.Finger@lwfinger.net\u003e\nTested-by: Larry Finger \u003cLarry.Finger@lwfinger.net\u003e\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nSigned-off-by: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\n"
    },
    {
      "commit": "e4f7c0b44a8ac8935f223195af9ea637d0c08091",
      "tree": "9d8627800137ae50a1d5707c21489969c77c9e8a",
      "parents": [
        "2587362eaf5c9df4e08de11e6340e3c4a88ed4c8"
      ],
      "author": {
        "name": "Catalin Marinas",
        "email": "catalin.marinas@arm.com",
        "time": "Tue Jul 07 10:32:59 2009 +0100"
      },
      "committer": {
        "name": "Catalin Marinas",
        "email": "catalin.marinas@arm.com",
        "time": "Wed Jul 08 14:25:14 2009 +0100"
      },
      "message": "kmemleak: Trace the kmalloc_large* functions in slub\n\nThe kmalloc_large() and kmalloc_large_node() functions were missed when\nadding the kmemleak hooks to the slub allocator. However, they should be\ntraced to avoid false positives.\n\nSigned-off-by: Catalin Marinas \u003ccatalin.marinas@arm.com\u003e\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nAcked-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\n"
    },
    {
      "commit": "c43768cbb7655ea5ff782ae250f6e2ef4297cf98",
      "tree": "3982e41dde3eecaa3739a5d1a8ed18d04bd74f01",
      "parents": [
        "1a8dd307cc0a2119be4e578c517795464e6dabba",
        "746a99a5af60ee676afa2ba469ccd1373493c7e7"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Sat Jul 04 07:13:18 2009 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Sat Jul 04 07:13:18 2009 +0900"
      },
      "message": "Merge branch \u0027master\u0027 into for-next\n\nPull linus#master to merge PER_CPU_DEF_ATTRIBUTES and alpha build fix\nchanges.  As alpha in percpu tree uses \u0027weak\u0027 attribute instead of\ninline assembly, there\u0027s no need for __used attribute.\n\nConflicts:\n\tarch/alpha/include/asm/percpu.h\n\tarch/mn10300/kernel/vmlinux.lds.S\n\tinclude/linux/percpu-defs.h\n"
    },
    {
      "commit": "7ed9f7e5db58c6e8c2b4b738a75d5dcd8e17aad5",
      "tree": "c8ee9b63e1e8d3925b8a08a2b21a331434d183b5",
      "parents": [
        "28d0325ce6e0a52f53d8af687e6427fee59004d3"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Thu Jun 25 12:31:37 2009 -0700"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Fri Jun 26 12:10:47 2009 +0300"
      },
      "message": "fix RCU-callback-after-kmem_cache_destroy problem in sl[aou]b\n\nJesper noted that kmem_cache_destroy() invokes synchronize_rcu() rather than\nrcu_barrier() in the SLAB_DESTROY_BY_RCU case, which could result in RCU\ncallbacks accessing a kmem_cache after it had been destroyed.\n\nCc: \u003cstable@kernel.org\u003e\nAcked-by: Matt Mackall \u003cmpm@selenic.com\u003e\nReported-by: Jesper Dangaard Brouer \u003chawk@comx.dk\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\n"
    },
    {
      "commit": "ba52270d18fb17ce2cf176b35419dab1e43fe4a3",
      "tree": "6023e8e0b5b722be7193902894934aaef21e5144",
      "parents": [
        "4923abf9f1a4c1864af438a57c1f3686548230e9"
      ],
      "author": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Wed Jun 24 21:59:51 2009 +0300"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jun 24 12:20:14 2009 -0700"
      },
      "message": "SLUB: Don\u0027t pass __GFP_FAIL for the initial allocation\n\nSLUB uses higher order allocations by default but falls back to small\norders under memory pressure. Make sure the GFP mask used in the initial\nallocation doesn\u0027t include __GFP_NOFAIL.\n\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "204fba4aa303ea4a7bb726a539bf4a5b9e3203d0",
      "tree": "899707e00035f1ec83077c16a7f559ecbcc36986",
      "parents": [
        "fe87f94f341a4b4097285b46f003059b26eb59bf"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Jun 24 15:13:45 2009 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Jun 24 15:13:45 2009 +0900"
      },
      "message": "percpu: cleanup percpu array definitions\n\nCurrently, the following three different ways to define percpu arrays\nare in use.\n\n1. DEFINE_PER_CPU(elem_type[array_len], array_name);\n2. DEFINE_PER_CPU(elem_type, array_name[array_len]);\n3. DEFINE_PER_CPU(elem_type, array_name)[array_len];\n\nUnify to #1 which correctly separates the roles of the two parameters\nand thus allows more flexibility in the way percpu variables are\ndefined.\n\n[ Impact: cleanup ]\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nReviewed-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Tony Luck \u003ctony.luck@intel.com\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\nCc: linux-mm@kvack.org\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "dcce284a259373f9e5570f2e33f79eca84fcf565",
      "tree": "afc4b23208974f17c080ea3d2ecfbaca4254c010",
      "parents": [
        "9729a6eb5878a3daa18395f2b5fb38bf9359a761"
      ],
      "author": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Thu Jun 18 13:24:12 2009 +1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 18 13:12:57 2009 -0700"
      },
      "message": "mm: Extend gfp masking to the page allocator\n\nThe page allocator also needs the masking of gfp flags during boot,\nso this moves it out of slab/slub and uses it with the page allocator\nas well.\n\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nAcked-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5caf5c7dc2d303b770e426f7e2238df882f1773b",
      "tree": "1dddb1941da34326e8e8becef10761d2d5d7fcc9",
      "parents": [
        "e03ab9d415c47e1ff485b646f95604d3e3a91708",
        "964cf35c88f93b4927dbc4e950dfa4d880c7f9d1"
      ],
      "author": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Wed Jun 17 08:30:54 2009 +0300"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Wed Jun 17 08:30:54 2009 +0300"
      },
      "message": "Merge branch \u0027slub/earlyboot\u0027 into for-linus\n\nConflicts:\n\tmm/slub.c\n"
    },
    {
      "commit": "e03ab9d415c47e1ff485b646f95604d3e3a91708",
      "tree": "61e9eecfbc46cf546a7e9c5ab206ae64fb860550",
      "parents": [
        "65795efbd380a832ae508b04dba8f8e53f0b84d9",
        "a234bdc9aecc299ba41ffe8023b3ea110df9f51b",
        "6746136520cd0827320a83e62d0a023a5a433650",
        "7303f240981888884412a97ac742772527356880",
        "95f8598931bd86a5775073db2fa2004b892dd3d0"
      ],
      "author": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Wed Jun 17 08:30:15 2009 +0300"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Wed Jun 17 08:30:15 2009 +0300"
      },
      "message": "Merge branches \u0027slab/documentation\u0027, \u0027slab/fixes\u0027, \u0027slob/cleanups\u0027 and \u0027slub/fixes\u0027 into for-linus\n"
    },
    {
      "commit": "517d08699b250021303f9a7cf0d758b6dc0748ed",
      "tree": "5e5b0134c3fffb78fe9d8b1641a64ff28fdd7bbc",
      "parents": [
        "8eeee4e2f04fc551f50c9d9847da2d73d7d33728",
        "a34601c5d84134055782ee031d58d82f5440e918"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 16 19:50:13 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 16 19:50:13 2009 -0700"
      },
      "message": "Merge branch \u0027akpm\u0027\n\n* akpm: (182 commits)\n  fbdev: bf54x-lq043fb: use kzalloc over kmalloc/memset\n  fbdev: *bfin*: fix __dev{init,exit} markings\n  fbdev: *bfin*: drop unnecessary calls to memset\n  fbdev: bfin-t350mcqb-fb: drop unused local variables\n  fbdev: blackfin has __raw I/O accessors, so use them in fb.h\n  fbdev: s1d13xxxfb: add accelerated bitblt functions\n  tcx: use standard fields for framebuffer physical address and length\n  fbdev: add support for handoff from firmware to hw framebuffers\n  intelfb: fix a bug when changing video timing\n  fbdev: use framebuffer_release() for freeing fb_info structures\n  radeon: P2G2CLK_ALWAYS_ONb tested twice, should 2nd be P2G2CLK_DAC_ALWAYS_ONb?\n  s3c-fb: CPUFREQ frequency scaling support\n  s3c-fb: fix resource releasing on error during probing\n  carminefb: fix possible access beyond end of carmine_modedb[]\n  acornfb: remove fb_mmap function\n  mb862xxfb: use CONFIG_OF instead of CONFIG_PPC_OF\n  mb862xxfb: restrict compliation of platform driver to PPC\n  Samsung SoC Framebuffer driver: add Alpha Channel support\n  atmel-lcdc: fix pixclock upper bound detection\n  offb: use framebuffer_alloc() to allocate fb_info struct\n  ...\n\nManually fix up conflicts due to kmemcheck in mm/slab.c\n"
    },
    {
      "commit": "62bc62a873116805774ffd37d7f86aa4faa832b1",
      "tree": "7f3f5b94b2d484a13ca27b8d3f6f54cfe126d7c0",
      "parents": [
        "974709bdb2a34db378fc84140220f363f558d0d6"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "cl@linux-foundation.org",
        "time": "Tue Jun 16 15:32:15 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 16 19:47:35 2009 -0700"
      },
      "message": "page allocator: use a pre-calculated value instead of num_online_nodes() in fast paths\n\nnum_online_nodes() is called in a number of places but most often by the\npage allocator when deciding whether the zonelist needs to be filtered\nbased on cpusets or the zonelist cache.  This is actually a heavy function\nand touches a number of cache lines.\n\nThis patch stores the number of online nodes at boot time and updates the\nvalue when nodes get onlined and offlined.  The value is then used in a\nnumber of important paths in place of num_online_nodes().\n\n[rientjes@google.com: do not override definition of node_set_online() with macro]\nSigned-off-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nSigned-off-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: Dave Hansen \u003cdave@linux.vnet.ibm.com\u003e\nCc: Lee Schermerhorn \u003cLee.Schermerhorn@hp.com\u003e\nSigned-off-by: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "722f2a6c87f34ee0fd0130a8cf45f81e0705594a",
      "tree": "50b054df34d2731eb0ba0cf1a6c27e43e7eed428",
      "parents": [
        "7a0aeb14e18ad59394bd9bbc6e57fb345819e748",
        "45e3e1935e2857c54783291107d33323b3ef33c8"
      ],
      "author": {
        "name": "Vegard Nossum",
        "email": "vegard.nossum@gmail.com",
        "time": "Mon Jun 15 15:50:49 2009 +0200"
      },
      "committer": {
        "name": "Vegard Nossum",
        "email": "vegard.nossum@gmail.com",
        "time": "Mon Jun 15 15:50:49 2009 +0200"
      },
      "message": "Merge commit \u0027linus/master\u0027 into HEAD\n\nConflicts:\n\tMAINTAINERS\n\nSigned-off-by: Vegard Nossum \u003cvegard.nossum@gmail.com\u003e\n"
    },
    {
      "commit": "b1eeab67682a5e397aecf172046b3a8bd4808ae4",
      "tree": "c357b6ac1945dc8beecc2f8c4d84660ad8d35aae",
      "parents": [
        "9b5cab31897e9e89e36c0c2a89b16b93ff1a971a"
      ],
      "author": {
        "name": "Vegard Nossum",
        "email": "vegard.nossum@gmail.com",
        "time": "Tue Nov 25 16:55:53 2008 +0100"
      },
      "committer": {
        "name": "Vegard Nossum",
        "email": "vegard.nossum@gmail.com",
        "time": "Mon Jun 15 15:48:33 2009 +0200"
      },
      "message": "kmemcheck: add hooks for the page allocator\n\nThis adds support for tracking the initializedness of memory that\nwas allocated with the page allocator. Highmem requests are not\ntracked.\n\nCc: Dave Hansen \u003cdave@linux.vnet.ibm.com\u003e\nAcked-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\n\n[build fix for !CONFIG_KMEMCHECK]\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n\n[rebased for mainline inclusion]\nSigned-off-by: Vegard Nossum \u003cvegard.nossum@gmail.com\u003e\n"
    },
    {
      "commit": "964cf35c88f93b4927dbc4e950dfa4d880c7f9d1",
      "tree": "a5be2d66c2a53e9483007f7581bb5170f50d6ff7",
      "parents": [
        "45e3e1935e2857c54783291107d33323b3ef33c8"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Mon Jun 15 13:35:10 2009 +0300"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Mon Jun 15 13:55:26 2009 +0300"
      },
      "message": "SLUB: Fix early boot GFP_DMA allocations\n\nRecent change to use slab allocations earlier exposed a bug where\nSLUB can call schedule_work and try to call sysfs before it is\nsafe to do so.\n\nReported-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nTested-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\n"
    },
    {
      "commit": "5a896d9e7c921742d0437a452f991288f4dc2c42",
      "tree": "ea21c8fcfb4524ae5bfc68681920dd9a15b30795",
      "parents": [
        "d7002857dee6e9a3ce1f78d23f37caba106b29c5"
      ],
      "author": {
        "name": "Vegard Nossum",
        "email": "vegard.nossum@gmail.com",
        "time": "Fri Apr 04 00:54:48 2008 +0200"
      },
      "committer": {
        "name": "Vegard Nossum",
        "email": "vegard.nossum@gmail.com",
        "time": "Mon Jun 15 12:40:07 2009 +0200"
      },
      "message": "slub: add hooks for kmemcheck\n\nParts of this patch were contributed by Pekka Enberg but merged for\natomicity.\n\nCc: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Vegard Nossum \u003cvegardno@ifi.uio.no\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n\n[rebased for mainline inclusion]\nSigned-off-by: Vegard Nossum \u003cvegardno@ifi.uio.no\u003e\n"
    },
    {
      "commit": "95f8598931bd86a5775073db2fa2004b892dd3d0",
      "tree": "c315a6fb15b626c31c139519e099fec43a1bec2b",
      "parents": [
        "26c02cf05ddadfee3952e829b841583794bf46f6"
      ],
      "author": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Thu Jun 11 16:18:09 2009 +0300"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Sat Jun 13 23:37:38 2009 +0300"
      },
      "message": "SLUB: Don\u0027t print out OOM warning for __GFP_NOFAIL\n\nWe must check for __GFP_NOFAIL like the page allocator does; otherwise we end\nup with false positives. While at it, add the printk_ratelimit() check in SLUB\nas well.\n\nCc: Alexander Beregalov \u003ca.beregalov@gmail.com\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\n"
    },
    {
      "commit": "26c02cf05ddadfee3952e829b841583794bf46f6",
      "tree": "a0075e3eabc21470f2092b944714ef6581f2fff4",
      "parents": [
        "781b2ba6eb5f22440afac9c79a89ebd6e3674a60"
      ],
      "author": {
        "name": "Alexander Beregalov",
        "email": "a.beregalov@gmail.com",
        "time": "Thu Jun 11 14:08:48 2009 +0400"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Sat Jun 13 23:37:37 2009 +0300"
      },
      "message": "SLUB: fix build when !SLUB_DEBUG\n\nFix this build error when CONFIG_SLUB_DEBUG is not set:\nmm/slub.c: In function \u0027slab_out_of_memory\u0027:\nmm/slub.c:1551: error: \u0027struct kmem_cache_node\u0027 has no member named \u0027nr_slabs\u0027\nmm/slub.c:1552: error: \u0027struct kmem_cache_node\u0027 has no member named \u0027total_objects\u0027\n\n[ penberg@cs.helsinki.fi: cleanups ]\nSigned-off-by: Alexander Beregalov \u003ca.beregalov@gmail.com\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\n"
    },
    {
      "commit": "7e85ee0c1d15ca5f8bff0f514f158eba1742dd87",
      "tree": "8f9c21f0df6bea88740d7dd48834ac9ffc238e93",
      "parents": [
        "eb91f1d0a531289e18f5587dc197d12a251c66a3"
      ],
      "author": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Fri Jun 12 14:03:06 2009 +0300"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Fri Jun 12 18:53:33 2009 +0300"
      },
      "message": "slab,slub: don\u0027t enable interrupts during early boot\n\nAs explained by Benjamin Herrenschmidt:\n\n  Oh and btw, your patch alone doesn\u0027t fix powerpc, because it\u0027s missing\n  a whole bunch of GFP_KERNEL\u0027s in the arch code... You would have to\n  grep the entire kernel for things that check slab_is_available() and\n  even then you\u0027ll be missing some.\n\n  For example, slab_is_available() didn\u0027t always exist, and so in the\n  early days on powerpc, we used a mem_init_done global that is set form\n  mem_init() (not perfect but works in practice). And we still have code\n  using that to do the test.\n\nTherefore, mask out __GFP_WAIT, __GFP_IO, and __GFP_FS in the slab allocators\nin early boot code to avoid enabling interrupts.\n\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\n"
    },
    {
      "commit": "512626a04e72aca60effe111fa0333ed0b195d21",
      "tree": "c22e23b0dcc2dd2ff5a9a96a007de6799e9223de",
      "parents": [
        "8a1ca8cedd108c8e76a6ab34079d0bbb4f244799",
        "3aa27bbe7a6536d1ec859d3a97caf3319b5081b7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 11 14:15:57 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 11 14:15:57 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://linux-arm.org/linux-2.6\n\n* \u0027for-linus\u0027 of git://linux-arm.org/linux-2.6:\n  kmemleak: Add the corresponding MAINTAINERS entry\n  kmemleak: Simple testing module for kmemleak\n  kmemleak: Enable the building of the memory leak detector\n  kmemleak: Remove some of the kmemleak false positives\n  kmemleak: Add modules support\n  kmemleak: Add kmemleak_alloc callback from alloc_large_system_hash\n  kmemleak: Add the vmalloc memory allocation/freeing hooks\n  kmemleak: Add the slub memory allocation/freeing hooks\n  kmemleak: Add the slob memory allocation/freeing hooks\n  kmemleak: Add the slab memory allocation/freeing hooks\n  kmemleak: Add documentation on the memory leak detector\n  kmemleak: Add the base support\n\nManual conflict resolution (with the slab/earlyboot changes) in:\n\tdrivers/char/vt.c\n\tinit/main.c\n\tmm/slab.c\n"
    },
    {
      "commit": "83b519e8b9572c319c8e0c615ee5dd7272856090",
      "tree": "ecf130629f6228d509bb52c533ca2287f966f972",
      "parents": [
        "c91c4773b334d4d3a6d44626dc2a558ad97b86f3"
      ],
      "author": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Wed Jun 10 19:40:04 2009 +0300"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Thu Jun 11 19:15:56 2009 +0300"
      },
      "message": "slab: setup allocators earlier in the boot sequence\n\nThis patch makes kmalloc() available earlier in the boot sequence so we can get\nrid of some bootmem allocations. The bulk of the changes are due to\nkmem_cache_init() being called with interrupts disabled which requires some\nchanges to allocator boostrap code.\n\nNote: 32-bit x86 does WP protect test in mem_init() so we must setup traps\nbefore we call mem_init() during boot as reported by Ingo Molnar:\n\n  We have a hard crash in the WP-protect code:\n\n  [    0.000000] Checking if this processor honours the WP bit even in supervisor mode...BUG: Int 14: CR2 ffcff000\n  [    0.000000]      EDI 00000188  ESI 00000ac7  EBP c17eaf9c  ESP c17eaf8c\n  [    0.000000]      EBX 000014e0  EDX 0000000e  ECX 01856067  EAX 00000001\n  [    0.000000]      err 00000003  EIP c10135b1   CS 00000060  flg 00010002\n  [    0.000000] Stack: c17eafa8 c17fd410 c16747bc c17eafc4 c17fd7e5 000011fd f8616000 c18237cc\n  [    0.000000]        00099800 c17bb000 c17eafec c17f1668 000001c5 c17f1322 c166e039 c1822bf0\n  [    0.000000]        c166e033 c153a014 c18237cc 00020800 c17eaff8 c17f106a 00020800 01ba5003\n  [    0.000000] Pid: 0, comm: swapper Not tainted 2.6.30-tip-02161-g7a74539-dirty #52203\n  [    0.000000] Call Trace:\n  [    0.000000]  [\u003cc15357c2\u003e] ? printk+0x14/0x16\n  [    0.000000]  [\u003cc10135b1\u003e] ? do_test_wp_bit+0x19/0x23\n  [    0.000000]  [\u003cc17fd410\u003e] ? test_wp_bit+0x26/0x64\n  [    0.000000]  [\u003cc17fd7e5\u003e] ? mem_init+0x1ba/0x1d8\n  [    0.000000]  [\u003cc17f1668\u003e] ? start_kernel+0x164/0x2f7\n  [    0.000000]  [\u003cc17f1322\u003e] ? unknown_bootoption+0x0/0x19c\n  [    0.000000]  [\u003cc17f106a\u003e] ? __init_begin+0x6a/0x6f\n\nAcked-by: Johannes Weiner \u003channes@cmpxchg.org\u003e\nAcked-by Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Matt Mackall \u003cmpm@selenic.com\u003e\nCc: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: Yinghai Lu \u003cyinghai@kernel.org\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\n"
    },
    {
      "commit": "06f22f13f3cc2eff00db09f053218e5d4b757bc8",
      "tree": "ec913d87a0ed78912e22c78ce03d65f9ebd7061d",
      "parents": [
        "4374e616d28e65265a5b433ceece275449f3d2e3"
      ],
      "author": {
        "name": "Catalin Marinas",
        "email": "catalin.marinas@arm.com",
        "time": "Thu Jun 11 13:23:18 2009 +0100"
      },
      "committer": {
        "name": "Catalin Marinas",
        "email": "catalin.marinas@arm.com",
        "time": "Thu Jun 11 17:03:30 2009 +0100"
      },
      "message": "kmemleak: Add the slub memory allocation/freeing hooks\n\nThis patch adds the callbacks to kmemleak_(alloc|free) functions from the\nslub allocator.\n\nSigned-off-by: Catalin Marinas \u003ccatalin.marinas@arm.com\u003e\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nReviewed-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\n"
    }
  ],
  "next": "781b2ba6eb5f22440afac9c79a89ebd6e3674a60"
}
