Thread (8 messages) 8 messages, 2 authors, 2018-10-05

Re: [PATCH net 2/2] rxrpc: Fix the data_ready handler

From: David Howells <dhowells@redhat.com>
Date: 2018-10-05 16:33:24
Also in: lkml

Eric Dumazet [off-list ref] 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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help