)]}'
{
  "commit": "b2e8468219ca2c44bfef3b62f16bbfbd938eb8eb",
  "tree": "f51a62a6600ac11a1cb9de58e7aa0b514ec9889f",
  "parents": [
    "846c505ae9ad0b95494759d50ae015a52eb0a2f2"
  ],
  "author": {
    "name": "Michael Brown",
    "email": "mcb30@ipxe.org",
    "time": "Fri Oct 17 12:35:11 2025 +0100"
  },
  "committer": {
    "name": "Michael Brown",
    "email": "mcb30@ipxe.org",
    "time": "Fri Oct 17 13:25:05 2025 +0100"
  },
  "message": "[ena] Limit receive queue size to work around hardware bugs\n\nCommit a801244 (\"[ena] Increase receive ring size to 128 entries\")\nincreased the receive ring size to 128 entries (while leaving the fill\nlevel at 16), since using a smaller receive ring caused unexplained\nfailures on some instance types.\n\nThe original hardware bug that resulted in that commit seems to have\nbeen fixed: experiments suggest that the original failure (observed on\na c6i.large instance in eu-west-2) will no longer reproduce when using\na receive ring containing only 16 entries (as was the case prior to\nthat commit).\n\nNewer generations of the ENA hardware (observed on an m8i.large\ninstance in eu-south-2) seem to have a new and exciting hardware bug:\nthese instance types appear to use a hash of the received packet\nheader to determine which portion of the (out-of-order) receive ring\nto use.  If that portion of the ring happens to be empty (e.g. because\nonly 32 entries of the 128-entry ring are filled at any one time),\nthen the packet will be silently dropped.\n\nWork around this new hardware bug by reducing the receive ring size\ndown to the current fill level of 32 entries.  This appears to work on\nall current instance types (but has not been exhaustively tested).\n\nSigned-off-by: Michael Brown \u003cmcb30@ipxe.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "5dd0ef23e4c355e50c143821896ec5cec07d00a8",
      "old_mode": 33188,
      "old_path": "src/drivers/net/ena.c",
      "new_id": "35bdd34c2f557952f77ca7851661002e332c2add",
      "new_mode": 33188,
      "new_path": "src/drivers/net/ena.c"
    },
    {
      "type": "modify",
      "old_id": "5008b966afb02f3d075faedafd21464195d4e933",
      "old_mode": 33188,
      "old_path": "src/drivers/net/ena.h",
      "new_id": "240e64480d65dec10d2df6725dd0d03ad5ba6870",
      "new_mode": 33188,
      "new_path": "src/drivers/net/ena.h"
    }
  ]
}
