Re: Question about the barrier() in hlist_nulls_for_each_entry_rcu()

From: Alan Huang
Date: Fri Jul 21 2023 - 11:55:45 EST



> 2023年7月21日 19:51,David Laight <David.Laight@xxxxxxxxxx> 写道:
>
> From: Alan Huang
>> Sent: 20 July 2023 19:54
>>
>> I noticed a commit c87a124a5d5e(“net: force a reload of first item in hlist_nulls_for_each_entry_rcu”)
>> and a related discussion [1].
>
> Hmmm... that was all about the retry loop in ipv4/udp.c
>
> AFAICT that retry got deleted by ca065d0c.
>
> That also changes the list from hlist_nulls_xxx to hlist_xxx.
> (I'm not sure of the difference)
>
> This might be why we're seeing unexpected 'port unreachable' messages?
>
> Quite why that has just started happening is another issue.
> Most of the UDP sockets we create aren't 'connected' so I don't
> believe they get moved between hash chains - just deleted.
> The deletion should leave the hash chain intact.

Thanks for the information! :)

>
> David
>
> -
> Registered Address Lakeside, Bramley Road, Mount Farm, Milton Keynes, MK1 1PT, UK
> Registration No: 1397386 (Wales)