Re: divert packet kernel lock

2022-05-06 Thread Alexander Bluhm
On Fri, May 06, 2022 at 10:16:35PM +0200, Mark Kettenis wrote: > > Date: Fri, 6 May 2022 14:48:59 +0200 > > From: Alexander Bluhm > > > > On Thu, May 05, 2022 at 11:10:54PM +0200, Mark Kettenis wrote: > > > > Date: Thu, 5 May 2022 22:41:01 +0200 > > > > From: Alexander Bluhm > > > > > > > > Hi,

Re: divert packet kernel lock

2022-05-06 Thread Mark Kettenis
> Date: Fri, 6 May 2022 14:48:59 +0200 > From: Alexander Bluhm > > On Thu, May 05, 2022 at 11:10:54PM +0200, Mark Kettenis wrote: > > > Date: Thu, 5 May 2022 22:41:01 +0200 > > > From: Alexander Bluhm > > > > > > Hi, > > > > > > The easiest way to make divert_packet() MP safe for now, is to > >

Re: divert packet kernel lock

2022-05-06 Thread Vitaliy Makkoveev
sbappendaddr() has no sleep points, so this should work. I have no objections to commit this as quick and dirty fix. Otherwise the network stack parallelisation diff should be reverted. > On 6 May 2022, at 15:48, Alexander Bluhm wrote: > > On Thu, May 05, 2022 at 11:10:54PM +0200, Mark Kettenis

Re: divert packet kernel lock

2022-05-06 Thread Alexander Bluhm
On Thu, May 05, 2022 at 11:10:54PM +0200, Mark Kettenis wrote: > > Date: Thu, 5 May 2022 22:41:01 +0200 > > From: Alexander Bluhm > > > > Hi, > > > > The easiest way to make divert_packet() MP safe for now, is to > > protect sbappendaddr() with kernel lock. > > All other invocations of

Re: divert packet kernel lock

2022-05-05 Thread Mark Kettenis
> Date: Thu, 5 May 2022 22:41:01 +0200 > From: Alexander Bluhm > > Hi, > > The easiest way to make divert_packet() MP safe for now, is to > protect sbappendaddr() with kernel lock. All other invocations of sbappendaddr() run with the kernel lock held? If so, maybe that should be asserted

divert packet kernel lock

2022-05-05 Thread Alexander Bluhm
Hi, The easiest way to make divert_packet() MP safe for now, is to protect sbappendaddr() with kernel lock. ok? bluhm Index: netinet/ip_divert.c === RCS file: /data/mirror/openbsd/cvs/src/sys/netinet/ip_divert.c,v retrieving