[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <25989.1538757200@warthog.procyon.org.uk>
Date: Fri, 05 Oct 2018 17:33:20 +0100
From: David Howells <dhowells@...hat.com>
To: Eric Dumazet <eric.dumazet@...il.com>
Cc: dhowells@...hat.com, netdev@...r.kernel.org,
linux-afs@...ts.infradead.org, linux-kernel@...r.kernel.org,
Paolo Abeni <pabeni@...hat.com>
Subject: Re: [PATCH net 2/2] rxrpc: Fix the data_ready handler
Eric Dumazet <eric.dumazet@...il.com> wrote:
> sk_data_ready is not meant to process packets, it is meant to signal
> to another entity (preferably running in process context and thus with proper
> schedule points, and not blocking BH) that there is data ready to be consumed.
The issue is that I need to route the packets to the appropriate call, and the
BH appears to be the right place to do this, especially as I can quickly parse
and discard certain types of packet right there.
If I move all of this to process context then that adds extra context switches
between the routing process and the destination process.
> Under DOS, it is possible multiple cpus will sk_data_ready in parallel.
Ummm... I've been led to believe that sk_data_ready will *not* be called in
parallel and that the code it calls can assume non-reentrancy. Is this not
the case?
What about the patch I attached, whereby I use the encap_rcv() hook. Do you
say that won't work?
David
Powered by blists - more mailing lists