Thread (27 messages) 27 messages, 6 authors, 2021-02-26

Re: [PATCH net] net: fix race between napi kthread mode and busy poll

From: Eric Dumazet <edumazet@google.com>
Date: 2021-02-25 00:00:20

Possibly related (same subject, not in this thread)

On Thu, Feb 25, 2021 at 12:52 AM Jakub Kicinski [off-list ref] wrote:
On Wed, 24 Feb 2021 23:30:23 +0100 Eric Dumazet wrote:
quoted
On Wed, Feb 24, 2021 at 10:30 PM Jakub Kicinski [off-list ref] wrote:
quoted
Just to find out what the LoC is I sketched this out:
diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h
index ddf4cfc12615..77f09ced9ee4 100644
--- a/include/linux/netdevice.h
+++ b/include/linux/netdevice.h
@@ -348,6 +348,7 @@ struct napi_struct {
        struct hlist_node       napi_hash_node;
        unsigned int            napi_id;
        struct task_struct      *thread;
+       struct list_head        thread_poll_list;
 };
offlist, since it seems this conversation is upsetting you.
Interesting, vger seems to be CCed but it isn't appearing on the ML.
Perhaps just a vger delay :S

Not really upsetting. I'm just trying to share what I learned devising
more advanced pollers. The bits get really messy really quickly.
Especially that the proposed fix adds a bit for a poor bystander (busy
poll) while it's the threaded IRQ that is incorrectly not preserving
its ownership.
quoted
Additional 16 bytes here, possibly in a shared cache line, [1]
I prefer using a bit in hot n->state, we have plenty of them available.
Right, presumably the location of the new member could be optimized.
I typed this proposal up in a couple of minutes.
quoted
We worked hours with Alexander, Wei, I am sorry you think we did a poor job.
I really thought we instead solved the issue at hand.

May I suggest you defer your idea of redesigning the NAPI model for
net-next ?
Seems like you decided on this solution off list and now the fact that
there is a discussion on the list is upsetting you. May I suggest that
discussions should be conducted on list to avoid such situations?
We were trying to not pollute the list (with about 40 different emails so far)

(Note this was not something I initiated, I only hit Reply all button)

OK, I will shut up, since you seem to take over this matter, and it is
1am here in France.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help