)]}'
{
  "commit": "c98470c4f96480e34cd3907674dd246ff6f83867",
  "tree": "4294497746597a682037c5915113b5a15176fa22",
  "parents": [
    "e2f67e12bcc995869684c84e20c2cc3e35e9eda1"
  ],
  "author": {
    "name": "Glauber Costa",
    "email": "glommer@parallels.com",
    "time": "Mon Apr 16 13:54:27 2012 -0300"
  },
  "committer": {
    "name": "Glauber Costa",
    "email": "glommer@parallels.com",
    "time": "Tue Oct 23 14:46:55 2012 +0400"
  },
  "message": "sl[au]b: always get the cache from its page in kmem_cache_free\n\nstruct page already have this information. If we start chaining\ncaches, this information will always be more trustworthy than\nwhatever is passed into the function\n\nWith this patch, we are also modifying __kmem_cache_create\u0027s signature,\nso the slub doesn\u0027t need to derive the page pointer again (even though\nit should be cache-hot...)\n\n[ v3: added parent testing with VM_BUG_ON ]\n[ v4: make it faster when kmemcg not in use ]\n[ v6: move it to slab_common.c ]\n\nSigned-off-by: Glauber Costa \u003cglommer@parallels.com\u003e\nCC: Christoph Lameter \u003ccl@linux.com\u003e\nCC: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nCC: Christoph Lameter \u003ccl@linux.com\u003e\nCC: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nCC: Michal Hocko \u003cmhocko@suse.cz\u003e\nCC: Kamezawa Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCC: Johannes Weiner \u003channes@cmpxchg.org\u003e\nCC: Suleiman Souhlal \u003csuleiman@google.com\u003e\nCC: Tejun Heo \u003ctj@kernel.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "92fc47a112d0a21ded4a518a85e138c5ce1fd770",
      "old_mode": 33188,
      "old_path": "include/linux/memcontrol.h",
      "new_id": "f1ecb4f0ff02e0ef468fdbb0200f651a327cec1e",
      "new_mode": 33188,
      "new_path": "include/linux/memcontrol.h"
    },
    {
      "type": "modify",
      "old_id": "bceffccedca0c64694e5d5002c10d5a04ddf95c8",
      "old_mode": 33188,
      "old_path": "mm/slab.c",
      "new_id": "afaa272f0bec2aeb03f03f20ef7650ecdfa3e565",
      "new_mode": 33188,
      "new_path": "mm/slab.c"
    },
    {
      "type": "modify",
      "old_id": "da3692e26b440150bbabf31ec8431023cfc5fd96",
      "old_mode": 33188,
      "old_path": "mm/slab.h",
      "new_id": "be25a02f964055f630a0b99232f3cdfb67ffa065",
      "new_mode": 33188,
      "new_path": "mm/slab.h"
    },
    {
      "type": "modify",
      "old_id": "15803712b2c2f90b58f1c9f0269f5da66a0cc9ee",
      "old_mode": 33188,
      "old_path": "mm/slob.c",
      "new_id": "b1acd0beddb7c32f31aae3ae6b67ce9bca8bb0c9",
      "new_mode": 33188,
      "new_path": "mm/slob.c"
    },
    {
      "type": "modify",
      "old_id": "686555e85b03c720ab0933ab4190acff19fa8e78",
      "old_mode": 33188,
      "old_path": "mm/slub.c",
      "new_id": "9969b0cec6f828df2d56b8b7510b12929721abdf",
      "new_mode": 33188,
      "new_path": "mm/slub.c"
    }
  ]
}
