[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <875yblmq83.ffs@tglx>
Date: Tue, 28 Feb 2023 22:31:40 +0100
From: Thomas Gleixner <tglx@...utronix.de>
To: Eric Dumazet <edumazet@...gle.com>
Cc: LKML <linux-kernel@...r.kernel.org>,
Linus Torvalds <torvalds@...uxfoundation.org>, x86@...nel.org,
Wangyang Guo <wangyang.guo@...el.com>,
Arjan van De Ven <arjan@...ux.intel.com>,
"David S. Miller" <davem@...emloft.net>,
Jakub Kicinski <kuba@...nel.org>,
Paolo Abeni <pabeni@...hat.com>, netdev@...r.kernel.org,
Will Deacon <will@...nel.org>,
Peter Zijlstra <peterz@...radead.org>,
Boqun Feng <boqun.feng@...il.com>,
Mark Rutland <mark.rutland@....com>,
Marc Zyngier <maz@...nel.org>
Subject: Re: [patch 1/3] net: dst: Prevent false sharing vs.
dst_entry::__refcnt
Eric!
On Tue, Feb 28 2023 at 16:17, Eric Dumazet wrote:
> On Tue, Feb 28, 2023 at 3:33 PM Thomas Gleixner <tglx@...utronix.de> wrote:
>> perf top identified two affected read accesses. dst_entry::lwtstate and
>> rtable::rt_genid.
>>
>> dst_entry:__refcnt is located at offset 64 of dst_entry, which puts it into
>> a seperate cacheline vs. the read mostly members located at the beginning
>> of the struct.
>
> This will probably increase struct rt6_info past the 4 cache line
> size, right ?
pahole says: /* size: 256, cachelines: 4, members: 11 */
> It would be nice to allow sharing the 'hot' cache line with seldom
> used fields.
Sure.
> Instead of mere pads, add some unions, and let rt6i_uncached/rt6i_uncached_list
> use them.
If I understand correctly, you suggest to move
rt6_info::rt6i_uncached[_list], rtable::rt_uncached[_list]
into struct dst_entry and fixup the usage sites, right?
I don't see why that would need a union. dst_entry::rt_uncached[_list]
would work for both, no?
Thanks,
tglx
Powered by blists - more mailing lists