Kernel config settings known to be detrimental to io_uring performance?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

I am building a custom Kernel from ArchLinux standard Kernel package.

I do that mostly to get CONFIG_NO_HZ_FULL on since I dedicate cores to
RT threads of my app.

Beside that, I play it safe by not touching to settings that I have no
idea what they do and I keep the default upstream packaging settings.

There is one timing measurement that I do in my app. the time it takes
for:

1. Thread A to write in an eventfd to wake up thread B running an
io_uring event loop
2. thread B userspace event processing + write data in a TCP socket
through io_uring
3. thread B Receive the write CQE

With previous kernel settings, the timing that I had was 85 uSecs.

Idk why but yesterday, I felt more daring than usual I have decided
disable a couple of features that aren't needed. So I disabled:

CONFIG_AUDIT
CONFIG_SECURITY_APPARMOR (had to remove it to be allowed to remove
CONFIG_AUDIT)
CONFIG_HYPERVISOR_GUEST (my kernel will always only run on bare metal)
CONFIG_AMD_MEM_ENCRYPT (my server is Intel based)

and I have been amazed by how much faster io_uring became. My timing
went from 85 to 59.8 uSecs (A 30% improvement)!

Now, because I have disabled a couple of settings all at the same time,
I am not really sure which one is responsible for this amazing result
but I would suspect that CONFIG_AUDIT might be the one...

You know what? I would be willing to take a couple more of those juicy
30% improvements anytime...

So I was wondering if someone is aware of some other kernel config
settings that are notoriously detrimental to the kernel io_uring I/O
performance (more specifically TCP/IP)?

My next try will be to disable:
CONFIG_SECURITY_NETWORK
CONFIG_SECURITY_TOMOYO
CONFIG_SECURITY_SMACK

I suspect that I might not find another 30% improvment... but who
knows? if I do, I will report back

Greetings,




[Index of Archives]     [Linux Samsung SoC]     [Linux Rockchip SoC]     [Linux Actions SoC]     [Linux for Synopsys ARC Processors]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]


  Powered by Linux