)]}'
{
  "commit": "d07dbea46405b37d59495eb4de9d1056dcfb7c6d",
  "tree": "221376c8c5509a88f8942246180685d5c01baf46",
  "parents": [
    "6cb8f91320d3e720351c21741da795fed580b21b"
  ],
  "author": {
    "name": "Christoph Lameter",
    "email": "clameter@sgi.com",
    "time": "Tue Jul 17 04:03:23 2007 -0700"
  },
  "committer": {
    "name": "Linus Torvalds",
    "email": "torvalds@woody.linux-foundation.org",
    "time": "Tue Jul 17 10:23:01 2007 -0700"
  },
  "message": "Slab allocators: support __GFP_ZERO in all allocators\n\nA kernel convention for many allocators is that if __GFP_ZERO is passed to an\nallocator then the allocated memory should be zeroed.\n\nThis is currently not supported by the slab allocators.  The inconsistency\nmakes it difficult to implement in derived allocators such as in the uncached\nallocator and the pool allocators.\n\nIn addition the support zeroed allocations in the slab allocators does not\nhave a consistent API.  There are no zeroing allocator functions for NUMA node\nplacement (kmalloc_node, kmem_cache_alloc_node).  The zeroing allocations are\nonly provided for default allocs (kzalloc, kmem_cache_zalloc_node).\n__GFP_ZERO will make zeroing universally available and does not require any\naddititional functions.\n\nSo add the necessary logic to all slab allocators to support __GFP_ZERO.\n\nThe code is added to the hot path.  The gfp flags are on the stack and so the\ncacheline is readily available for checking if we want a zeroed object.\n\nZeroing while allocating is now a frequent operation and we seem to be\ngradually approaching a 1-1 parity between zeroing and not zeroing allocs.\nThe current tree has 3476 uses of kmalloc vs 2731 uses of kzalloc.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nAcked-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "d2cd304fd8af8abe1027b789dac918337b85ff97",
      "old_mode": 33188,
      "old_path": "mm/slab.c",
      "new_id": "1a88fded7f19927f64f8eb55638512a9efe40547",
      "new_mode": 33188,
      "new_path": "mm/slab.c"
    },
    {
      "type": "modify",
      "old_id": "41d32c3c0be4d333d80c8d8afd6a4cfe658535a6",
      "old_mode": 33188,
      "old_path": "mm/slob.c",
      "new_id": "b3a45588fc46b2f246535b56d35c44945f1ebf91",
      "new_mode": 33188,
      "new_path": "mm/slob.c"
    },
    {
      "type": "modify",
      "old_id": "548d78df81e16adcd51138c43e00d714a980a39e",
      "old_mode": 33188,
      "old_path": "mm/slub.c",
      "new_id": "479eb5c019172854673ea1134f9a4f7434e301d9",
      "new_mode": 33188,
      "new_path": "mm/slub.c"
    }
  ]
}
