{
  "slug": "buffer-cycle-deadlock",
  "term": "Buffer-cycle deadlock",
  "aliases": [
    "Cyclic buffer dependency"
  ],
  "definition": "Buffer-cycle deadlock occurs when frames hold buffers while each waits for another buffer in a closed dependency chain.",
  "note": "The 1996 Fibre Channel study models dependencies induced by permitted routes between switch input buffers. A cycle-free dependency graph provides deadlock-free routing within that model. This is a statement about resource dependencies, not simply the presence of a loop in the cabling. [fabric96]\n\nA zero-credit counter alone does not identify such a cycle. Investigate the forwarding paths and occupied resources before attributing a stall to deadlock.",
  "related": [
    "fibre-channel",
    "buffer-to-buffer-credit",
    "fc-frame"
  ],
  "citations": [
    {
      "id": "fabric96",
      "title": "Cherkasova, Kotov and Rokicki. Fibre Channel Fabrics: Evaluation and Design. HICSS 1996, sections 2.1 and 3. DOI 10.1109/HICSS.1996.495447.",
      "url": "https://www.researchgate.net/publication/3623916_Fibre_Channel_Fabrics_Evaluation_and_Design",
      "accessed": "2026-10-19"
    }
  ],
  "status": "unknown",
  "advantages": [],
  "limitations": [],
  "supersedes": [],
  "supersededBy": [],
  "firstSeen": null,
  "lastSeen": null,
  "updated": "2026-10-19",
  "provenance": [
    "Historical architectural model; no claim about current vendor routing implementations or measured deadlock incidence."
  ]
}
