On Fri, Apr 08, 2022 at 12:56:12PM +0200, Alexander Bluhm wrote:
> Hi,
> 
> I now the right time to commit the parallel forwarding diff?
> 
> Known limitiations are:
> - Hrvoje has seen a crash with both pfsync and ipsec on his production
>   machine.  But he cannot reproduce it in his lab.
> - TCP processing gets slower as we have an additional queue between
>   IP and protocol layer.
> - Protocol layer may starve as 1 exclusive lock is fightig with 4
>   shared locks.  This happens only when forwardig a lot.
> 
> The advantage of commiting is that we see how relevant these things
> are in real world.  But the most important thing is that we learn
> how all the locks behave under MP pressure.  You can add a lot of
> locking, but only when you run in parallel, you see if it is correct.
> 
> An alternative could be to commit it with NET_TASKQ 1.  With only
> one softnet thread I would expect to see less bugs, but there is
> also less to learn.  NET_TASKQ 1 could be a safe point where we
> could easily switch back.
> 
> bluhm
> 

    I think it's worth to give it a try. May be I would just split
    it to three commits/diffs:

        diff which adds task queues for forwarding

        diff which adds a KERNEL_LOCK to deal with arp

        diff which deals with local delivery to socket

    it's up to you. all changes look good to me. You have my OK,
    in case you want to proceed in one big step.

OK sashan

Reply via email to