Re: tcp syn cache unlock

2023-10-12 Thread Vitaliy Makkoveev
On Wed, Oct 11, 2023 at 09:08:33PM -0500, Scott Cheloha wrote: > On Tue, Oct 10, 2023 at 05:26:14PM +0300, Vitaliy Makkoveev wrote: > > On Tue, Oct 10, 2023 at 09:06:23AM -0500, Scott Cheloha wrote: > > > On Fri, Oct 06, 2023 at 03:41:39PM +0200, Alexander Bluhm wrote: > > > > On Fri, Oct 06, 2023

Re: tcp syn cache unlock

2023-10-11 Thread Scott Cheloha
On Tue, Oct 10, 2023 at 05:26:14PM +0300, Vitaliy Makkoveev wrote: > On Tue, Oct 10, 2023 at 09:06:23AM -0500, Scott Cheloha wrote: > > On Fri, Oct 06, 2023 at 03:41:39PM +0200, Alexander Bluhm wrote: > > > On Fri, Oct 06, 2023 at 03:47:31PM +0300, Vitaliy Makkoveev wrote: > > > > On Fri, Oct 06, 2

Re: tcp syn cache unlock

2023-10-10 Thread Vitaliy Makkoveev
On Tue, Oct 10, 2023 at 09:06:23AM -0500, Scott Cheloha wrote: > On Fri, Oct 06, 2023 at 03:41:39PM +0200, Alexander Bluhm wrote: > > On Fri, Oct 06, 2023 at 03:47:31PM +0300, Vitaliy Makkoveev wrote: > > > On Fri, Oct 06, 2023 at 02:14:52PM +0200, Alexander Bluhm wrote: > > > > > @@ -718,11 +743,1

Re: tcp syn cache unlock

2023-10-10 Thread Scott Cheloha
On Fri, Oct 06, 2023 at 03:41:39PM +0200, Alexander Bluhm wrote: > On Fri, Oct 06, 2023 at 03:47:31PM +0300, Vitaliy Makkoveev wrote: > > On Fri, Oct 06, 2023 at 02:14:52PM +0200, Alexander Bluhm wrote: > > > > @@ -718,11 +743,13 @@ softclock(void *arg) > > > > softclock_pro

Re: tcp syn cache unlock

2023-10-06 Thread Alexander Bluhm
On Fri, Oct 06, 2023 at 03:47:31PM +0300, Vitaliy Makkoveev wrote: > On Fri, Oct 06, 2023 at 02:14:52PM +0200, Alexander Bluhm wrote: > > > @@ -718,11 +743,13 @@ softclock(void *arg) > > > softclock_process_tick_timeout(to, new); > > > } > > > tostat.tos_softclocks++; > > > -

Re: tcp syn cache unlock

2023-10-06 Thread Vitaliy Makkoveev
On Fri, Oct 06, 2023 at 02:14:52PM +0200, Alexander Bluhm wrote: > On Fri, Oct 06, 2023 at 02:12:31PM +0300, Vitaliy Makkoveev wrote: > > I reworked your diff for a little. At firts I use separate > > softclock_thread_mpsafe() for mpsafe timers. I don't think we need to > > bind this thread to the

Re: tcp syn cache unlock

2023-10-06 Thread Vitaliy Makkoveev
On Fri, Oct 06, 2023 at 02:14:52PM +0200, Alexander Bluhm wrote: > > @@ -718,11 +743,13 @@ softclock(void *arg) > > softclock_process_tick_timeout(to, new); > > } > > tostat.tos_softclocks++; > > - needsproc = !CIRCQ_EMPTY(&timeout_proc); > > - mtx_leave(&timeout_mut

Re: tcp syn cache unlock

2023-10-06 Thread Alexander Bluhm
On Fri, Oct 06, 2023 at 02:12:31PM +0300, Vitaliy Makkoveev wrote: > I reworked your diff for a little. At firts I use separate > softclock_thread_mpsafe() for mpsafe timers. I don't think we need to > bind this thread to the primary CPU. I also think a separate thread is better. Makes no sense t

Re: tcp syn cache unlock

2023-10-06 Thread Vitaliy Makkoveev
On Thu, Oct 05, 2023 at 10:07:24PM +0300, Vitaliy Makkoveev wrote: > On Thu, Oct 05, 2023 at 11:09:52AM -0500, Scott Cheloha wrote: > > On Thu, Oct 05, 2023 at 12:57:24AM +0200, Alexander Bluhm wrote: > > > > > > This is a first step to unlock TCP syn cache. The timer function > > > is independen

Re: tcp syn cache unlock

2023-10-05 Thread Vitaliy Makkoveev
On Thu, Oct 05, 2023 at 11:09:52AM -0500, Scott Cheloha wrote: > On Thu, Oct 05, 2023 at 12:57:24AM +0200, Alexander Bluhm wrote: > > > > This is a first step to unlock TCP syn cache. The timer function > > is independent of the socket code. That makes it easy to start > > there. > > > > [...]

Re: tcp syn cache unlock

2023-10-05 Thread Scott Cheloha
On Thu, Oct 05, 2023 at 12:57:24AM +0200, Alexander Bluhm wrote: > > This is a first step to unlock TCP syn cache. The timer function > is independent of the socket code. That makes it easy to start > there. > > [...] > > Still missing: > - [...] > - Run timer without kernel lock. I am not aw

tcp syn cache unlock

2023-10-04 Thread Alexander Bluhm
Hi, This is a first step to unlock TCP syn cache. The timer function is independent of the socket code. That makes it easy to start there. Introduce tcp syn cache mutex. Document fields protected by net lock and mutex. Devide timer function in parts protected by mutex and sending with netlock