Re: [tip:timers/core] [posix] 1535cb8028: stress-ng.epoll.ops_per_sec 36.2% regression
From: Thomas Gleixner
Date: Wed Mar 26 2025 - 04:09:38 EST
On Mon, Mar 24 2025 at 14:39, kernel test robot wrote:
> kernel test robot noticed a 36.2% regression of stress-ng.epoll.ops_per_sec on:
>
> commit: 1535cb80286e6fbc834f075039f85274538543c7 ("posix-timers: Improve hash table performance")
> https://git.kernel.org/cgit/linux/kernel/git/tip/tip.git timers/core
>
> testcase: stress-ng
> config: x86_64-rhel-9.4
> compiler: gcc-12
> test machine: 64 threads 2 sockets Intel(R) Xeon(R) Gold 6346 CPU @ 3.10GHz (Ice Lake) with 256G memory
> parameters:
>
> nr_threads: 100%
> testtime: 60s
> test: epoll
> cpufreq_governor: performance
>
>
> In addition to that, the commit also has significant impact on the following tests:
>
> +------------------+---------------------------------------------------------------------------------+
> | testcase: change | stress-ng: stress-ng.epoll.ops_per_sec 124.9% improvement |
> | test machine | 256 threads 2 sockets GENUINE INTEL(R) XEON(R) (Sierra Forest) with 128G memory |
> | test parameters | cpufreq_governor=performance |
> | | nr_threads=100% |
> | | test=epoll |
> | | testtime=60s |
> +------------------+---------------------------------------------------------------------------------+
How on earth can this commit result in both a 36% regression and a 25%
improvement with the same test?
Unfortunately I can't reproduce any of it. I checked the epoll test
source and it uses a posix timer, but that commit makes the hash less
contended so there is zero explanation.
Thanks,
tglx