Skip to content

#285 - Add direct polling latency benchmark and BlueFlame posting - #286

Merged
cliffburdick merged 5 commits into
mainfrom
cburdick/raw-direct-latency-blueflame
Sep 4, 2026
Merged

#285 - Add direct polling latency benchmark and BlueFlame posting#286
cliffburdick merged 5 commits into
mainfrom
cburdick/raw-direct-latency-blueflame

Conversation

@cliffburdick

Copy link
Copy Markdown
Collaborator

Reduce the latency on TX direct poll mode by writing directly to BF registers

Signed-off-by: Cliff Burdick <cburdick@nvidia.com>
@greptile-apps

greptile-apps Bot commented Sep 1, 2026

Copy link
Copy Markdown
Contributor

Greptile Summary

The PR adds a direct-polling latency benchmark and reduces direct ibverbs TX overhead through full BlueFlame posting, CPU-inline WQEs, batched completion reclamation, and lock-free queue ownership.

  • Adds the latency benchmark executable, configuration template, CSV reporting, PTP clock calibration, and usage documentation.
  • Adds boundary-safe staging for wrapped inline WQEs before full BlueFlame copies.
  • Updates direct TX completion signaling, draining, queue ownership, and diagnostics.

Confidence Score: 5/5

The PR appears safe to merge.

No blocking failure remains.

Important Files Changed

Filename Overview
src/engines/ibverbs/daqiri_ibverbs_engine.cpp Implements direct-queue ownership, inline and full BlueFlame posting, cyclic-SQ staging, batched completion reclamation, and explicit drain signaling; the previously reported SQ-boundary read is addressed.
src/engines/ibverbs/daqiri_ibverbs_engine.h Adds the queue state and counters required for lock-free ownership, inline WQEs, completion cadence, and drain tracking.
examples/raw_latency_bench.cpp Adds a direct-polling TX/RX latency benchmark with hardware RX timestamps, optional PTP cross-clock calibration, summaries, and CSV output.
examples/daqiri_bench_raw_latency_ibverbs.yaml Provides the host-customizable direct ibverbs TX/RX configuration for the new latency benchmark.
examples/CMakeLists.txt Builds, links, installs, and stages the new latency benchmark and configuration.
docs/benchmarks/raw_benchmarking.md Documents benchmark setup, timing boundaries, PTP calibration, output metrics, and loopback operation.

Reviews (5): Last reviewed commit: "#285 - Clarify latency measurement timel..." | Re-trigger Greptile

Comment thread src/engines/ibverbs/daqiri_ibverbs_engine.cpp Outdated
Signed-off-by: Cliff Burdick <cburdick@nvidia.com>
Signed-off-by: Cliff Burdick <cburdick@nvidia.com>
Signed-off-by: Cliff Burdick <cburdick@nvidia.com>
Comment thread docs/benchmarks/raw_benchmarking.md Outdated
Signed-off-by: Cliff Burdick <cburdick@nvidia.com>
@cliffburdick
cliffburdick merged commit 7385da5 into main Sep 4, 2026
3 checks passed
@cliffburdick
cliffburdick deleted the cburdick/raw-direct-latency-blueflame branch September 5, 2026 02:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants