[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <87jz8ay5rh.ffs@tglx>
Date: Thu, 27 Mar 2025 14:14:58 +0100
From: Thomas Gleixner <tglx@...utronix.de>
To: Eric Dumazet <edumazet@...gle.com>
Cc: Mateusz Guzik <mjguzik@...il.com>, kernel test robot
<oliver.sang@...el.com>, oe-lkp@...ts.linux.dev, lkp@...el.com,
linux-kernel@...r.kernel.org, x86@...nel.org, Benjamin Segall
<bsegall@...gle.com>, Frederic Weisbecker <frederic@...nel.org>
Subject: Re: [tip:timers/core] [posix] 1535cb8028:
stress-ng.epoll.ops_per_sec 36.2% regression
On Thu, Mar 27 2025 at 12:37, Eric Dumazet wrote:
> On Thu, Mar 27, 2025 at 11:50 AM Thomas Gleixner <tglx@...utronix.de> wrote:
>> Cute. How much bloat does it cause?
>
> This would expand 'struct ucounts' by 192 bytes on x86, if the patch
> was actually working :)
>
> Note sure if it is feasible without something more intrusive like
I'm not sure about the actual benefit. The problem is that parallel
invocations which access the same ucount still will run into contention
of the cache line they are modifying.
For the signal case, all invocations increment rlimit[SIGPENDING], so
putting that into a different cache line does not buy a lot.
False sharing is when you have a lot of hot path readers on some other
member of the data structure, which happens to share the cache line with
the modified member. But that's not really the case here.
Thanks,
tglx
Powered by blists - more mailing lists