[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <CABeXuvpzcfM13KpDoYr51KTi7UvPUe5eQotq7i3p1pn7FNoTnA@mail.gmail.com>
Date: Sun, 23 Dec 2018 10:50:19 -0800
From: Deepa Dinamani <deepa.kernel@...il.com>
To: Eric Dumazet <eric.dumazet@...il.com>
Cc: "David S. Miller" <davem@...emloft.net>,
Linux Network Devel Mailing List <netdev@...r.kernel.org>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
Alexander Viro <viro@...iv.linux.org.uk>,
Arnd Bergmann <arnd@...db.de>,
y2038 Mailman List <y2038@...ts.linaro.org>
Subject: Re: [PATCH] sock: Make sock->sk_tstamp thread-safe
On Sat, Dec 22, 2018 at 11:31 PM Eric Dumazet <eric.dumazet@...il.com> wrote:
>
>
>
> On 12/21/2018 12:27 PM, Deepa Dinamani wrote:
> > Al Viro mentioned that there is probably a race condition
> > lurking in accesses of sk_tstamp on 32-bit machines.
> >
> > sock->sk_tstamp is of type ktime_t which is always an s64.
> > On a 32 bit architecture, we might run into situations of
> > unsafe access as the access to the field becomes non atomic.
> >
> > Use seqlocks for synchronization.
> > This allows us to avoid using spinlocks for readers as
> > readers do not need mutual exclusion.
> >
>
> Hi Deepa
>
> Please come up with something that has zero added costs for 64bit kernels.
>
> Most of us do not really care about 32bit kernels anymore, so we do not want to slow
> down 64bits kernels for such things.
>
> Look at include/linux/u64_stats_sync.h for initial thoughts.
This is similar to what I did here. But, I can add a few ifdef's to
make this code a noop on 64 bit arches.
I will include this in my next update.
I'm assuming there is no contention on whether writers need exclusive
access and hence requiring a lock here.
Let me know otherwise.
Thanks,
Deepa
Powered by blists - more mailing lists