public inbox for io-uring@vger.kernel.org
 help / color / mirror / Atom feed
From: vitalif@yourcmc.ru
To: "Pavel Begunkov" <asml.silence@gmail.com>, io-uring@vger.kernel.org
Subject: Re: io_uring zero-copy send test results
Date: Tue, 08 Apr 2025 12:43:16 +0000	[thread overview]
Message-ID: <61b6b1d6cffae4344254ddaef9be6621@yourcmc.ru> (raw)
In-Reply-To: <d7a31a1e-87bd-4a3b-abbb-f1e26b2a03f8@gmail.com>

> What kernel version you use? I'm specifically interested whether it has:
> 
> 6fe4220912d19 ("io_uring/notif: implement notification stacking")
> 
> That would explain why it's slow even with huge pages.

It was Linux 6.8.12-4-pve (proxmox), so yeah, it didn't include that commit.

We repeated tests with Linux 6.11 also from proxmox:

AMD EPYC GENOA 9554 MELLANOX CX-5, iommu=pt, Linux 6.11

4096 8192 10000 12000 16384 65435
zc MB/s 2288 2422 2149 2396 2506 2476
zc CPU 90% 67% 56% 56% 57% 44%
send MB/s 1685 2033 2389 2343 2281 2415
send CPU 95% 87% 49% 48% 62% 38%

AMD EPYC GENOA 9554 MELLANOX CX-5, iommu=pt, -l1, Linux 6.11

4096 8192 10000 12000 16384 65435
zc MB/s 2359 2509 2351 2508 2384 2424
zc CPU 85% 58% 52% 45% 37% 18%
send MB/s 1503 1892 2325 2447 2434 2440
send CPU 99% 96% 50% 49% 57% 37%

Now it's nice and quick even without huge pages and even with 4k buffers!

> That doesn't make sense. Do you see anything odd in the profile?

Didn't have time to repeat tests with perf on those servers yet, but I can check dmesg logs. In the default iommu mode, /sys/class/iommu is empty and dmesg includes the following lines:

DMAR-IR: IOAPIC id 8 under DRHD base  0x9b7fc000 IOMMU 9
iommu: Default domain type: Translated 
iommu: DMA domain TLB invalidation policy: lazy mode 

With iommu=pt, dmesg has:

DMAR-IR: IOAPIC id 8 under DRHD base  0x9b7fc000 IOMMU 9
iommu: Default domain type: Passthrough (set via kernel command line)

  parent reply	other threads:[~2025-04-08 12:43 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-04-05 16:58 io_uring zero-copy send test results vitalif
2025-04-05 18:11 ` Pavel Begunkov
2025-04-05 21:46 ` vitalif
2025-04-06 21:54   ` Pavel Begunkov
2025-04-06 21:08 ` vitalif
2025-04-06 22:01   ` Pavel Begunkov
2025-04-08 12:43   ` vitalif [this message]
2025-04-09  9:24     ` Pavel Begunkov
2025-04-18  8:50     ` vitalif

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=61b6b1d6cffae4344254ddaef9be6621@yourcmc.ru \
    --to=vitalif@yourcmc.ru \
    --cc=asml.silence@gmail.com \
    --cc=io-uring@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox