Subject: Re: [PATCH v1 2/2] epoll: Use __user_write_access_begin() and unsafe_put_user() in epoll_put_uevent().

From: David Laight <[email-masked]>
Date: Tue, 28 Oct 2025 22:30:50 +0000

On Tue, 28 Oct 2025 09:42:25 -0700
Kuniyuki Iwashima <[email-masked]> wrote:

> On Tue, Oct 28, 2025 at 2:54 AM David Laight
> <[email-masked]> wrote:
> >
> > On Tue, 28 Oct 2025 05:32:13 +0000
> > Kuniyuki Iwashima <[email-masked]> wrote:
> >
> > ....  
> > > I rebased on 19ab0a22efbd and tested 4 versions on
> > > AMD EPYC 7B12 machine:  
> >
> > That is zen5 which I believe has much faster clac/stac than anything else.
> > (It might also have a faster lfence - not sure.)  
> 
> This is the Zen 2 platform, so probably the stac/clac cost will be
> more expensive than you expect on Zen 5.

I must has looked the cpu type incorrectly.
AMD haven't made it easy working out the cpu architecture.
I need to get an older zen cpu for my set of test systems
(and some newer Intel ones).

> > Getting a 3% change for that diff also seems unlikely.
> > Even if you halved the execution time of that code the system would have
> > to be spending 6% of the time in that loop.
> > Even your original post only shows 1% in ep_try_send_events().

I realised after that you might be showing a 3% change in that 1%.
> 
> We saw a similar improvement on the same platform by
> 1fb0e471611d ("net: remove one stac/clac pair from
> move_addr_to_user()").

Certainly removing one could easily be measurable.

	David