)]}'
{
  "commit": "6a586327a270272780bdad7446259bbe62574db1",
  "tree": "478f6dd9215dd5effbff44429ff46f1281468c3f",
  "parents": [
    "42dc1c84aec99691adf2eb59d66e6b7ee3936210"
  ],
  "author": {
    "name": "Alexei Starovoitov",
    "email": "ast@kernel.org",
    "time": "Tue Aug 30 15:33:42 2022 -0700"
  },
  "committer": {
    "name": "Alexei Starovoitov",
    "email": "ast@kernel.org",
    "time": "Wed Aug 31 10:56:04 2022 -0700"
  },
  "message": "bpf: Remove usage of kmem_cache from bpf_mem_cache.\n\nFor bpf_mem_cache based hash maps the following stress test:\nfor (i \u003d 1; i \u003c\u003d 512; i \u003c\u003c\u003d 1)\n  for (j \u003d 1; j \u003c\u003d 1 \u003c\u003c 18; j \u003c\u003c\u003d 1)\n    fd \u003d bpf_map_create(BPF_MAP_TYPE_HASH, NULL, i, j, 2, 0);\ncreates many kmem_cache-s that are not mergeable in debug kernels\nand consume unnecessary amount of memory.\nTurned out bpf_mem_cache\u0027s free_list logic does batching well,\nso usage of kmem_cache for fixes size allocations doesn\u0027t bring\nany performance benefits vs normal kmalloc.\nHence get rid of kmem_cache in bpf_mem_cache.\nThat saves memory, speeds up map create/destroy operations,\nwhile maintains hash map update/delete performance.\n\nSigned-off-by: Alexei Starovoitov \u003cast@kernel.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "a66bca8caddfd69dbf5be585d34aa0a77d660c1d",
      "old_mode": 33188,
      "old_path": "kernel/bpf/memalloc.c",
      "new_id": "00757b6fb294b5efe84caeb9b5a2dcc58884352d",
      "new_mode": 33188,
      "new_path": "kernel/bpf/memalloc.c"
    }
  ]
}
