)]}'
{
  "commit": "9473eb857404be2f196b735a02ece68d514809ff",
  "tree": "5d501aa83869f533c92addd23233eb274f7fb36a",
  "parents": [
    "be5707e19ee2ae0bb7f39e5be1501fcbc4259e83"
  ],
  "author": {
    "name": "Barret Rhoden",
    "email": "brho@cs.berkeley.edu",
    "time": "Wed Aug 28 16:40:43 2019 -0400"
  },
  "committer": {
    "name": "Barret Rhoden",
    "email": "brho@cs.berkeley.edu",
    "time": "Tue Oct 01 10:17:01 2019 -0400"
  },
  "message": "slab: add kmem_cache_zalloc()\n\nYou could argue that the caller could do this with a ctor, though it\ndepends on when we run the ctors.  Do we cache constructed objects in\nmagazines?  I\u0027d guess \u0027yes\u0027, without a lot of thought, so then each\nseparate allocation wouldn\u0027t be zeroed.\n\nThe other reason to make a separate function for this is that it\u0027s\neasier to just implement it.  We have the object size in the kc, but the\nctor function pointer actually *doesn\u0027t* have that info, so we\u0027d need to\npass it through.  Minor pain, chance to mess it up, etc.\n\nThe other other reason is that Linux has this function.\n\nSigned-off-by: Barret Rhoden \u003cbrho@cs.berkeley.edu\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "812985cbb20231ddae522dd3747363a663a15ad1",
      "old_mode": 33188,
      "old_path": "kern/include/slab.h",
      "new_id": "182b2bcd6889b233b93795bd8e35bdf09fb1bb23",
      "new_mode": 33188,
      "new_path": "kern/include/slab.h"
    },
    {
      "type": "modify",
      "old_id": "520932dc1ea874bd62e89f1eceb8f2388b6c3da3",
      "old_mode": 33188,
      "old_path": "kern/src/slab.c",
      "new_id": "86411fba23fd1343c64c6a81c4b0efd9cc51fb99",
      "new_mode": 33188,
      "new_path": "kern/src/slab.c"
    }
  ]
}
