---
title: "Discussion on \"Busy polling or events ? Timing one RDMA write, and why perftest says half\" | Hashnode"
description: "Discussion on \"Busy polling or events ? Timing one RDMA write, and why perftest says half\". Building AgentXDP, part 13. Part 12 gave the testbed four links. This part gives it a stopwatch.\nIn part 6, 20 ms of ACK delay left every RDMA error counter at zero. A delay shows up in one place: how"
url: "https://hashnode.com/posts/busy-polling-or-events-timing-one-rdma-write-and-why-perftest-says-half/6af159d1709e0bfcfc8f45f1"
---

[Feed](https://hashnode.com/feed) /

Discussion

# [Busy polling or events ? Timing one RDMA write, and why perftest says half](https://pegasus-nathanael-tech.hashnode.dev/busy-polling-or-events-timing-one-rdma-write-and-why-perftest-says-half?utm_source=hashnode&utm_medium=feed)

Building AgentXDP, part 13. Part 12 gave the testbed four links. This part gives it a stopwatch. In part 6, 20 ms of ACK delay left every RDMA error counter at zero. A delay shows up in one place: how

2d ago · 5 min read · pegasus-nathanael-tech.hashnode.dev  
Read the article

-   [#rdma](https://hashnode.com/tag/rdma)
-   [#linux](https://hashnode.com/tag/linux)
-   [#performance](https://hashnode.com/tag/performance)
-   [#cpp](https://hashnode.com/tag/cpp)
-   [#buildinpublic](https://hashnode.com/tag/buildinpublic)

## Written by

[Nathanael FETUE](https://hashnode.com/@nathanael-fetue)

@nathanael-fetue · Toulouse

  
[View profile](https://hashnode.com/@nathanael-fetue)

From Cameroon to Cloud Engineering at ISAE-SUPAERO/ENSEEIHT |DeepTech & Distributed Systems

Hi, I'm Nathanael. MSc graduate from Toulouse INP - ENSEEIHT (N7), France. I work on hardware/software co-design and low-level performance. I just completed a six-month research internship at INRIA Rennes, where I designed a hardware isolation mechanism for processing-in-memory processors (UPMEM), measured in a cycle-accurate simulator at 5.54% overhead at most, against 26 to 120% for a software scheme, and validated on FPGA. I write about computer architecture, operating systems, networking (RDMA/InfiniBand) and the move from research to industry. I am looking for my first role in systems and performance engineering, AI infrastructure or low-level software. Stack: C/C++, Go, Python, Verilog, Linux, RDMA, Terraform, Ansible. Contact: nathanaelfetuefoko@gmail.com | linkedin.com/in/nathanael-fetue-foko | github.com/NathanaelFetue

## Responses 3

Markdown supported · ⌘↵ to post

[c-wind](https://hashnode.com/@c-wind)

[2d ago](https://hashnode.com/posts/busy-polling-or-events-timing-one-rdma-write-and-why-perftest-says-half/6af159d1709e0bfcfc8f45f1/comment/6af1c872db22570f0bdfd50b)

The distinction between CQ completion and remote delivery makes the perftest comparison much clearer. One reproducibility detail that could help interpret the 7.7 µs event-vs-poll median delta is whether the submitting thread and IRQ/NIC processing were CPU-pinned; even on Soft-RoCE, scheduler placement can shift that wake-up cost. Your caveat about the three-vCPU VM and noisy maxima already points to why it matters.

[Nathanael FETUE](https://hashnode.com/@nathanael-fetue)

[2d ago](https://hashnode.com/posts/busy-polling-or-events-timing-one-rdma-write-and-why-perftest-says-half/6af159d1709e0bfcfc8f45f1/comment/6af1c872db22570f0bdfd50b#reply-6af25d47329931c7e4fa78ad)

Thanks, good catch. They weren't pinned: both modes ran on the same three-vCPU VM with the scheduler free to place the client, the server and the rxe softirq work. So part of that 7.7 µs may be placement rather than the wake-up itself. A pinned rerun (timer on one CPU, softirqs on another) would separate the two; if I run it, the result will be in a later post on CPU cost.

[Nathanael FETUE](https://hashnode.com/@nathanael-fetue)

[2d ago](https://hashnode.com/posts/busy-polling-or-events-timing-one-rdma-write-and-why-perftest-says-half/6af159d1709e0bfcfc8f45f1/comment/6af1c872db22570f0bdfd50b#reply-6af25d68c15324d27885b6a7)

Maybe in part 15.
