)]}'
{
  "log": [
    {
      "commit": "e7efa615ccf78394338144ff0187be331240748a",
      "tree": "7daaf9b4106ec8fb9e8e946a07fcc2b7cf901547",
      "parents": [
        "0f8f8094d28eb53368ac09186ea6b3a324cc7d44"
      ],
      "author": {
        "name": "Michael Opdenacker",
        "email": "michael.opdenacker@free-electrons.com",
        "time": "Tue Jun 25 18:16:55 2013 +0200"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@kernel.org",
        "time": "Sun Jul 07 19:02:59 2013 +0300"
      },
      "message": "slab: add kmalloc() to kernel API documentation\n\nAt the moment, kmalloc() isn\u0027t even listed in the kernel API\ndocumentation (DocBook/kernel-api.html after running \"make htmldocs\").\n\nAnother issue is that the documentation for kmalloc_node()\nrefers to kcalloc()\u0027s documentation to describe its \u0027flags\u0027 parameter,\nwhile kcalloc() refered to kmalloc()\u0027s documentation, which doesn\u0027t exist!\n\nThis patch is a proposed fix for this. It also removes the documentation\nfor kmalloc() in include/linux/slob_def.h which isn\u0027t included to\ngenerate the documentation anyway. This way, kmalloc() is described\nin only one place.\n\nAcked-by: Christoph Lameter \u003ccl@linux.com\u003e\nAcked-by: Randy Dunlap \u003crdunlap@infradead.org\u003e\nSigned-off-by: Michael Opdenacker \u003cmichael.opdenacker@free-electrons.com\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@kernel.org\u003e\n"
    },
    {
      "commit": "069e2b351de67e7a837b15b3d26c65c19b790cc3",
      "tree": "136808eeef17f3c81f634f485ea1fb79b85763a8",
      "parents": [
        "d0d04b78f403b0bcfe03315e16b50d196610720d"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "cl@linux.com",
        "time": "Fri Jun 14 19:55:13 2013 +0000"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@kernel.org",
        "time": "Tue Jun 18 18:34:43 2013 +0300"
      },
      "message": "slob: Rework #ifdeffery in slab.h\n\nMake the SLOB specific stuff harmonize more with the way the other allocators\ndo it. Create the typical kmalloc constants for that purpose. SLOB does not\nsupport it but the constants help us avoid #ifdefs.\n\nSigned-off-by: Christoph Lameter \u003ccl@linux.com\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@kernel.org\u003e\n"
    },
    {
      "commit": "c601fd6956e92b0eb268d4af754073c76155b99d",
      "tree": "98703cec4f2d969ea79520067babd17bedfa2222",
      "parents": [
        "ca34956b804b7554fc4e88826773380d9d5122a8"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "cl@linux.com",
        "time": "Tue Feb 05 16:36:47 2013 +0000"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@kernel.org",
        "time": "Wed Feb 06 20:32:13 2013 +0200"
      },
      "message": "slab: Handle ARCH_DMA_MINALIGN correctly\n\nJames Hogan hit boot problems in next-20130204 on Meta:\n\n  META213-Thread0 DSP [LogF] kobject (4fc03980): tried to init an initialized object, something is seriously wrong.\n  META213-Thread0 DSP [LogF]\n  META213-Thread0 DSP [LogF] Call trace:\n  META213-Thread0 DSP [LogF] [\u003c4000888c\u003e] _show_stack+0x68/0x7c\n  META213-Thread0 DSP [LogF] [\u003c400088b4\u003e] _dump_stack+0x14/0x28\n  META213-Thread0 DSP [LogF] [\u003c40103794\u003e] _kobject_init+0x58/0x9c\n  META213-Thread0 DSP [LogF] [\u003c40103810\u003e] _kobject_create+0x38/0x64\n  META213-Thread0 DSP [LogF] [\u003c40103eac\u003e] _kobject_create_and_add+0x14/0x8c\n  META213-Thread0 DSP [LogF] [\u003c40190ac4\u003e] _mnt_init+0xd8/0x220\n  META213-Thread0 DSP [LogF] [\u003c40190508\u003e] _vfs_caches_init+0xb0/0x160\n  META213-Thread0 DSP [LogF] [\u003c401851f4\u003e] _start_kernel+0x274/0x340\n  META213-Thread0 DSP [LogF] [\u003c40188424\u003e] _metag_start_kernel+0x58/0x6c\n  META213-Thread0 DSP [LogF] [\u003c40000044\u003e] __start+0x44/0x48\n  META213-Thread0 DSP [LogF]\n  META213-Thread0 DSP [LogF] devtmpfs: initialized\n  META213-Thread0 DSP [LogF] L2 Cache: Not present\n  META213-Thread0 DSP [LogF] BUG: failure at fs/sysfs/dir.c:736/sysfs_read_ns_type()!\n  META213-Thread0 DSP [LogF] Kernel panic - not syncing: BUG!\n  META213-Thread0 DSP [Thread Exit] Thread has exited - return code \u003d 4294967295\n\nAnd bisected the problem to commit 95a05b4 (\"slab: Common constants for\nkmalloc boundaries\").\n\nAs it turns out, a fixed KMALLOC_SHIFT_LOW does not work for arches with\nhigher alignment requirements.\n\nDetermine KMALLOC_SHIFT_LOW from ARCH_DMA_MINALIGN instead.\n\nReported-and-tested-by: James Hogan \u003cjames.hogan@imgtec.com\u003e\nSigned-off-by: Christoph Lameter \u003ccl@linux.com\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@kernel.org\u003e\n"
    },
    {
      "commit": "9425c58e5445277699ff3c2a87bac1cfebc1b48d",
      "tree": "1158c67347c53ed09cd289687abf02a5c986daee",
      "parents": [
        "95a05b428cc675694321c8f762591984f3fd2b1e"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "cl@linux.com",
        "time": "Thu Jan 10 19:12:17 2013 +0000"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@kernel.org",
        "time": "Fri Feb 01 12:32:07 2013 +0200"
      },
      "message": "slab: Common definition for the array of kmalloc caches\n\nHave a common definition fo the kmalloc cache arrays in\nSLAB and SLUB\n\nAcked-by: Glauber Costa \u003cglommer@parallels.com\u003e\nSigned-off-by: Christoph Lameter \u003ccl@linux.com\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@kernel.org\u003e\n"
    },
    {
      "commit": "95a05b428cc675694321c8f762591984f3fd2b1e",
      "tree": "3a74205955201dd5e1abb0a85104d95cafa49df6",
      "parents": [
        "6a67368c36e2c0c2578ba62f6264ab739af08cce"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "cl@linux.com",
        "time": "Thu Jan 10 19:14:19 2013 +0000"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@kernel.org",
        "time": "Fri Feb 01 12:32:07 2013 +0200"
      },
      "message": "slab: Common constants for kmalloc boundaries\n\nStandardize the constants that describe the smallest and largest\nobject kept in the kmalloc arrays for SLAB and SLUB.\n\nDifferentiate between the maximum size for which a slab cache is used\n(KMALLOC_MAX_CACHE_SIZE) and the maximum allocatable size\n(KMALLOC_MAX_SIZE, KMALLOC_MAX_ORDER).\n\nSigned-off-by: Christoph Lameter \u003ccl@linux.com\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@kernel.org\u003e\n"
    },
    {
      "commit": "ce6a50263d4ddeba1f0d08f16716a82770c03690",
      "tree": "099024fa474177d2e26709de76a211050ee9a4a1",
      "parents": [
        "345046673449b5c35840e5cc34a60059cbec9305"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "cl@linux.com",
        "time": "Thu Jan 10 19:14:19 2013 +0000"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@kernel.org",
        "time": "Fri Feb 01 12:32:05 2013 +0200"
      },
      "message": "slab: Common kmalloc slab index determination\n\nExtract the function to determine the index of the slab within\nthe array of kmalloc caches as well as a function to determine\nmaximum object size from the nr of the kmalloc slab.\n\nThis is used here only to simplify slub bootstrap but will\nbe used later also for SLAB.\n\nAcked-by: Glauber Costa \u003cglommer@parallels.com\u003e\nSigned-off-by: Christoph Lameter \u003ccl@linux.com\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@kernel.org\u003e\n"
    },
    {
      "commit": "345046673449b5c35840e5cc34a60059cbec9305",
      "tree": "2543b0f190fabaaf91b35a9c4f251735ae9ddb52",
      "parents": [
        "31ba7346f082f3468b8e06b45db475a6e25f01fc"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "cl@linux.com",
        "time": "Thu Jan 10 19:00:53 2013 +0000"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@kernel.org",
        "time": "Fri Feb 01 12:32:05 2013 +0200"
      },
      "message": "slab: Move kmalloc related function defs\n\nMove these functions higher up in slab.h so that they are grouped with other\ngeneric kmalloc related definitions.\n\nAcked-by: Glauber Costa \u003cglommer@parallels.com\u003e\nSigned-off-by: Christoph Lameter \u003ccl@linux.com\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@kernel.org\u003e\n"
    },
    {
      "commit": "943a451a87d229ca564a27274b58eaeae35fde5d",
      "tree": "607a0bc1aba3911602dec1448be2ace190b5c1eb",
      "parents": [
        "749c54151a6e5b229e4ae067dbc651e54b161fbc"
      ],
      "author": {
        "name": "Glauber Costa",
        "email": "glommer@parallels.com",
        "time": "Tue Dec 18 14:23:03 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 18 15:02:14 2012 -0800"
      },
      "message": "slab: propagate tunable values\n\nSLAB allows us to tune a particular cache behavior with tunables.  When\ncreating a new memcg cache copy, we\u0027d like to preserve any tunables the\nparent cache already had.\n\nThis could be done by an explicit call to do_tune_cpucache() after the\ncache is created.  But this is not very convenient now that the caches are\ncreated from common code, since this function is SLAB-specific.\n\nAnother method of doing that is taking advantage of the fact that\ndo_tune_cpucache() is always called from enable_cpucache(), which is\ncalled at cache initialization.  We can just preset the values, and then\nthings work as expected.\n\nIt can also happen that a root cache has its tunables updated during\nnormal system operation.  In this case, we will propagate the change to\nall caches that are already active.\n\nThis change will require us to move the assignment of root_cache in\nmemcg_params a bit earlier.  We need this to be already set - which\nmemcg_kmem_register_cache will do - when we reach __kmem_cache_create()\n\nSigned-off-by: Glauber Costa \u003cglommer@parallels.com\u003e\nCc: Christoph Lameter \u003ccl@linux.com\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@redhat.com\u003e\nCc: Greg Thelen \u003cgthelen@google.com\u003e\nCc: Johannes Weiner \u003channes@cmpxchg.org\u003e\nCc: JoonSoo Kim \u003cjs1304@gmail.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Michal Hocko \u003cmhocko@suse.cz\u003e\nCc: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nCc: Suleiman Souhlal \u003csuleiman@google.com\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "749c54151a6e5b229e4ae067dbc651e54b161fbc",
      "tree": "8d2d858e76e44d1bbf64439c189a57c18c8e60ae",
      "parents": [
        "22933152934f30de6f05b600c03f8a08f853a8d2"
      ],
      "author": {
        "name": "Glauber Costa",
        "email": "glommer@parallels.com",
        "time": "Tue Dec 18 14:23:01 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 18 15:02:14 2012 -0800"
      },
      "message": "memcg: aggregate memcg cache values in slabinfo\n\nWhen we create caches in memcgs, we need to display their usage\ninformation somewhere.  We\u0027ll adopt a scheme similar to /proc/meminfo,\nwith aggregate totals shown in the global file, and per-group information\nstored in the group itself.\n\nFor the time being, only reads are allowed in the per-group cache.\n\nSigned-off-by: Glauber Costa \u003cglommer@parallels.com\u003e\nCc: Christoph Lameter \u003ccl@linux.com\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@redhat.com\u003e\nCc: Greg Thelen \u003cgthelen@google.com\u003e\nCc: Johannes Weiner \u003channes@cmpxchg.org\u003e\nCc: JoonSoo Kim \u003cjs1304@gmail.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Michal Hocko \u003cmhocko@suse.cz\u003e\nCc: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nCc: Suleiman Souhlal \u003csuleiman@google.com\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1f458cbf122288b23620ee822e19bcbb76c8d6ec",
      "tree": "fa434b9ff6d6bdfd2daaf24fd7812cc975cba7b7",
      "parents": [
        "d79923fad95b0cdf7770e024677180c734cb7148"
      ],
      "author": {
        "name": "Glauber Costa",
        "email": "glommer@parallels.com",
        "time": "Tue Dec 18 14:22:50 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 18 15:02:14 2012 -0800"
      },
      "message": "memcg: destroy memcg caches\n\nImplement destruction of memcg caches.  Right now, only caches where our\nreference counter is the last remaining are deleted.  If there are any\nother reference counters around, we just leave the caches lying around\nuntil they go away.\n\nWhen that happens, a destruction function is called from the cache code.\nCaches are only destroyed in process context, so we queue them up for\nlater processing in the general case.\n\nSigned-off-by: Glauber Costa \u003cglommer@parallels.com\u003e\nCc: Christoph Lameter \u003ccl@linux.com\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@redhat.com\u003e\nCc: Greg Thelen \u003cgthelen@google.com\u003e\nCc: Johannes Weiner \u003channes@cmpxchg.org\u003e\nCc: JoonSoo Kim \u003cjs1304@gmail.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Michal Hocko \u003cmhocko@suse.cz\u003e\nCc: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nCc: Suleiman Souhlal \u003csuleiman@google.com\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2633d7a028239a738b793be5ca8fa6ac312f5793",
      "tree": "48a9f157b2c2a8218611aaade9667cacc2e018ec",
      "parents": [
        "6ccfb5bcf52bcf100fa085946f044fdbba015048"
      ],
      "author": {
        "name": "Glauber Costa",
        "email": "glommer@parallels.com",
        "time": "Tue Dec 18 14:22:34 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 18 15:02:13 2012 -0800"
      },
      "message": "slab/slub: consider a memcg parameter in kmem_create_cache\n\nAllow a memcg parameter to be passed during cache creation.  When the slub\nallocator is being used, it will only merge caches that belong to the same\nmemcg.  We\u0027ll do this by scanning the global list, and then translating\nthe cache to a memcg-specific cache\n\nDefault function is created as a wrapper, passing NULL to the memcg\nversion.  We only merge caches that belong to the same memcg.\n\nA helper is provided, memcg_css_id: because slub needs a unique cache name\nfor sysfs.  Since this is visible, but not the canonical location for slab\ndata, the cache name is not used, the css_id should suffice.\n\nSigned-off-by: Glauber Costa \u003cglommer@parallels.com\u003e\nCc: Christoph Lameter \u003ccl@linux.com\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@redhat.com\u003e\nCc: Greg Thelen \u003cgthelen@google.com\u003e\nCc: Johannes Weiner \u003channes@cmpxchg.org\u003e\nCc: JoonSoo Kim \u003cjs1304@gmail.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Michal Hocko \u003cmhocko@suse.cz\u003e\nCc: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nCc: Suleiman Souhlal \u003csuleiman@google.com\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ba6c496ed834a37a26fc6fc87fc9aecb0fa0014d",
      "tree": "cd229b78ca04817354865c9fdf57b564a6bf7852",
      "parents": [
        "d5bdae7d59451b9d63303f7794ef32bb76ba6330"
      ],
      "author": {
        "name": "Glauber Costa",
        "email": "glommer@parallels.com",
        "time": "Tue Dec 18 14:22:27 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 18 15:02:13 2012 -0800"
      },
      "message": "slab/slub: struct memcg_params\n\nFor the kmem slab controller, we need to record some extra information in\nthe kmem_cache structure.\n\nSigned-off-by: Glauber Costa \u003cglommer@parallels.com\u003e\nSigned-off-by: Suleiman Souhlal \u003csuleiman@google.com\u003e\nCc: Christoph Lameter \u003ccl@linux.com\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@redhat.com\u003e\nCc: Greg Thelen \u003cgthelen@google.com\u003e\nCc: Johannes Weiner \u003channes@cmpxchg.org\u003e\nCc: JoonSoo Kim \u003cjs1304@gmail.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Michal Hocko \u003cmhocko@suse.cz\u003e\nCc: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "242860a47a75b933a79a30f6a40bf4858f4a3ecc",
      "tree": "2c6c098274ea1a335ecc9292551eda693ccbead5",
      "parents": [
        "fe74fe2bf293d061826f0d7afc2ca8456bdbb40e"
      ],
      "author": {
        "name": "Ezequiel Garcia",
        "email": "elezegarcia@gmail.com",
        "time": "Fri Oct 19 09:33:12 2012 -0300"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@kernel.org",
        "time": "Wed Oct 31 08:52:15 2012 +0200"
      },
      "message": "mm/sl[aou]b: Move common kmem_cache_size() to slab.h\n\nThis function is identically defined in all three allocators\nand it\u0027s trivial to move it to slab.h\n\nSince now it\u0027s static, inline, header-defined function\nthis patch also drops the EXPORT_SYMBOL tag.\n\nCc: Pekka Enberg \u003cpenberg@kernel.org\u003e\nCc: Matt Mackall \u003cmpm@selenic.com\u003e\nAcked-by: Christoph Lameter \u003ccl@linux.com\u003e\nSigned-off-by: Ezequiel Garcia \u003celezegarcia@gmail.com\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@kernel.org\u003e\n"
    },
    {
      "commit": "f3f741019595f1e73564d985f5fe8abcbb98c769",
      "tree": "6a46da5eb60a8bd2bf6bdaf5804e40367b91048f",
      "parents": [
        "ff4fcd01ec86d98d15d2fd96f22f19bb1d341b88"
      ],
      "author": {
        "name": "Ezequiel Garcia",
        "email": "elezegarcia@gmail.com",
        "time": "Sat Sep 08 17:47:53 2012 -0300"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@kernel.org",
        "time": "Tue Sep 25 10:14:18 2012 +0300"
      },
      "message": "mm, slob: Add support for kmalloc_track_caller()\n\nCurrently slob falls back to regular kmalloc for this case.\nWith this patch kmalloc_track_caller() is correctly implemented,\nthus tracing the specified caller.\n\nThis is important to trace accurately allocations performed by\nkrealloc, kstrdup, kmemdup, etc.\n\nSigned-off-by: Ezequiel Garcia \u003celezegarcia@gmail.com\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@kernel.org\u003e\n"
    },
    {
      "commit": "97d06609158e61f6bdf538c4a6788e2de492236f",
      "tree": "fa3f57ff3e2d3f4f866d84dd9d634ade43941be8",
      "parents": [
        "039363f38bfe5f6281e9eae5e0518b11577d9d50"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "cl@linux.com",
        "time": "Fri Jul 06 15:25:11 2012 -0500"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@kernel.org",
        "time": "Mon Jul 09 12:13:35 2012 +0300"
      },
      "message": "mm, sl[aou]b: Common definition for boot state of the slab allocators\n\nAll allocators have some sort of support for the bootstrap status.\n\nSetup a common definition for the boot states and make all slab\nallocators use that definition.\n\nReviewed-by: Glauber Costa \u003cglommer@parallels.com\u003e\nReviewed-by: Joonsoo Kim \u003cjs1304@gmail.com\u003e\nSigned-off-by: Christoph Lameter \u003ccl@linux.com\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@kernel.org\u003e\n"
    },
    {
      "commit": "039363f38bfe5f6281e9eae5e0518b11577d9d50",
      "tree": "11aa16feccb68b035aa9e9f390a54e57fa2ffd83",
      "parents": [
        "068ce415bea9e2b96bde76dc1bf6e672a89903ee"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "cl@linux.com",
        "time": "Fri Jul 06 15:25:10 2012 -0500"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@kernel.org",
        "time": "Mon Jul 09 12:13:30 2012 +0300"
      },
      "message": "mm, sl[aou]b: Extract common code for kmem_cache_create()\n\nKmem_cache_create() does a variety of sanity checks but those\nvary depending on the allocator. Use the strictest tests and put them into\na slab_common file. Make the tests conditional on CONFIG_DEBUG_VM.\n\nThis patch has the effect of adding sanity checks for SLUB and SLOB\nunder CONFIG_DEBUG_VM and removes the checks in SLAB for !CONFIG_DEBUG_VM.\n\nSigned-off-by: Christoph Lameter \u003ccl@linux.com\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@kernel.org\u003e\n"
    },
    {
      "commit": "3b0efdfa1e719303536c04d9abca43abeb40f80a",
      "tree": "6a429eebb3febe5cc2101615ec7c7ea4d10fd97b",
      "parents": [
        "350260889b251821e770573dfd65cd851b4ef781"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "cl@linux.com",
        "time": "Wed Jun 13 10:24:57 2012 -0500"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@kernel.org",
        "time": "Thu Jun 14 09:20:16 2012 +0300"
      },
      "message": "mm, sl[aou]b: Extract common fields from struct kmem_cache\n\nDefine a struct that describes common fields used in all slab allocators.\nA slab allocator either uses the common definition (like SLOB) or is\nrequired to provide members of kmem_cache with the definition given.\n\nAfter that it will be possible to share code that\nonly operates on those fields of kmem_cache.\n\nThe patch basically takes the slob definition of kmem cache and\nuses the field namees for the other allocators.\n\nIt also standardizes the names used for basic object lengths in\nallocators:\n\nobject_size\tStruct size specified at kmem_cache_create. Basically\n\t\tthe payload expected to be used by the subsystem.\n\nsize\t\tThe size of memory allocator for each object. This size\n\t\tis larger than object_size and includes padding, alignment\n\t\tand extra metadata for each object (f.e. for debugging\n\t\tand rcu).\n\nSigned-off-by: Christoph Lameter \u003ccl@linux.com\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@kernel.org\u003e\n"
    },
    {
      "commit": "a3860c1c5dd1137db23d7786d284939c5761d517",
      "tree": "48d688c6c391ef45f79bdd60815450ca06c5cc1a",
      "parents": [
        "15837294d4ce717f69942f7366e99d4d1d3d9923"
      ],
      "author": {
        "name": "Xi Wang",
        "email": "xi.wang@gmail.com",
        "time": "Thu May 31 16:26:04 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 17:49:26 2012 -0700"
      },
      "message": "introduce SIZE_MAX\n\nULONG_MAX is often used to check for integer overflow when calculating\nallocation size.  While ULONG_MAX happens to work on most systems, there\nis no guarantee that `size_t\u0027 must be the same size as `long\u0027.\n\nThis patch introduces SIZE_MAX, the maximum value of `size_t\u0027, to improve\nportability and readability for allocation size validation.\n\nSigned-off-by: Xi Wang \u003cxi.wang@gmail.com\u003e\nAcked-by: Alex Elder \u003celder@dreamhost.com\u003e\nCc: David Airlie \u003cairlied@linux.ie\u003e\nCc: Pekka Enberg \u003cpenberg@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a8203725dfded5c1f79dca3368a4a273e24b59bb",
      "tree": "1b2111e72fc8ccd40a29c0898fe0df58d2204e1a",
      "parents": [
        "8028dcea8abbbd51b5156e40ea214c20b559cd01"
      ],
      "author": {
        "name": "Xi Wang",
        "email": "xi.wang@gmail.com",
        "time": "Mon Mar 05 15:14:41 2012 -0800"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@kernel.org",
        "time": "Tue Mar 06 11:01:33 2012 +0200"
      },
      "message": "slab: introduce kmalloc_array()\n\nIntroduce a kmalloc_array() wrapper that performs integer overflow\nchecking without zeroing the memory.\n\nSuggested-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSuggested-by: Jens Axboe \u003caxboe@kernel.dk\u003e\nSigned-off-by: Xi Wang \u003cxi.wang@gmail.com\u003e\nCc: Dan Carpenter \u003cdan.carpenter@oracle.com\u003e\nAcked-by: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@kernel.org\u003e\n"
    },
    {
      "commit": "90810645f78f894acfb04b3768e8a7d45f2b303a",
      "tree": "114dce690d2f74cdb347e68d1386c605cdeee093",
      "parents": [
        "3192b920bf7d0c528ab54e7d3689f44055316a37"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "cl@linux.com",
        "time": "Thu Jun 23 09:36:12 2011 -0500"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@kernel.org",
        "time": "Thu Jul 07 21:04:12 2011 +0300"
      },
      "message": "slab allocators: Provide generic description of alignment defines\n\nProvide description for alignment defines.\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": "3192b920bf7d0c528ab54e7d3689f44055316a37",
      "tree": "f907471f606a17cef0c1af4bc2187cdd4ee26c64",
      "parents": [
        "bd50cfa89153a67429935a15e577a5eb5f10dd1b"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "cl@linux.com",
        "time": "Tue Jun 14 16:16:36 2011 -0500"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@kernel.org",
        "time": "Thu Jun 16 19:40:20 2011 +0300"
      },
      "message": "slab, slub, slob: Unify alignment definition\n\nEvery slab has its on alignment definition in include/linux/sl?b_def.h. Extract those\nand define a common set in include/linux/slab.h.\n\nSLOB: As notes sometimes we need double word alignment on 32 bit. This gives all\nstructures allocated by SLOB a unsigned long long alignment like the others do.\n\nSLAB: If ARCH_SLAB_MINALIGN is not set SLAB would set ARCH_SLAB_MINALIGN to\nzero meaning no alignment at all. Give it the default unsigned long long alignment.\n\nSigned-off-by: Christoph Lameter \u003ccl@linux.com\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@kernel.org\u003e\n"
    },
    {
      "commit": "63310467a3d1ed6a0460ec1f4268126cd1ceec2e",
      "tree": "f5bf7e48fe119bffe1111b50767280c4af310505",
      "parents": [
        "1bae4ce27c9c90344f23c65ea6966c50ffeae2f5"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "cl@linux.com",
        "time": "Thu Jan 20 11:12:26 2011 -0600"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@kernel.org",
        "time": "Sun Jan 23 21:00:05 2011 +0200"
      },
      "message": "mm: Remove support for kmem_cache_name()\n\nThe last user was ext4 and Eric Sandeen removed the call in a recent patch. See\nthe following URL for the discussion:\n\nhttp://marc.info/?l\u003dlinux-ext4\u0026m\u003d129546975702198\u0026w\u003d2\n\nSigned-off-by: Christoph Lameter \u003ccl@linux.com\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@kernel.org\u003e\n"
    },
    {
      "commit": "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": "7adde04a2f5a798f04a556dfb3b69bff388e5dc4",
      "tree": "ea64a2536a8bbe91b34ab3f8f16a795d64429b85",
      "parents": [
        "7e27d6e778cd87b6f2415515d7127eba53fe5d02"
      ],
      "author": {
        "name": "Xiaotian Feng",
        "email": "dfeng@redhat.com",
        "time": "Wed Jun 30 17:57:22 2010 +0800"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Sun Jul 04 19:48:33 2010 +0300"
      },
      "message": "slab: fix caller tracking on !CONFIG_DEBUG_SLAB \u0026\u0026 CONFIG_TRACING\n\nIn slab, all __xxx_track_caller is defined on CONFIG_DEBUG_SLAB || CONFIG_TRACING,\nthus caller tracking function should be worked for CONFIG_TRACING. But if\nCONFIG_DEBUG_SLAB is not set, include/linux/slab.h will define xxx_track_caller to\n__xxx() without consideration of CONFIG_TRACING. This will break the caller tracking\nbehaviour then.\n\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Matt Mackall \u003cmpm@selenic.com\u003e\nCc: Vegard Nossum \u003cvegard.nossum@gmail.com\u003e\nCc: Dmitry Monakhov \u003cdmonakhov@openvz.org\u003e\nCc: Catalin Marinas \u003ccatalin.marinas@arm.com\u003e\nAcked-by: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Xiaotian Feng \u003cdfeng@redhat.com\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\n"
    },
    {
      "commit": "fc1c183353a113c71675fecd0485e5aa0fe68d72",
      "tree": "25fc50112c80402ab43bd86a3d6b6a99a0c3c128",
      "parents": [
        "4dc86ae1f925b2121d4e75058675895f83e54c71"
      ],
      "author": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Wed Apr 07 19:23:40 2010 +0300"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 09 10:09:50 2010 -0700"
      },
      "message": "slab: Generify kernel pointer validation\n\nAs suggested by Linus, introduce a kern_ptr_validate() helper that does some\nsanity checks to make sure a pointer is a valid kernel pointer.  This is a\npreparational step for fixing SLUB kmem_ptr_validate().\n\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Matt Mackall \u003cmpm@selenic.com\u003e\nCc: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "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": "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": "2dff440525f8faba8836e9f05297b76f23b4af30",
      "tree": "9f15e1dc2da06dba97cd939e41f34342caf05097",
      "parents": [
        "f85612967c93b67b10dd240e3e8bf8a0eee9def7"
      ],
      "author": {
        "name": "Vegard Nossum",
        "email": "vegard.nossum@gmail.com",
        "time": "Sat May 31 15:56:17 2008 +0200"
      },
      "committer": {
        "name": "Vegard Nossum",
        "email": "vegard.nossum@gmail.com",
        "time": "Mon Jun 15 12:40:03 2009 +0200"
      },
      "message": "kmemcheck: add mm functions\n\nWith kmemcheck enabled, the slab allocator needs to do this:\n\n1. Tell kmemcheck to allocate the shadow memory which stores the status of\n   each byte in the allocation proper, e.g. whether it is initialized or\n   uninitialized.\n2. Tell kmemcheck which parts of memory that should be marked uninitialized.\n   There are actually a few more states, such as \"not yet allocated\" and\n   \"recently freed\".\n\nIf a slab cache is set up using the SLAB_NOTRACK flag, it will never return\nmemory that can take page faults because of kmemcheck.\n\nIf a slab cache is NOT set up using the SLAB_NOTRACK flag, callers can still\nrequest memory with the __GFP_NOTRACK flag. This does not prevent the page\nfaults from occuring, however, but marks the object in question as being\ninitialized so that no warnings will ever be produced for this object.\n\nIn addition to (and in contrast to) __GFP_NOTRACK, the\n__GFP_NOTRACK_FALSE_POSITIVE flag indicates that the allocation should\nnot be tracked _because_ it would produce a false positive. Their values\nare identical, but need not be so in the future (for example, we could now\nenable/disable false positives with a config option).\n\nParts of this patch were contributed by Pekka Enberg but merged for\natomicity.\n\nSigned-off-by: Vegard Nossum \u003cvegard.nossum@gmail.com\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 \u003cvegard.nossum@gmail.com\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": "d5cff635290aec9ad7e6ee546aa4fae895361cbb",
      "tree": "172d99e0775a2e858d6cfa3ba0a197ecfdd03fce",
      "parents": [
        "04f70336c80c43a15e617b36c2043dfa0ad6ed0f"
      ],
      "author": {
        "name": "Catalin Marinas",
        "email": "catalin.marinas@arm.com",
        "time": "Thu Jun 11 13:22:40 2009 +0100"
      },
      "committer": {
        "name": "Catalin Marinas",
        "email": "catalin.marinas@arm.com",
        "time": "Thu Jun 11 17:03:29 2009 +0100"
      },
      "message": "kmemleak: Add the slab memory allocation/freeing hooks\n\nThis patch adds the callbacks to kmemleak_(alloc|free) functions from\nthe slab allocator. The patch also adds the SLAB_NOLEAKTRACE flag to\navoid recursive calls to kmemleak when it allocates its own data\nstructures.\n\nSigned-off-by: Catalin Marinas \u003ccatalin.marinas@arm.com\u003e\nReviewed-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\n"
    },
    {
      "commit": "3ef0e5ba467366125f04b423f4638baca54a4fc1",
      "tree": "cfe7b95c7b19b1d5b2a8534fa9791d6026e49dcd",
      "parents": [
        "d9190913b71831f5e3d04de62cfb1fd069a9db35"
      ],
      "author": {
        "name": "Johannes Weiner",
        "email": "hannes@cmpxchg.org",
        "time": "Fri Feb 20 15:38:41 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 20 17:57:48 2009 -0800"
      },
      "message": "slab: introduce kzfree()\n\nkzfree() is a wrapper for kfree() that additionally zeroes the underlying\nmemory before releasing it to the slab allocator.\n\nCurrently there is code which memset()s the memory region of an object\nbefore releasing it back to the slab allocator to make sure\nsecurity-sensitive data are really zeroed out after use.\n\nThese callsites can then just use kzfree() which saves some code, makes\nusers greppable and allows for a stupid destructor that isn\u0027t necessarily\naware of the actual object size.\n\nSigned-off-by: Johannes Weiner \u003channes@cmpxchg.org\u003e\nReviewed-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nCc: Matt Mackall \u003cmpm@selenic.com\u003e\nAcked-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "fd37617e69fb865348d012eb1413aef0141ae2de",
      "tree": "e4104ea40e7a6d8d4d24bf2f77943e609a646842",
      "parents": [
        "7b8f3b66d9d7e5f021ae535620b9b52833f4876e",
        "9f6c708e5cbf57ee31f6ddaa2cd0262087271b95",
        "249da166582801648432d0198be9407fb5ccf9f5"
      ],
      "author": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Mon Dec 29 11:45:47 2008 +0200"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Mon Dec 29 11:45:47 2008 +0200"
      },
      "message": "Merge branches \u0027topic/fixes\u0027, \u0027topic/cleanups\u0027 and \u0027topic/documentation\u0027 into for-linus\n"
    },
    {
      "commit": "dfcd3610289132a762b7dc0eaf33998262cd9e20",
      "tree": "c543eb2f5f1476607966fd2480e259a2d96423e5",
      "parents": [
        "8759ec50a6cad7ca5a6d63e657d25b85ab5ba44a"
      ],
      "author": {
        "name": "Pascal Terjan",
        "email": "pterjan@mandriva.com",
        "time": "Tue Nov 25 15:08:19 2008 +0100"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Mon Dec 29 11:40:56 2008 +0200"
      },
      "message": "slab: Fix comment on #endif\n\nThis #endif in slab.h is described as closing the inner block while it\u0027s for\nthe big CONFIG_NUMA one. That makes reading the code a bit harder.\n\nThis trivial patch fixes the comment.\n\nSigned-off-by: Pascal Terjan \u003cpterjan@mandriva.com\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\n"
    },
    {
      "commit": "ce71e27c6fdc43c29f36d307b9100bde70c947fc",
      "tree": "4c38611002eb3945835ed6bec78d6fb55118165a",
      "parents": [
        "210b5c06130f266370b5ff86e3cb6d860e1be29c"
      ],
      "author": {
        "name": "Eduard - Gabriel Munteanu",
        "email": "eduard.munteanu@linux360.ro",
        "time": "Tue Aug 19 20:43:25 2008 +0300"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Wed Nov 26 16:47:25 2008 +0200"
      },
      "message": "SLUB: Replace __builtin_return_address(0) with _RET_IP_.\n\nThis patch replaces __builtin_return_address(0) with _RET_IP_, since a\nprevious patch moved _RET_IP_ and _THIS_IP_ to include/linux/kernel.h and\nthey\u0027re widely available now. This makes for shorter and easier to read\ncode.\n\n[penberg@cs.helsinki.fi: remove _RET_IP_ casts to void pointer]\nSigned-off-by: Eduard - Gabriel Munteanu \u003ceduard.munteanu@linux360.ro\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\n"
    },
    {
      "commit": "d7de4c1dc3a2faca0bf05d9e342f885cb2696766",
      "tree": "c7ea498a84b9319443af8cafba5deb6602dfb3a5",
      "parents": [
        "02f5621042e3f7e2fb6c741cbe5ee7c1f3caf354"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Nov 13 20:40:12 2008 +0200"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Thu Nov 13 20:49:02 2008 +0200"
      },
      "message": "slab: document SLAB_DESTROY_BY_RCU\n\nExplain this SLAB_DESTROY_BY_RCU thing...\n\n[hugh@veritas.com: add a pointer to comment in mm/slab.c]\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nAcked-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nAcked-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\n"
    },
    {
      "commit": "7b3c3a50a3e0ea46815150d420fa276ac254572b",
      "tree": "a49118d99ae5bac99b660d8a44c20df2b15a7037",
      "parents": [
        "a0ec95a8e69792e4ad642daac037c9b01ea3e2cd"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Mon Oct 06 02:42:17 2008 +0400"
      },
      "committer": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Thu Oct 23 15:20:06 2008 +0400"
      },
      "message": "proc: move /proc/slabinfo boilerplate to mm/slub.c, mm/slab.c\n\nLose dummy -\u003ewrite hook in case of SLUB, it\u0027s possible now.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nAcked-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\n"
    },
    {
      "commit": "228428428138e231a155464239880201e5cc8b44",
      "tree": "89b437f5501d03ca36b717e232337426d0de77ca",
      "parents": [
        "78681ac08a611313595d13cafabae1183b71ef48",
        "6c3b8fc618905d7599dcc514c99ce4293d476f39"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jul 26 20:17:56 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jul 26 20:17:56 2008 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6:\n  netns: fix ip_rt_frag_needed rt_is_expired\n  netfilter: nf_conntrack_extend: avoid unnecessary \"ct-\u003eext\" dereferences\n  netfilter: fix double-free and use-after free\n  netfilter: arptables in netns for real\n  netfilter: ip{,6}tables_security: fix future section mismatch\n  selinux: use nf_register_hooks()\n  netfilter: ebtables: use nf_register_hooks()\n  Revert \"pkt_sched: sch_sfq: dump a real number of flows\"\n  qeth: use dev-\u003eml_priv instead of dev-\u003epriv\n  syncookies: Make sure ECN is disabled\n  net: drop unused BUG_TRAP()\n  net: convert BUG_TRAP to generic WARN_ON\n  drivers/net: convert BUG_TRAP to generic WARN_ON\n"
    },
    {
      "commit": "93bc4e89c260d91576840c4881d1066d84ccd422",
      "tree": "456176a054fc9a3fed18ac6ce50c7a34a86c5808",
      "parents": [
        "3918fed5f31213067c1c345bd904e1ea369e6819"
      ],
      "author": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Sat Jul 26 17:49:33 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 26 17:49:33 2008 -0700"
      },
      "message": "netfilter: fix double-free and use-after free\n\nAs suggested by Patrick McHardy, introduce a __krealloc() that doesn\u0027t\nfree the original buffer to fix a double-free and use-after-free bug\nintroduced by me in netfilter that uses RCU.\n\nReported-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nTested-by: Dieter Ries \u003cclip2@gmx.de\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "51cc50685a4275c6a02653670af9f108a64e01cf",
      "tree": "819d47bd2b0c8a9d1835d863853804b0a0242b97",
      "parents": [
        "d91958815d214ea365b98cbff6215383897edcb6"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Fri Jul 25 19:45:34 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jul 26 12:00:07 2008 -0700"
      },
      "message": "SL*B: drop kmem cache argument from constructor\n\nKmem cache passed to constructor is only needed for constructors that are\nthemselves multiplexeres.  Nobody uses this \"feature\", nor does anybody uses\npassed kmem cache in non-trivial way, so pass only pointer to object.\n\nNon-trivial places are:\n\tarch/powerpc/mm/init_64.c\n\tarch/powerpc/mm/hugetlbpage.c\n\nThis is flag day, yes.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nAcked-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nAcked-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Jon Tollefson \u003ckniht@linux.vnet.ibm.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: Matt Mackall \u003cmpm@selenic.com\u003e\n[akpm@linux-foundation.org: fix arch/powerpc/mm/hugetlbpage.c]\n[akpm@linux-foundation.org: fix mm/slab.c]\n[akpm@linux-foundation.org: fix ubifs]\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9ca908f47bc784c90e17a553ce33e756c73feac4",
      "tree": "2b6752e655484b1936ee1d410f272f9ff8b0305d",
      "parents": [
        "5c755e9fd813810680abd56ec09a5f90143e815b"
      ],
      "author": {
        "name": "Milton Miller",
        "email": "miltonm@bga.com",
        "time": "Wed Jul 23 21:28:20 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:21 2008 -0700"
      },
      "message": "kcalloc: remove runtime division\n\nWhile in all cases in the kernel we know the size of the elements to be\ncreated, we don\u0027t always know the count of elements.  By commuting the size\nand count in the overflow check, the compiler can reduce the runtime division\nof size_t with a compare to a (unique) constant in these cases.\n\nSigned-off-by: Milton Miller \u003cmiltonm@bga.com\u003e\nCc: Takashi Iwai \u003ctiwai@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cde53535991fbb5c34a1566f25955297c1487b8d",
      "tree": "4f87e67b52c8761cfc421a619379263733b91159",
      "parents": [
        "a926c063738f31c8c8b5c2b883812a40e7868072"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Fri Jul 04 09:59:22 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 04 10:40:04 2008 -0700"
      },
      "message": "Christoph has moved\n\nRemove all clameter@sgi.com addresses from the kernel tree since they will\nbecome invalid on June 27th.  Change my maintainer email address for the\nslab allocators to cl@linux-foundation.org (which will be the new email\naddress for the future).\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nCc: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nCc: Matt Mackall \u003cmpm@selenic.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "979b0fea2d9ae5d57237a368d571cbc84655fba6",
      "tree": "7881f99767cecba11351fdfc0ec06d46a92a6e23",
      "parents": [
        "ef421be741a3e56cb89088a7dd4f73cc38739d1b"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Thu Jun 05 22:47:00 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 06 11:29:14 2008 -0700"
      },
      "message": "vm: add kzalloc_node() inline\n\nTo get zeroed out memory from a particular NUMA node.  To be used by\nsunrpc.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nCc: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "735643ee6cc5249bfac07fcad0946a5e7aff4423",
      "tree": "e725df246f4a3cf88b6b42a28d859ab969acf81c",
      "parents": [
        "71cc2c2152170b8166f59abb0604dc62073aeb92"
      ],
      "author": {
        "name": "Robert P. J. Day",
        "email": "rpjday@crashcourse.ca",
        "time": "Wed Apr 30 00:55:12 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:54 2008 -0700"
      },
      "message": "Remove \"#ifdef __KERNEL__\" checks from unexported headers\n\nRemove the \"#ifdef __KERNEL__\" tests from unexported header files in\nlinux/include whose entire contents are wrapped in that preprocessor\ntest.\n\nSigned-off-by: Robert P. J. Day \u003crpjday@crashcourse.ca\u003e\nCc: David Woodhouse \u003cdwmw2@infradead.org\u003e\nCc: Sam Ravnborg \u003csam@ravnborg.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "30327acf7846c5eb97c8e31c78317a2918d3e515",
      "tree": "b4844dfd9cd85b9fc49c91b4b7e64eebac87167c",
      "parents": [
        "145980a0b07520f0f82cc40999acc92b349ea40c"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Apr 30 00:54:59 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:53 2008 -0700"
      },
      "message": "slab: add a flag to prevent debug_free checks on a kmem_cache\n\nThis is a preperatory patch for the debugobjects infrastructure.  The flag\nprevents debug_free checks on kmem_caches.  This is necessary to avoid\nresursive calls into a debug mechanism which uses a kmem_cache itself.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nCc: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "158a962422e4a54dc256b6a9b9562f3d30d34d9c",
      "tree": "21a71d7d671d12388f4b085e31b0258d1047f125",
      "parents": [
        "6b6adc22a01941165d5af9a3e69e28e948b28f47"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Jan 02 13:04:48 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Jan 02 13:04:48 2008 -0800"
      },
      "message": "Unify /proc/slabinfo configuration\n\nBoth SLUB and SLAB really did almost exactly the same thing for\n/proc/slabinfo setup, using duplicate code and per-allocator #ifdef\u0027s.\n\nThis just creates a common CONFIG_SLABINFO that is enabled by both SLUB\nand SLAB, and shares all the setup code.  Maybe SLOB will want this some\nday too.\n\nReviewed-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4ba9b9d0ba0a49d91fa6417c7510ee36f48cf957",
      "tree": "191b4f45f926e44b882b1e87a9a85dc12230b892",
      "parents": [
        "b811c202a0edadaac7242ab834fe7ba409978ae7"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Tue Oct 16 23:25:51 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Oct 17 08:42:45 2007 -0700"
      },
      "message": "Slab API: remove useless ctor parameter and reorder parameters\n\nSlab constructors currently have a flags parameter that is never used.  And\nthe order of the arguments is opposite to other slab functions.  The object\npointer is placed before the kmem_cache pointer.\n\nConvert\n\n        ctor(void *object, struct kmem_cache *s, unsigned long flags)\n\nto\n\n        ctor(struct kmem_cache *s, void *object)\n\nthroughout the kernel\n\n[akpm@linux-foundation.org: coupla fixes]\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e12ba74d8ff3e2f73a583500d7095e406df4d093",
      "tree": "a0d3385b65f0b3e1e00b0bbf11b75e7538a93edb",
      "parents": [
        "c361be55b3128474aa66d31092db330b07539103"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mel@csn.ul.ie",
        "time": "Tue Oct 16 01:25:52 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Oct 16 09:43:00 2007 -0700"
      },
      "message": "Group short-lived and reclaimable kernel allocations\n\nThis patch marks a number of allocations that are either short-lived such as\nnetwork buffers or are reclaimable such as inode allocations.  When something\nlike updatedb is called, long-lived and unmovable kernel allocations tend to\nbe spread throughout the address space which increases fragmentation.\n\nThis patch groups these allocations together as much as possible by adding a\nnew MIGRATE_TYPE.  The MIGRATE_RECLAIMABLE type is for allocations that can be\nreclaimed on demand, but not moved.  i.e.  they can be migrated by deleting\nthem and re-reading the information from elsewhere.\n\nSigned-off-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Andy Whitcroft \u003capw@shadowen.org\u003e\nCc: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1d4ec7b1d6f130818f9b62dea3411d9ee2ff6ff6",
      "tree": "72af58d37022ee66a210a1707a392897681f2781",
      "parents": [
        "efa7e8673c78cc6de2d6c367eb6f50449c57ed90"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "rdreier@cisco.com",
        "time": "Fri Jul 20 12:13:20 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Jul 20 12:33:44 2007 -0700"
      },
      "message": "Fix ZERO_OR_NULL_PTR(ZERO_SIZE_PTR)\n\nThe comparison with ZERO_SIZE_PTR in ZERO_OR_NULL_PTR() needs to be \u003c\u003d\n(not just \u003c) so that ZERO_OR_NULL_PTR(ZERO_SIZE_PTR) is 1.\n\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n[ Duh!  - Linus ]\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "20c2df83d25c6a95affe6157a4c9cac4cf5ffaac",
      "tree": "415c4453d2b17a50abe7a3e515177e1fa337bd67",
      "parents": [
        "64fb98fc40738ae1a98bcea9ca3145b89fb71524"
      ],
      "author": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Fri Jul 20 10:11:58 2007 +0900"
      },
      "committer": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Fri Jul 20 10:11:58 2007 +0900"
      },
      "message": "mm: Remove slab destructors from kmem_cache_create().\n\nSlab destructors were no longer supported after Christoph\u0027s\nc59def9f222d44bb7e2f0a559f2906191a0862d7 change. They\u0027ve been\nBUGs for both slab and slub, and slob never supported them\neither.\n\nThis rips out support for the dtor pointer from kmem_cache_create()\ncompletely and fixes up every single callsite in the kernel (there were\nabout 224, not including the slab allocator definitions themselves,\nor the documentation references).\n\nSigned-off-by: Paul Mundt \u003clethal@linux-sh.org\u003e\n"
    },
    {
      "commit": "81cda6626178cd55297831296ba8ecedbfd8b52d",
      "tree": "fa35a6a04db63080bbeb42f33f4b4a891b7fc96c",
      "parents": [
        "ce15fea8274acca06daa1674322d37a7d3f0036b"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Tue Jul 17 04:03:29 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 17 10:23:01 2007 -0700"
      },
      "message": "Slab allocators: Cleanup zeroing allocations\n\nIt becomes now easy to support the zeroing allocs with generic inline\nfunctions in slab.h.  Provide inline definitions to allow the continued use of\nkzalloc, kmem_cache_zalloc etc but remove other definitions of zeroing\nfunctions from the slab allocators and util.c.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6cb8f91320d3e720351c21741da795fed580b21b",
      "tree": "c9f73c8b82cd0f6c534939b8b9f36e8615b0ab2d",
      "parents": [
        "ef2ad80c7d255ed0449eda947c2d700635b7e0f5"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Tue Jul 17 04:03:22 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 17 10:23:01 2007 -0700"
      },
      "message": "Slab allocators: consistent ZERO_SIZE_PTR support and NULL result semantics\n\nDefine ZERO_OR_NULL_PTR macro to be able to remove the checks from the\nallocators.  Move ZERO_SIZE_PTR related stuff into slab.h.\n\nMake ZERO_SIZE_PTR work for all slab allocators and get rid of the\nWARN_ON_ONCE(size \u003d\u003d 0) that is still remaining in SLAB.\n\nMake slub return NULL like the other allocators if a too large memory segment\nis requested via __kmalloc.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nAcked-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6193a2ff180920f84ee06977165ebf32431fc2d2",
      "tree": "d3c6423c50463ea741080a58a2e654cf103431f3",
      "parents": [
        "f7977793240d836e60ff413e94e6914f08e10941"
      ],
      "author": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Sun Jul 15 23:38:22 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:36 2007 -0700"
      },
      "message": "slob: initial NUMA support\n\nThis adds preliminary NUMA support to SLOB, primarily aimed at systems with\nsmall nodes (tested all the way down to a 128kB SRAM block), whether\nasymmetric or otherwise.\n\nWe follow the same conventions as SLAB/SLUB, preferring current node\nplacement for new pages, or with explicit placement, if a node has been\nspecified.  Presently on UP NUMA this has the side-effect of preferring\nnode#0 allocations (since numa_node_id() \u003d\u003d 0, though this could be\nreworked if we could hand off a pfn to determine node placement), so\nsingle-CPU NUMA systems will want to place smaller nodes further out in\nterms of node id.  Once a page has been bound to a node (via explicit node\nid typing), we only do block allocations from partial free pages that have\na matching node id in the page flags.\n\nThe current implementation does have some scalability problems, in that all\npartial free pages are tracked in the global freelist (with contention due\nto the single spinlock).  However, these are things that are being reworked\nfor SMP scalability first, while things like per-node freelists can easily\nbe built on top of this sort of functionality once it\u0027s been added.\n\nMore background can be found in:\n\n\thttp://marc.info/?l\u003dlinux-mm\u0026m\u003d118117916022379\u0026w\u003d2\n\thttp://marc.info/?l\u003dlinux-mm\u0026m\u003d118170446306199\u0026w\u003d2\n\thttp://marc.info/?l\u003dlinux-mm\u0026m\u003d118187859420048\u0026w\u003d2\n\nand subsequent threads.\n\nAcked-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nAcked-by: Matt Mackall \u003cmpm@selenic.com\u003e\nSigned-off-by: Paul Mundt \u003clethal@linux-sh.org\u003e\nAcked-by: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "698827fa9f45019df1609bb686bc51c94e127fbc",
      "tree": "a9442084870358b53d27213483679dc90fa74a2a",
      "parents": [
        "1037b83bd04e31449dc9323f1e8ddada4264ef66"
      ],
      "author": {
        "name": "Robert P. J. Day",
        "email": "rpjday@mindspring.com",
        "time": "Sun Jul 15 23:38:06 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:35 2007 -0700"
      },
      "message": "Remove the deprecated \"kmem_cache_t\" typedef from slab.h.\n\nGiven that there is no remaining usage of the deprecated kmem_cache_t\ntypedef anywhere in the tree, remove that typedef.\n\nSigned-off-by: Robert P. J. Day \u003crpjday@mindspring.com\u003e\nAcked-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nAcked-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "debee0768ea1978c6efba03206a414685e4a9ed1",
      "tree": "76b257ca8ea66e596ffb0744fdb51f98dd044bed",
      "parents": [
        "71c42157904404a37f89fff3b2536c55115823a5"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Sat Jun 23 17:16:43 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Jun 24 08:59:12 2007 -0700"
      },
      "message": "slab allocators: MAX_ORDER one off fix\n\nMAX_ORDER is the first order that is not possible.\n\nUse MAX_ORDER - 1 to calculate the larges possible object size in slab.h\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0aa817f078b655d0ae36669169d73a5c8a388016",
      "tree": "140acc4d0dc992b4d20394f6a6412a7c1bb3a306",
      "parents": [
        "3ec0974210fe1b7c0618ad6e39a882a4237d7de2"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Wed May 16 22:11:01 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu May 17 05:23:04 2007 -0700"
      },
      "message": "Slab allocators: define common size limitations\n\nCurrently we have a maze of configuration variables that determine the\nmaximum slab size.  Worst of all it seems to vary between SLAB and SLUB.\n\nSo define a common maximum size for kmalloc.  For conveniences sake we use\nthe maximum size ever supported which is 32 MB.  We limit the maximum size\nto a lower limit if MAX_ORDER does not allow such large allocations.\n\nFor many architectures this patch will have the effect of adding large\nkmalloc sizes.  x86_64 adds 5 new kmalloc sizes.  So a small amount of\nmemory will be needed for these caches (contemporary SLAB has dynamically\nsizeable node and cpu structure so the waste is less than in the past)\n\nMost architectures will then be able to allocate object with sizes up to\nMAX_ORDER.  We have had repeated breakage (in fact whenever we doubled the\nnumber of supported processors) on IA64 because one or the other struct\ngrew beyond what the slab allocators supported.  This will avoid future\nissues and f.e.  avoid fixes for 2k and 4k cpu support.\n\nCONFIG_LARGE_ALLOCS is no longer necessary so drop it.\n\nIt fixes sparc64 with SLAB.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a35afb830f8d71ec211531aeb9a621b09a2efb39",
      "tree": "198280081e1f8b2f6c450742a5075cc7904a3d58",
      "parents": [
        "5577bd8a85c8b7643a241789b14fafa9c8a6c7db"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Wed May 16 22:10:57 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu May 17 05:23:04 2007 -0700"
      },
      "message": "Remove SLAB_CTOR_CONSTRUCTOR\n\nSLAB_CTOR_CONSTRUCTOR is always specified. No point in checking it.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nCc: Steven French \u003csfrench@us.ibm.com\u003e\nCc: Michael Halcrow \u003cmhalcrow@us.ibm.com\u003e\nCc: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\nCc: Miklos Szeredi \u003cmiklos@szeredi.hu\u003e\nCc: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e\nCc: David Woodhouse \u003cdwmw2@infradead.org\u003e\nCc: Dave Kleikamp \u003cshaggy@austin.ibm.com\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nCc: \"J. Bruce Fields\" \u003cbfields@fieldses.org\u003e\nCc: Anton Altaparmakov \u003caia21@cantab.net\u003e\nCc: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Jan Kara \u003cjack@ucw.cz\u003e\nCc: David Chinner \u003cdgc@sgi.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3ca12ee549f7837b8a685dddc9515f9fc28434ee",
      "tree": "30dcd051b8a08a6b529826ab6f449b15d62a0c12",
      "parents": [
        "9fbf09a09e8aa50c56e2c6dfacc27eff93ff4c93"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Wed May 16 22:10:52 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu May 17 05:23:03 2007 -0700"
      },
      "message": "SLAB: Move two remaining SLAB specific definitions to slab_def.h\n\nTwo definitions remained in slab.h that are particular to the SLAB allocator.\nMove to slab_def.h\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4f104934591ed98534b3a4c3d17d972b790e9c42",
      "tree": "149d7ba5ab6b9b7f8a82eb3ce41cb36f28bccaf9",
      "parents": [
        "50953fe9e00ebbeffa032a565ab2f08312d51a87"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Sun May 06 14:50:17 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:12:57 2007 -0700"
      },
      "message": "slab allocators: Remove SLAB_CTOR_ATOMIC\n\nSLAB_CTOR atomic is never used which is no surprise since I cannot imagine\nthat one would want to do something serious in a constructor or destructor.\n In particular given that the slab allocators run with interrupts disabled.\n Actions in constructors and destructors are by their nature very limited\nand usually do not go beyond initializing variables and list operations.\n\n(The i386 pgd ctor and dtors do take a spinlock in constructor and\ndestructor.....  I think that is the furthest we go at this point.)\n\nThere is no flag passed to the destructor so removing SLAB_CTOR_ATOMIC also\nestablishes a certain symmetry.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "50953fe9e00ebbeffa032a565ab2f08312d51a87",
      "tree": "9f95f56f0b51600959a76cd88ce17f6e9c7a98a3",
      "parents": [
        "4b1d89290b62bb2db476c94c82cf7442aab440c8"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Sun May 06 14:50:16 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:12:57 2007 -0700"
      },
      "message": "slab allocators: Remove SLAB_DEBUG_INITIAL flag\n\nI have never seen a use of SLAB_DEBUG_INITIAL.  It is only supported by\nSLAB.\n\nI think its purpose was to have a callback after an object has been freed\nto verify that the state is the constructor state again?  The callback is\nperformed before each freeing of an object.\n\nI would think that it is much easier to check the object state manually\nbefore the free.  That also places the check near the code object\nmanipulation of the object.\n\nAlso the SLAB_DEBUG_INITIAL callback is only performed if the kernel was\ncompiled with SLAB debugging on.  If there would be code in a constructor\nhandling SLAB_DEBUG_INITIAL then it would have to be conditional on\nSLAB_DEBUG otherwise it would just be dead code.  But there is no such code\nin the kernel.  I think SLUB_DEBUG_INITIAL is too problematic to make real\nuse of, difficult to understand and there are easier ways to accomplish the\nsame effect (i.e.  add debug code before kfree).\n\nThere is a related flag SLAB_CTOR_VERIFY that is frequently checked to be\nclear in fs inode caches.  Remove the pointless checks (they would even be\npointless without removeal of SLAB_DEBUG_INITIAL) from the fs constructors.\n\nThis is the last slab flag that SLUB did not support.  Remove the check for\nunimplemented flags from SLUB.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0a31bd5f2bbb6473ef9d24f0063ca91cfa678b64",
      "tree": "a945e829bf6bf7a93bf844b2ee9f2a3a2fa17c5d",
      "parents": [
        "5af60839909b8e3b28ca7cd7912fa0b23475617f"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Sun May 06 14:49:57 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:12:55 2007 -0700"
      },
      "message": "KMEM_CACHE(): simplify slab cache creation\n\nThis patch provides a new macro\n\nKMEM_CACHE(\u003cstruct\u003e, \u003cflags\u003e)\n\nto simplify slab creation. KMEM_CACHE creates a slab with the name of the\nstruct, with the size of the struct and with the alignment of the struct.\nAdditional slab flags may be specified if necessary.\n\nExample\n\nstruct test_slab {\n\tint a,b,c;\n\tstruct list_head;\n} __cacheline_aligned_in_smp;\n\ntest_slab_cache \u003d KMEM_CACHE(test_slab, SLAB_PANIC)\n\nwill create a new slab named \"test_slab\" of the size sizeof(struct\ntest_slab) and aligned to the alignment of test slab.  If it fails then we\npanic.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5af60839909b8e3b28ca7cd7912fa0b23475617f",
      "tree": "774b068673ad7bb6fc67d29339c9a07bf12a7789",
      "parents": [
        "96018fdacbfcaf6a0694d066b525f67c24025688"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Sun May 06 14:49:56 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:12:55 2007 -0700"
      },
      "message": "slab allocators: Remove obsolete SLAB_MUST_HWCACHE_ALIGN\n\nThis patch was recently posted to lkml and acked by Pekka.\n\nThe flag SLAB_MUST_HWCACHE_ALIGN is\n\n1. Never checked by SLAB at all.\n\n2. A duplicate of SLAB_HWCACHE_ALIGN for SLUB\n\n3. Fulfills the role of SLAB_HWCACHE_ALIGN for SLOB.\n\nThe only remaining use is in sparc64 and ppc64 and their use there\nreflects some earlier role that the slab flag once may have had. If\nits specified then SLAB_HWCACHE_ALIGN is also specified.\n\nThe flag is confusing, inconsistent and has no purpose.\n\nRemove it.\n\nAcked-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "81819f0fc8285a2a5a921c019e3e3d7b6169d225",
      "tree": "47e3da44d3ef6c74ceae6c3771b191b46467bb48",
      "parents": [
        "543691a6cd70b606dd9bed5e77b120c5d9c5c506"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Sun May 06 14:49:36 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:12:53 2007 -0700"
      },
      "message": "SLUB core\n\nThis is a new slab allocator which was motivated by the complexity of the\nexisting code in mm/slab.c. It attempts to address a variety of concerns\nwith the existing implementation.\n\nA. Management of object queues\n\n   A particular concern was the complex management of the numerous object\n   queues in SLAB. SLUB has no such queues. Instead we dedicate a slab for\n   each allocating CPU and use objects from a slab directly instead of\n   queueing them up.\n\nB. Storage overhead of object queues\n\n   SLAB Object queues exist per node, per CPU. The alien cache queue even\n   has a queue array that contain a queue for each processor on each\n   node. For very large systems the number of queues and the number of\n   objects that may be caught in those queues grows exponentially. On our\n   systems with 1k nodes / processors we have several gigabytes just tied up\n   for storing references to objects for those queues  This does not include\n   the objects that could be on those queues. One fears that the whole\n   memory of the machine could one day be consumed by those queues.\n\nC. SLAB meta data overhead\n\n   SLAB has overhead at the beginning of each slab. This means that data\n   cannot be naturally aligned at the beginning of a slab block. SLUB keeps\n   all meta data in the corresponding page_struct. Objects can be naturally\n   aligned in the slab. F.e. a 128 byte object will be aligned at 128 byte\n   boundaries and can fit tightly into a 4k page with no bytes left over.\n   SLAB cannot do this.\n\nD. SLAB has a complex cache reaper\n\n   SLUB does not need a cache reaper for UP systems. On SMP systems\n   the per CPU slab may be pushed back into partial list but that\n   operation is simple and does not require an iteration over a list\n   of objects. SLAB expires per CPU, shared and alien object queues\n   during cache reaping which may cause strange hold offs.\n\nE. SLAB has complex NUMA policy layer support\n\n   SLUB pushes NUMA policy handling into the page allocator. This means that\n   allocation is coarser (SLUB does interleave on a page level) but that\n   situation was also present before 2.6.13. SLABs application of\n   policies to individual slab objects allocated in SLAB is\n   certainly a performance concern due to the frequent references to\n   memory policies which may lead a sequence of objects to come from\n   one node after another. SLUB will get a slab full of objects\n   from one node and then will switch to the next.\n\nF. Reduction of the size of partial slab lists\n\n   SLAB has per node partial lists. This means that over time a large\n   number of partial slabs may accumulate on those lists. These can\n   only be reused if allocator occur on specific nodes. SLUB has a global\n   pool of partial slabs and will consume slabs from that pool to\n   decrease fragmentation.\n\nG. Tunables\n\n   SLAB has sophisticated tuning abilities for each slab cache. One can\n   manipulate the queue sizes in detail. However, filling the queues still\n   requires the uses of the spin lock to check out slabs. SLUB has a global\n   parameter (min_slab_order) for tuning. Increasing the minimum slab\n   order can decrease the locking overhead. The bigger the slab order the\n   less motions of pages between per CPU and partial lists occur and the\n   better SLUB will be scaling.\n\nG. Slab merging\n\n   We often have slab caches with similar parameters. SLUB detects those\n   on boot up and merges them into the corresponding general caches. This\n   leads to more effective memory use. About 50% of all caches can\n   be eliminated through slab merging. This will also decrease\n   slab fragmentation because partial allocated slabs can be filled\n   up again. Slab merging can be switched off by specifying\n   slub_nomerge on boot up.\n\n   Note that merging can expose heretofore unknown bugs in the kernel\n   because corrupted objects may now be placed differently and corrupt\n   differing neighboring objects. Enable sanity checks to find those.\n\nH. Diagnostics\n\n   The current slab diagnostics are difficult to use and require a\n   recompilation of the kernel. SLUB contains debugging code that\n   is always available (but is kept out of the hot code paths).\n   SLUB diagnostics can be enabled via the \"slab_debug\" option.\n   Parameters can be specified to select a single or a group of\n   slab caches for diagnostics. This means that the system is running\n   with the usual performance and it is much more likely that\n   race conditions can be reproduced.\n\nI. Resiliency\n\n   If basic sanity checks are on then SLUB is capable of detecting\n   common error conditions and recover as best as possible to allow the\n   system to continue.\n\nJ. Tracing\n\n   Tracing can be enabled via the slab_debug\u003dT,\u003cslabcache\u003e option\n   during boot. SLUB will then protocol all actions on that slabcache\n   and dump the object contents on free.\n\nK. On demand DMA cache creation.\n\n   Generally DMA caches are not needed. If a kmalloc is used with\n   __GFP_DMA then just create this single slabcache that is needed.\n   For systems that have no ZONE_DMA requirement the support is\n   completely eliminated.\n\nL. Performance increase\n\n   Some benchmarks have shown speed improvements on kernbench in the\n   range of 5-10%. The locking overhead of slub is based on the\n   underlying base allocation size. If we can reliably allocate\n   larger order pages then it is possible to increase slub\n   performance much further. The anti-fragmentation patches may\n   enable further performance increases.\n\nTested on:\ni386 UP + SMP, x86_64 UP + SMP + NUMA emulation, IA64 NUMA + Simulator\n\nSLUB Boot options\n\nslub_nomerge\t\tDisable merging of slabs\nslub_min_order\u003dx\tRequire a minimum order for slab caches. This\n\t\t\tincreases the managed chunk size and therefore\n\t\t\treduces meta data and locking overhead.\nslub_min_objects\u003dx\tMininum objects per slab. Default is 8.\nslub_max_order\u003dx\tAvoid generating slabs larger than order specified.\nslub_debug\t\tEnable all diagnostics for all caches\nslub_debug\u003d\u003coptions\u003e\tEnable selective options for all caches\nslub_debug\u003d\u003co\u003e,\u003ccache\u003e\tEnable selective options for a certain set of\n\t\t\tcaches\n\nAvailable Debug options\nF\t\tDouble Free checking, sanity and resiliency\nR\t\tRed zoning\nP\t\tObject / padding poisoning\nU\t\tTrack last free / alloc\nT\t\tTrace all allocs / frees (only use for individual slabs).\n\nTo use SLUB: Apply this patch and then select SLUB as the default slab\nallocator.\n\n[hugh@veritas.com: fix an oops-causing locking error]\n[akpm@linux-foundation.org: various stupid cleanups and small fixes]\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ac267728f13c55017ed5ee243c9c3166e27ab929",
      "tree": "d57e57c8bac716ccee49185b04c374ef1e163260",
      "parents": [
        "411f0f3edc141a582190d3605cadd1d993abb6df"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Sun May 06 14:49:12 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:12:52 2007 -0700"
      },
      "message": "mm/slab.c: proper prototypes\n\nAdd proper prototypes in include/linux/slab.h.\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "fd76bab2fa6d8f3ef6b326a4c6ae442fa21d30a4",
      "tree": "66f310ab9d7cdadfb79486700f1e01df7923ec14",
      "parents": [
        "e3ebadd95cb621e2c7436f3d3646447ac9d5c16d"
      ],
      "author": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Sun May 06 14:48:40 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:12:50 2007 -0700"
      },
      "message": "slab: introduce krealloc\n\nThis introduce krealloc() that reallocates memory while keeping the contents\nunchanged.  The allocator avoids reallocation if the new size fits the\ncurrently used cache.  I also added a simple non-optimized version for\nmm/slob.c for compatibility.\n\n[akpm@linux-foundation.org: fix warnings]\nAcked-by: Josef Sipek \u003cjsipek@fsl.cs.sunysb.edu\u003e\nAcked-by: Matt Mackall \u003cmpm@selenic.com\u003e\nAcked-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "55935a34a428a1497e3b37982e2782c09c6f914d",
      "tree": "270e68db0a0c8819986fd5150d942812a02d8f42",
      "parents": [
        "2e892f43ccb602e8ffad73396a1000f2040c9e0b"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Wed Dec 13 00:34:24 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Wed Dec 13 09:05:49 2006 -0800"
      },
      "message": "[PATCH] More slab.h cleanups\n\nMore cleanups for slab.h\n\n1. Remove tabs from weird locations as suggested by Pekka\n\n2. Drop the check for NUMA and SLAB_DEBUG from the fallback section\n   as suggested by Pekka.\n\n3. Uses static inline for the fallback defs as also suggested by Pekka.\n\n4. Make kmem_ptr_valid take a const * argument.\n\n5. Separate the NUMA fallback definitions from the kmalloc_track fallback\n   definitions.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "2e892f43ccb602e8ffad73396a1000f2040c9e0b",
      "tree": "2f799810eccebeb5d432daed93ed9654238887b6",
      "parents": [
        "872225ca77519a243d7e19270b062b0ac53418d8"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Wed Dec 13 00:34:23 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Wed Dec 13 09:05:49 2006 -0800"
      },
      "message": "[PATCH] Cleanup slab headers / API to allow easy addition of new slab allocators\n\nThis is a response to an earlier discussion on linux-mm about splitting\nslab.h components per allocator.  Patch is against 2.6.19-git11.  See\nhttp://marc.theaimsgroup.com/?l\u003dlinux-mm\u0026m\u003d116469577431008\u0026w\u003d2\n\nThis patch cleans up the slab header definitions.  We define the common\nfunctions of slob and slab in slab.h and put the extra definitions needed\nfor slab\u0027s kmalloc implementations in \u003clinux/slab_def.h\u003e.  In order to get\na greater set of common functions we add several empty functions to slob.c\nand also rename slob\u0027s kmalloc to __kmalloc.\n\nSlob does not need any special definitions since we introduce a fallback\ncase.  If there is no need for a slab implementation to provide its own\nkmalloc mess^H^H^Hacros then we simply fall back to __kmalloc functions.\nThat is sufficient for SLOB.\n\nSort the function in slab.h according to their functionality.  First the\nfunctions operating on struct kmem_cache * then the kmalloc related\nfunctions followed by special debug and fallback definitions.\n\nAlso redo a lot of comments.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e?\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1b1cec4bbc59feac89670d5d6d222a02545bac94",
      "tree": "5480d4f5e3bf9700d355adc02a90c9395fbcbd46",
      "parents": [
        "e18b890bb0881bbab6f4f1a6cd20d9c60d66b003"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Wed Dec 06 20:33:22 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:25 2006 -0800"
      },
      "message": "[PATCH] slab: deprecate kmem_cache_t\n\nCc: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "441e143e95f5aa1e04026cb0aa71c801ba53982f",
      "tree": "884855ea1fdaa65ebc885ffebc65ee3a26f8a78f",
      "parents": [
        "e94b1766097d53e6f3ccfb36c8baa562ffeda3fc"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Wed Dec 06 20:33:19 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:24 2006 -0800"
      },
      "message": "[PATCH] slab: remove SLAB_DMA\n\nSLAB_DMA is an alias of GFP_DMA. This is the last one so we\nremove the leftover comment too.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "e94b1766097d53e6f3ccfb36c8baa562ffeda3fc",
      "tree": "93fa0a8ab84976d4e89c50768ca8b8878d642a0d",
      "parents": [
        "54e6ecb23951b195d02433a741c7f7cb0b796c78"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Wed Dec 06 20:33:17 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:24 2006 -0800"
      },
      "message": "[PATCH] slab: remove SLAB_KERNEL\n\nSLAB_KERNEL is an alias of GFP_KERNEL.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "54e6ecb23951b195d02433a741c7f7cb0b796c78",
      "tree": "c8885c49f37c8d383945b8af69d51597494ed62c",
      "parents": [
        "f7267c0c0721fd02ad3dc37c3d6dd24ccd81d4d6"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Wed Dec 06 20:33:16 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:24 2006 -0800"
      },
      "message": "[PATCH] slab: remove SLAB_ATOMIC\n\nSLAB_ATOMIC is an alias of GFP_ATOMIC\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f7267c0c0721fd02ad3dc37c3d6dd24ccd81d4d6",
      "tree": "4bbc467e881f9dce909de3d9d9d27bb068a8a3b4",
      "parents": [
        "e6b4f8da3a88457148038bc952043e99a7fdba64"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Wed Dec 06 20:33:15 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:24 2006 -0800"
      },
      "message": "[PATCH] slab: remove SLAB_USER\n\nSLAB_USER is an alias of GFP_USER\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "e6b4f8da3a88457148038bc952043e99a7fdba64",
      "tree": "858c2a0e04b442395e7ecd0f60c8d2a3304b83e1",
      "parents": [
        "55acbda0965ca0a29b0ca276e7d17a55edc11d1b"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Wed Dec 06 20:33:14 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:23 2006 -0800"
      },
      "message": "[PATCH] slab: remove SLAB_NOFS\n\nSLAB_NOFS is an alias of GFP_NOFS.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "55acbda0965ca0a29b0ca276e7d17a55edc11d1b",
      "tree": "db2eb5d570999e3e04f24d1ad57f7544b58df395",
      "parents": [
        "a06d72c1dcbff015250df6ad9f0b1d18c02113bf"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Wed Dec 06 20:33:13 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:23 2006 -0800"
      },
      "message": "[PATCH] slab: remove SLAB_NOIO\n\nSLAB_NOIO is an alias of GFP_NOIO with a single instance of use.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "a06d72c1dcbff015250df6ad9f0b1d18c02113bf",
      "tree": "e3284c3fa53817481c05a1cf8033f85ad6c6a26b",
      "parents": [
        "6e0eaa4b05cf53ca5caa702fd2760a5b3376be69"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Wed Dec 06 20:33:12 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:23 2006 -0800"
      },
      "message": "[PATCH] slab: remove SLAB_LEVEL_MASK\n\nSLAB_LEVEL_MASK is only used internally to the slab and is\nand alias of GFP_LEVEL_MASK.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "6e0eaa4b05cf53ca5caa702fd2760a5b3376be69",
      "tree": "f79ade4f91bf4b5c9fd5ec9605ac925740b9a8a6",
      "parents": [
        "2d4d862f729f0cb1ad8027203aceff49dc9f63fa"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Wed Dec 06 20:33:10 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:23 2006 -0800"
      },
      "message": "[PATCH] slab: remove SLAB_NO_GROW\n\nIt is only used internally in the slab.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "ebe29738f3934ad6a93c8bd76e30aa5d797a269d",
      "tree": "bde287ec1b33aaeaa0941eeac6bdb677eec3feb3",
      "parents": [
        "b86c089b83b8ae2bc814db865057768a9ba787b5"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Wed Dec 06 20:32:59 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:23 2006 -0800"
      },
      "message": "[PATCH] Remove uses of kmem_cache_t from mm/* and include/linux/slab.h\n\nRemove all uses of kmem_cache_t (the most were left in slab.h).  The\ntypedef for kmem_cache_t is then only necessary for other kernel\nsubsystems.  Add a comment to that effect.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "b86c089b83b8ae2bc814db865057768a9ba787b5",
      "tree": "f5a838ca841c6f655ad25e73a0295c357b904ee4",
      "parents": [
        "aa362a83e78d2e9320da588805cf2a0b53356bc3"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Wed Dec 06 20:32:57 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:23 2006 -0800"
      },
      "message": "[PATCH] Move names_cachep to linux/fs.h\n\nThe names_cachep is used for getname() and putname().  So lets put it into\nfs.h near those two definitions.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "aa362a83e78d2e9320da588805cf2a0b53356bc3",
      "tree": "74851124298557f468fe6549b6eed06b410f7ddf",
      "parents": [
        "8b7d91eb7f6a3e8f0caaa613937bda5ab7dc7dc2"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Wed Dec 06 20:32:54 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:23 2006 -0800"
      },
      "message": "[PATCH] Move fs_cachep to linux/fs_struct.h\n\nfs_cachep is only used in kernel/exit.c and in kernel/fork.c.\n\nIt is used to store fs_struct items so it should be placed in linux/fs_struct.h\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "8b7d91eb7f6a3e8f0caaa613937bda5ab7dc7dc2",
      "tree": "8036dc7f0c05ec2712acfed92589bd41ed5766f9",
      "parents": [
        "5d6538fcf231faccb2ac42f92851d259d00e62f9"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Wed Dec 06 20:32:52 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:23 2006 -0800"
      },
      "message": "[PATCH] Move filep_cachep to include/file.h\n\nfilp_cachep is only used in fs/file_table.c and in fs/dcache.c where\nit is defined.\n\nMove it to related definitions in linux/file.h.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "5d6538fcf231faccb2ac42f92851d259d00e62f9",
      "tree": "6ccf2d0755d32d5049d365a7f30c13240030585f",
      "parents": [
        "c43692e85f306667545b91194c748a6e46c1f8b4"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Wed Dec 06 20:32:50 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:22 2006 -0800"
      },
      "message": "[PATCH] Move files_cachep to include/file.h\n\nProper place is in file.h since files_cachep uses are rated to file I/O.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "c43692e85f306667545b91194c748a6e46c1f8b4",
      "tree": "5a1a47c0ddeded4d4591befcd3176f50669cd322",
      "parents": [
        "298ec1e2ac85cecce3eddd167286359358c44d5d"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Wed Dec 06 20:32:48 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:22 2006 -0800"
      },
      "message": "[PATCH] Move vm_area_cachep to include/mm.h\n\nvm_area_cachep is used to store vm_area_structs. So move to mm.h.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "298ec1e2ac85cecce3eddd167286359358c44d5d",
      "tree": "36472ce09abe8bcb0dbdb56270abaf572594cb30",
      "parents": [
        "54cc211ce3fc73a9d21c6316886db0676beaca95"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Wed Dec 06 20:32:47 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:22 2006 -0800"
      },
      "message": "[PATCH] Move sighand_cachep to include/signal.h\n\nMove sighand_cachep definitioni to linux/signal.h\n\nThe sighand cache is only used in fs/exec.c and kernel/fork.c.  It is defined\nin kernel/fork.c but only used in fs/exec.c.\n\nThe sighand_cachep is related to signal processing.  So add the definition to\nsignal.h.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "54cc211ce3fc73a9d21c6316886db0676beaca95",
      "tree": "1b78720012a6f1b8764c2937791eb59b3add2ca0",
      "parents": [
        "e30500557eca09ddd340806ce44abf84d9115ab1"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Wed Dec 06 20:32:45 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:22 2006 -0800"
      },
      "message": "[PATCH] Remove bio_cachep from slab.h\n\nRemove bio_cachep from slab.h - it no longer exists.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "8b98c1699eba23cfd2e8b366625c50ff5fd1415b",
      "tree": "24462eaefeb4e2fa85e77d392a94a60316ad2349",
      "parents": [
        "881e4aabe4c6b3fce93674b67c6adc646fe2683b"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Wed Dec 06 20:32:30 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:22 2006 -0800"
      },
      "message": "[PATCH] leak tracking for kmalloc_node\n\nWe have variants of kmalloc and kmem_cache_alloc that leave leak tracking to\nthe caller.  This is used for subsystem-specific allocators like skb_alloc.\n\nTo make skb_alloc node-aware we need similar routines for the node-aware slab\nallocator, which this patch adds.\n\nNote that the code is rather ugly, but it mirrors the non-node-aware code 1:1:\n\n[akpm@osdl.org: add module export]\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1d2c8eea698514cfaa53fc991b960791d09508e1",
      "tree": "e6e2b2d491e7e7256862fcc493b81815cc966312",
      "parents": [
        "88ca3b94e82e763ef90c8e57cacd51a3c143ea62"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Wed Oct 04 02:15:25 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 04 07:55:13 2006 -0700"
      },
      "message": "[PATCH] slab: clean up leak tracking ifdefs a little bit\n\n- rename ____kmalloc to kmalloc_track_caller so that people have a chance\n  to guess what it does just from it\u0027s name.  Add a comment describing it\n  for those who don\u0027t.  Also move it after kmalloc in slab.h so people get\n  less confused when they are just looking for kmalloc - move things around\n  in slab.c a little to reduce the ifdef mess.\n\n[penberg@cs.helsinki.fi: Fix up reversed #ifdef]\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nCc: Christoph Lameter \u003cclameter@engr.sgi.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f30c2269544bffc7bf1b0d7c0abe5be1be83b8cb",
      "tree": "2f6140d8a555af6a133690ed6b42599e78a43c54",
      "parents": [
        "670e9f34ee3c7e052514c85014d2fdd99b672cdc"
      ],
      "author": {
        "name": "Uwe Zeisberger",
        "email": "Uwe_Zeisberger@digi.com",
        "time": "Tue Oct 03 23:01:26 2006 +0200"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Tue Oct 03 23:01:26 2006 +0200"
      },
      "message": "fix file specification in comments\n\nMany files include the filename at the beginning, serveral used a wrong one.\n\nSigned-off-by: Uwe Zeisberger \u003cUwe_Zeisberger@digi.com\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\n"
    },
    {
      "commit": "133d205a18b7a4d8cb52959c5310f6664277cf61",
      "tree": "be3056dedc3190d06647a07425e8fcdcce5da868",
      "parents": [
        "1a1d92c10dd24bbdc28b3d6e2d03ec199dd3a65b"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Wed Sep 27 01:49:41 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Sep 27 08:26:11 2006 -0700"
      },
      "message": "[PATCH] Make kmem_cache_destroy() return void\n\nun-, de-, -free, -destroy, -exit, etc functions should in general return\nvoid.  Also,\n\nThere is very little, say, filesystem driver code can do upon failed\nkmem_cache_destroy().  If it will be decided to BUG in this case, BUG\nshould be put in generic code, instead.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "972d1a7b140569084439a81265a0f15b74e924e0",
      "tree": "e86e676e407503ef3d98020a88bb925235f11434",
      "parents": [
        "8417bba4b151346ed475fcc923693c9e3be89063"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Mon Sep 25 23:31:51 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Sep 26 08:48:51 2006 -0700"
      },
      "message": "[PATCH] ZVC: Support NR_SLAB_RECLAIMABLE / NR_SLAB_UNRECLAIMABLE\n\nRemove the atomic counter for slab_reclaim_pages and replace the counter\nand NR_SLAB with two ZVC counter that account for unreclaimable and\nreclaimable slab pages: NR_SLAB_RECLAIMABLE and NR_SLAB_UNRECLAIMABLE.\n\nChange the check in vmscan.c to refer to to NR_SLAB_RECLAIMABLE.  The\nintend seems to be to check for slab pages that could be freed.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "dbe5e69d2d6e591996ea2b817b887d03b60bb143",
      "tree": "09e21f2e0da60faef982d02a9224e62c409e776a",
      "parents": [
        "da6052f7b33abe55fbfd7d2213815f58c00a88d4"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Mon Sep 25 23:31:36 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Sep 26 08:48:49 2006 -0700"
      },
      "message": "[PATCH] slab: optimize kmalloc_node the same way as kmalloc\n\n[akpm@osdl.org: export fix]\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nAcked-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "b221385bc41d6789edde3d2fa0cb20d5045730eb",
      "tree": "93f3317247d587fd011eb9d77cd73a49670d8d5f",
      "parents": [
        "204ec841fbea3e5138168edbc3a76d46747cc987"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Mon Sep 25 23:31:02 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Sep 26 08:48:45 2006 -0700"
      },
      "message": "[PATCH] mm/: make functions static\n\nThis patch makes the following needlessly global functions static:\n - slab.c: kmem_find_general_cachep()\n - swap.c: __page_cache_release()\n - vmalloc.c: __vmalloc_node()\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "800590f523bf3bde9fa6c8e4d6763e4bf6a2c8ec",
      "tree": "0afbccc4b3648633da42d2c4b79cdb8f756804fd",
      "parents": [
        "5a4d43615921575b0c8299a5407ce4836e4138fd"
      ],
      "author": {
        "name": "Paul Drynoff",
        "email": "pauldrynoff@gmail.com",
        "time": "Fri Jun 23 02:03:48 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 23 07:42:52 2006 -0700"
      },
      "message": "[PATCH] slab: kmalloc, kzalloc comments cleanup and fix\n\n- Move comments for kmalloc to right place, currently it near __do_kmalloc\n\n- Comments for kzalloc\n\n- More detailed comments for kmalloc\n\n- Appearance of \"kmalloc\" and \"kzalloc\" man pages after \"make mandocs\"\n\n[rdunlap@xenotime.net: simplification]\nSigned-off-by: Paul Drynoff \u003cpauldrynoff@gmail.com\u003e\nAcked-by: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nCc: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nCc: Manfred Spraul \u003cmanfred@colorfullife.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "66643de455c27973ac31ad6de9f859d399916842",
      "tree": "7ebed7f051879007d4b11d6aaa9e65a1bcb0b08f",
      "parents": [
        "2c23d62abb820e19c54012520f08a198c2233a85",
        "387e2b0439026aa738a9edca15a57e5c0bcb4dfc"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Wed May 24 09:22:21 2006 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Wed May 24 09:22:21 2006 +0100"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6\n\nConflicts:\n\n\tinclude/asm-powerpc/unistd.h\n\tinclude/asm-sparc/unistd.h\n\tinclude/asm-sparc64/unistd.h\n\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\n"
    },
    {
      "commit": "39d24e64263cd3211705d3b61ea4171c65030921",
      "tree": "b527b1395b070180b7f930c0a89530f11bce7b3c",
      "parents": [
        "48564e628bd7662d7a0b3ac81c41cd0e4cc36dae"
      ],
      "author": {
        "name": "Mike Kravetz",
        "email": "kravetz@us.ibm.com",
        "time": "Mon May 15 09:44:13 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon May 15 11:20:56 2006 -0700"
      },
      "message": "[PATCH] add slab_is_available() routine for boot code\n\nslab_is_available() indicates slab based allocators are available for use.\nSPARSEMEM code needs to know this as it can be called at various times\nduring the boot process.\n\nSigned-off-by: Mike Kravetz \u003ckravetz@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "62c4f0a2d5a188f73a94f2cb8ea0dba3e7cf0a7f",
      "tree": "e85ca2d0dd43f90dccf758338764c3caa55f333f",
      "parents": [
        "089f26d5e31b7bf42a9a8fefec08b30cd27f4b0e"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Wed Apr 26 12:56:16 2006 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Wed Apr 26 12:56:16 2006 +0100"
      },
      "message": "Don\u0027t include linux/config.h from anywhere else in include/\n\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\n"
    },
    {
      "commit": "6b3934ef52712ece50605dfc72e55d00c580831a",
      "tree": "5ec3c4f69a20880f75de6ff8d7d2f67d96328df3",
      "parents": [
        "7001510d0cbf51ad202dd2d0744f54104285cbb9"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Tue Mar 28 16:11:16 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Mar 28 18:36:42 2006 -0800"
      },
      "message": "[PATCH] copy_process: cleanup bad_fork_cleanup_signal\n\n__exit_signal() does important cleanups atomically under -\u003esiglock.  It is\nalso called from copy_process\u0027s error path.  This is not good, for example we\ncan\u0027t move __unhash_process() under -\u003esiglock for that reason.\n\nWe should not mix these 2 paths, just look at ugly \u0027if (p-\u003esighand)\u0027 under\n\u0027bad_fork_cleanup_sighand:\u0027 label.  For copy_process() case it is sufficient\nto just backout copy_signal(), nothing more.\n\nAgain, nobody can see this task yet.  For CLONE_THREAD case we just decrement\nsignal-\u003ecount, otherwise nobody can see this -\u003esignal and we can free it\nlockless.\n\nThis patch assumes it is safe to do exit_thread_group_keys() without\ntasklist_lock.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nAcked-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "40c07ae8daa659b8feb149c84731629386873c16",
      "tree": "77d9e7572135de30f184103cc6dd36f9c0f8dfbf",
      "parents": [
        "a8c0f9a41f88da703ade33f9c1626a55c786e8bb"
      ],
      "author": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Sat Mar 25 03:06:43 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Mar 25 08:22:49 2006 -0800"
      },
      "message": "[PATCH] slab: optimize constant-size kzalloc calls\n\nAs suggested by Eric Dumazet, optimize kzalloc() calls that pass a\ncompile-time constant size.  Please note that the patch increases kernel\ntext slightly (~200 bytes for defconfig on x86).\n\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "a8c0f9a41f88da703ade33f9c1626a55c786e8bb",
      "tree": "8c2904597c61b873bfd85eed4ac196dd66e6f125",
      "parents": [
        "871751e25d956ad24f129ca972b7851feaa61d53"
      ],
      "author": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Sat Mar 25 03:06:42 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Mar 25 08:22:49 2006 -0800"
      },
      "message": "[PATCH] slab: introduce kmem_cache_zalloc allocator\n\nIntroduce a memory-zeroing variant of kmem_cache_alloc.  The allocator\nalready exits in XFS and there are potential users for it so this patch\nmakes the allocator available for the general public.\n\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "871751e25d956ad24f129ca972b7851feaa61d53",
      "tree": "c3213a17481f601339ce0c81a22eebca0946c2c7",
      "parents": [
        "f52ac8fec8a13e207f675b0c16e0d5f800c1c204"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Mar 25 03:06:39 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Mar 25 08:22:49 2006 -0800"
      },
      "message": "[PATCH] slab: implement /proc/slab_allocators\n\nImplement /proc/slab_allocators.   It produces output like:\n\nidr_layer_cache: 80 idr_pre_get+0x33/0x4e\nbuffer_head: 2555 alloc_buffer_head+0x20/0x75\nmm_struct: 9 mm_alloc+0x1e/0x42\nmm_struct: 20 dup_mm+0x36/0x370\nvm_area_struct: 384 dup_mm+0x18f/0x370\nvm_area_struct: 151 do_mmap_pgoff+0x2e0/0x7c3\nvm_area_struct: 1 split_vma+0x5a/0x10e\nvm_area_struct: 11 do_brk+0x206/0x2e2\nvm_area_struct: 2 copy_vma+0xda/0x142\nvm_area_struct: 9 setup_arg_pages+0x99/0x214\nfs_cache: 8 copy_fs_struct+0x21/0x133\nfs_cache: 29 copy_process+0xf38/0x10e3\nfiles_cache: 30 alloc_files+0x1b/0xcf\nsignal_cache: 81 copy_process+0xbaa/0x10e3\nsighand_cache: 77 copy_process+0xe65/0x10e3\nsighand_cache: 1 de_thread+0x4d/0x5f8\nanon_vma: 241 anon_vma_prepare+0xd9/0xf3\nsize-2048: 1 add_sect_attrs+0x5f/0x145\nsize-2048: 2 journal_init_revoke+0x99/0x302\nsize-2048: 2 journal_init_revoke+0x137/0x302\nsize-2048: 2 journal_init_inode+0xf9/0x1c4\n\nCc: Manfred Spraul \u003cmanfred@colorfullife.com\u003e\nCc: Alexander Nyberg \u003calexn@telia.com\u003e\nCc: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nCc: Christoph Lameter \u003cclameter@engr.sgi.com\u003e\nCc: Ravikiran Thirumalai \u003ckiran@scalex86.org\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nDESC\nslab-leaks3-locking-fix\nEDESC\nFrom: Andrew Morton \u003cakpm@osdl.org\u003e\n\nUpdate for slab-remove-cachep-spinlock.patch\n\nCc: Al Viro \u003cviro@ftp.linux.org.uk\u003e\nCc: Manfred Spraul \u003cmanfred@colorfullife.com\u003e\nCc: Alexander Nyberg \u003calexn@telia.com\u003e\nCc: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nCc: Christoph Lameter \u003cclameter@engr.sgi.com\u003e\nCc: Ravikiran Thirumalai \u003ckiran@scalex86.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "101a50019ae5e370d73984ee05d56dd3b08f330a",
      "tree": "f5628837d4bb68a4109dfb8d6601f95b630848c3",
      "parents": [
        "fffb60f93ce5880aade88e01d7133b52a4879710"
      ],
      "author": {
        "name": "Paul Jackson",
        "email": "pj@sgi.com",
        "time": "Fri Mar 24 03:16:07 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 24 07:33:23 2006 -0800"
      },
      "message": "[PATCH] cpuset memory spread slab cache implementation\n\nProvide the slab cache infrastructure to support cpuset memory spreading.\n\nSee the previous patches, cpuset_mem_spread, for an explanation of cpuset\nmemory spreading.\n\nThis patch provides a slab cache SLAB_MEM_SPREAD flag.  If set in the\nkmem_cache_create() call defining a slab cache, then any task marked with the\nprocess state flag PF_MEMSPREAD will spread memory page allocations for that\ncache over all the allowed nodes, instead of preferring the local (faulting)\nnode.\n\nOn systems not configured with CONFIG_NUMA, this results in no change to the\npage allocation code path for slab caches.\n\nOn systems with cpusets configured in the kernel, but the \"memory_spread\"\ncpuset option not enabled for the current tasks cpuset, this adds a call to a\ncpuset routine and failed bit test of the processor state flag PF_SPREAD_SLAB.\n\nFor tasks so marked, a second inline test is done for the slab cache flag\nSLAB_MEM_SPREAD, and if that is set and if the allocation is not\nin_interrupt(), this adds a call to to a cpuset routine that computes which of\nthe tasks mems_allowed nodes should be preferred for this allocation.\n\n\u003d\u003d\u003e This patch adds another hook into the performance critical\n    code path to allocating objects from the slab cache, in the\n    ____cache_alloc() chunk, below.  The next patch optimizes this\n    hook, reducing the impact of the combined mempolicy plus memory\n    spreading hooks on this critical code path to a single check\n    against the tasks task_struct flags word.\n\nThis patch provides the generic slab flags and logic needed to apply memory\nspreading to a particular slab.\n\nA subsequent patch will mark a few specific slab caches for this placement\npolicy.\n\nSigned-off-by: Paul Jackson \u003cpj@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "ac2b898ca6fb06196a26869c23b66afe7944e52e",
      "tree": "e82e7bebd89b02813ce23f76fec4aeb5626da655",
      "parents": [
        "911851e6ee6ac4e26f07be342a89632f78494fef"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@engr.sgi.com",
        "time": "Wed Mar 22 00:08:15 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Mar 22 07:53:59 2006 -0800"
      },
      "message": "[PATCH] slab: Remove SLAB_NO_REAP option\n\nSLAB_NO_REAP is documented as an option that will cause this slab not to be\nreaped under memory pressure.  However, that is not what happens.  The only\nthing that SLAB_NO_REAP controls at the moment is the reclaim of the unused\nslab elements that were allocated in batch in cache_reap().  Cache_reap()\nis run every few seconds independently of memory pressure.\n\nCould we remove the whole thing?  Its only used by three slabs anyways and\nI cannot find a reason for having this option.\n\nThere is an additional problem with SLAB_NO_REAP.  If set then the recovery\nof objects from alien caches is switched off.  Objects not freed on the\nsame node where they were initially allocated will only be reused if a\ncertain amount of objects accumulates from one alien node (not very likely)\nor if the cache is explicitly shrunk.  (Strangely __cache_shrink does not\ncheck for SLAB_NO_REAP)\n\nGetting rid of SLAB_NO_REAP fixes the problems with alien cache freeing.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nCc: Manfred Spraul \u003cmanfred@colorfullife.com\u003e\nCc: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    }
  ],
  "next": "b50ec7d8070ae7a39fe78e65a8812bbc3ca2f7ac"
}
