Thread (35 messages) 35 messages, 8 authors, 2017-12-20

Re: [PATCH v3 net-next 3/6] net: Add SW fallback infrastructure for offloaded sockets

flat view

From: Marcelo Ricardo Leitner <marcelo.leitner@gmail.com>
Date: 2017-12-19 15:05:50

On Tue, Dec 19, 2017 at 07:51:02AM +0000, Ilya Lesokhin wrote:
On Monday, December 18, 2017 9:18 PM, Marcelo Ricardo Leitner wrote:
quoted
quoted
+
+	if (sk && sk_fullsock(sk) && sk->sk_offload_check)
Isn't this going to hurt the fast path, checking for sk fields here?
We do add code to the fast path but it seems unavoidable if you want to have SW fallback.
The XFRM device offload also does that
http://elixir.free-electrons.com/linux/v4.14.7/source/net/core/dev.c#L3058
Right, although a bit different. It's accessing skb->sp and not the
socket and depending on how compiler is doing things, the check
http://elixir.free-electrons.com/linux/v4.14.7/source/net/xfrm/xfrm_device.c#L32
will help in some cases.

But more importantly, all the above only exists if CONFIG_XFRM_OFFLOAD
is enabled.
The check can be optimized but I didn't want to do that before I saw that it's an issue.
I'm also not sure what the correct solution is.
I don't like that fact that each "stateful protocol" we offload requires its own check. 
We need to think if we can find a generic way of doing it.

Perhaps we can hold the expected netdev somewhere in the SKB and only if we don't
Go out of the expected netdev go to a slow path that does a check for each protocol.
This could be a good switch, yes.

Thanks,
Marcelo
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help