)]}'
{
  "commit": "18c6c8f95f7877deb18bea220eee3ffbca9d922b",
  "tree": "386e210cf47862818b8b06748effbf7952490385",
  "parents": [
    "d45834e0fe3ff1248e40d995f2f51c51739e6f1c"
  ],
  "author": {
    "name": "Michael Margolin",
    "email": "mrgolin@amazon.com",
    "time": "Thu Jul 23 07:38:30 2026 +0000"
  },
  "committer": {
    "name": "Michael Margolin",
    "email": "mrgolin@amazon.com",
    "time": "Thu Jul 23 16:26:07 2026 +0000"
  },
  "message": "libibverbs: Introduce Completion Counters verbs\n\nExtend verbs interface to support Completion Counters that can be seen\nas a light-weight alternative to polling CQ. A completion counter object\nseparately counts successful and error completions, can be attached to\nmultiple QPs and be configured to count completions of a subset of\noperation types. This is especially useful for batch or credit based\nworkloads running on accelerators but can serve many other types of\napplications as well.\n\nExpose supported number of completion counters through query device\nextended verb.\n\nReviewed-by: Daniel Kinsbursky \u003cdkinsb@amazon.com\u003e\nReviewed-by: Yonatan Nachum \u003cynachum@amazon.com\u003e\nSigned-off-by: Michael Margolin \u003cmrgolin@amazon.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "f8eca8668a2b1e983fc31211c1329736634bb026",
      "old_mode": 33188,
      "old_path": "libibverbs/man/CMakeLists.txt",
      "new_id": "0efe0b04b38ab0bc7f6039491bf7e10fb6ca29f4",
      "new_mode": 33188,
      "new_path": "libibverbs/man/CMakeLists.txt"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "aa5ce4321d7b979943a2f0f75fbea282b3c40b91",
      "new_mode": 33188,
      "new_path": "libibverbs/man/ibv_create_comp_cntr.3.md"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "e7f2eef54220b72ff625c9cd372989e740ae9ffe",
      "new_mode": 33188,
      "new_path": "libibverbs/man/ibv_qp_attach_comp_cntr.3.md"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "c7a367d8c86002fbbda1bebdbf1063b31503df80",
      "new_mode": 33188,
      "new_path": "libibverbs/man/ibv_query_comp_cntr_caps.3.md"
    },
    {
      "type": "modify",
      "old_id": "9ed55d423f5cc935696b54b516c12bad234c0c6f",
      "old_mode": 33188,
      "old_path": "libibverbs/verbs.h",
      "new_id": "83c9c90210b379561f81cd7ac9879b9bef90cf73",
      "new_mode": 33188,
      "new_path": "libibverbs/verbs.h"
    }
  ]
}
