Re: [PATCH v2 1/3] seqlock: add raw_seqcount_try_begin

From: David Hildenbrand
Date: Fri Nov 22 2024 - 06:21:57 EST


On 22.11.24 12:19, Peter Zijlstra wrote:
On Fri, Nov 22, 2024 at 12:10:29PM +0100, David Hildenbrand wrote:

In gup_fast(), we simply do

seq = raw_read_seqcount(&current->mm->write_protect_seq);
if (seq & 1)
return 0;

Should we be using that there as well?

if (!raw_seqcount_try_begin(&current->mm->write_protect_seqs, seq))
return 0;

Might as well. A quick grep doesn't find me another instance of this
pattern, but does find me something 'funny' in net/netfilter/x_tables.c.
Let's pretend I didn't see that for now ... *sigh*

:)

I'm also not 100% sure about barriers in gup_fast() around the raw_seqcount .... and I'm pretending I didn't see any of that as well ...


Want me to stick a patch like this on, or do you want to do that later,
when the dust has settled?

Feel free to add a patch to just change that as well, it's an easy change.

For this patch

Reviewed-by: David Hildenbrand <david@xxxxxxxxxx>

--
Cheers,

David / dhildenb