From mboxrd@z Thu Jan 1 00:00:00 1970 From: Eric Dumazet Subject: Re: [PATCH net-next] Revert "net: init sk_cookie for inet socket" Date: Tue, 24 Apr 2018 09:10:07 -0700 Message-ID: <5c1224cd-450a-f32b-c04c-bb83fc2137d0@gmail.com> References: <1524571537-9781-1-git-send-email-laoar.shao@gmail.com> <29dbd735-5fd7-d4e4-288f-220f2075b645@gmail.com> <26914c29-d248-5197-9e3c-fc44a1f5a1a8@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Cc: David Miller , netdev@vger.kernel.org To: Yafang Shao , Eric Dumazet Return-path: Received: from mail-pf0-f195.google.com ([209.85.192.195]:43807 "EHLO mail-pf0-f195.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750757AbeDXQKJ (ORCPT ); Tue, 24 Apr 2018 12:10:09 -0400 Received: by mail-pf0-f195.google.com with SMTP id j11so12649076pff.10 for ; Tue, 24 Apr 2018 09:10:09 -0700 (PDT) In-Reply-To: Content-Language: en-US Sender: netdev-owner@vger.kernel.org List-ID: On 04/24/2018 08:59 AM, Yafang Shao wrote: > On Tue, Apr 24, 2018 at 11:49 PM, Eric Dumazet wrote: >> >> >> On 04/24/2018 08:12 AM, Yafang Shao wrote: >>> On Tue, Apr 24, 2018 at 8:38 PM, Eric Dumazet wrote: >>>> >>>> >>>> On 04/24/2018 05:05 AM, Yafang Shao wrote: >>>>> This revert commit ("net: init sk_cookie for inet socket") >>>>> >>>>> Per discussion with Eric. >>>>> >>>> >>>> I suggest you include a bit more details, about cache line false sharing. >>>> >>> >>> Coud we adjust the struct common to avoid such kind of cache line >>> false sharing ? >>> I mean removing "atomic64_t skc_cookie;" from struct sock_common and >>> place it in struct inet_sock ? >> >> The false sharing is not there, it is on net->cookie_gen >> > > Yes. > This is the current issue. > May be we should adjust struct net as well. This field will still need to be modified by many cpus. Its exact placement in memory wont avoid false sharing and stalls. > > Regarding sk_cookie, as it is only used by inet_sock now, may be it is > better placed in srtuct inet_sock ? > You are mistaken. It is used on all sockets really (including request_sock and timewait) ss -temoia will give you socket ids for all sockets types.