)]}'
{
  "commit": "20e98030e4e5d8b14eda004d2ddceba375891d0b",
  "tree": "8ad6e1b5536fe7f23ced0468d6a71907c7109726",
  "parents": [
    "cd4d39076f2c29a2616740ac6aa528ce567f57da"
  ],
  "author": {
    "name": "Mattias Nissler",
    "email": "122288598+mnissler-rivos@users.noreply.github.com",
    "time": "Tue Apr 07 18:52:18 2026 +0200"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Tue Apr 07 17:52:18 2026 +0100"
  },
  "message": "De-duplicate file descriptors used for DMA region access (#841)\n\nWhen using file descriptors for performing DMA, each registered DMA\nregion holds a file descriptor. In case there are many regions, we\u0027d be\nconsuming lots of file descriptors, which are a limited resource.\n\nFortunately, clients typically use a small number of underlying memory\nresources, but we end up with duplicate file descriptors. To handle this\nbetter, add a file descriptor cache that can de-duplicate file\ndescriptors which refer to the same underlying resource, as indicated by\nkcmp().\n\nChange the DMA controller code to de-duplicate incoming file descriptors\nwhen adding DMA regions.\n\nSigned-off-by: Mattias Nissler \u003cmnissler@meta.com\u003e",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "a1a2ba11bf6e6dc6cc34a851ae9d9b053b34eb6b",
      "old_mode": 33188,
      "old_path": "lib/dma.c",
      "new_id": "334d258c240e74510dfbfa9425527a3908e79eda",
      "new_mode": 33188,
      "new_path": "lib/dma.c"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "343f2c46d14a5814e12bdb44411238c82692f939",
      "new_mode": 33188,
      "new_path": "lib/fd_cache.c"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "26c55adbce2cba0a3f14d821c18f77dd6df329dd",
      "new_mode": 33188,
      "new_path": "lib/fd_cache.h"
    },
    {
      "type": "modify",
      "old_id": "53d0e327ebde62e7c5c1e14f9a51ddca1482928d",
      "old_mode": 33188,
      "old_path": "lib/meson.build",
      "new_id": "f7449ae7b2bd4e6fed2f5bc49b89826b974deb66",
      "new_mode": 33188,
      "new_path": "lib/meson.build"
    },
    {
      "type": "modify",
      "old_id": "5b7e720d5399ba3aa8b4e2654d4a620437b91e52",
      "old_mode": 33188,
      "old_path": "meson.build",
      "new_id": "761c554fb618816ec9cfbe519aad31d21192b075",
      "new_mode": 33188,
      "new_path": "meson.build"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "bddab8eec15cee09a1adfe678d6f6642734d7677",
      "new_mode": 33188,
      "new_path": "test/fd_cache_unit_tests.c"
    },
    {
      "type": "modify",
      "old_id": "aa7fa46d97222b42a9f225f3a6dc5ccac0808600",
      "old_mode": 33188,
      "old_path": "test/meson.build",
      "new_id": "df5f93a6555d90e72fe25729eb849435a321b801",
      "new_mode": 33188,
      "new_path": "test/meson.build"
    },
    {
      "type": "modify",
      "old_id": "d38b63f2f04007d5f6a3b9a0a14a9bce3165e30b",
      "old_mode": 33188,
      "old_path": "test/unit-tests.c",
      "new_id": "2c1acb682c33ab6876b15a555b20e4d4abc34e04",
      "new_mode": 33188,
      "new_path": "test/unit-tests.c"
    }
  ]
}
