Messages in this thread | | | From | David Howells <> | Subject | Re: [PATCH net 2/2] rxrpc: Fix the data_ready handler | Date | Fri, 05 Oct 2018 17:33:20 +0100 |
| |
Eric Dumazet <eric.dumazet@gmail.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
| |