Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 15 Jan 2015 17:42:36 +0100
From:      Hans Petter Selasky <hps@selasky.org>
To:        Slawa Olhovchenkov <slw@zxy.spb.ru>
Cc:        Adrian Chadd <adrian@freebsd.org>, FreeBSD Current <freebsd-current@freebsd.org>, sbruno@freebsd.org, Jason Wolfe <nitroboost@gmail.com>, "freebsd-arch@freebsd.org" <freebsd-arch@freebsd.org>
Subject:   Re: [RFC] kern/kern_timeout.c rewrite in progress
Message-ID:  <54B7EDFC.9020406@selasky.org>
In-Reply-To: <20150115155810.GE3698@zxy.spb.ru>
References:  <54A92ED1.2070906@selasky.org> <CAJ-Vmo=tc-hqykhyc5bQW8qd_34PZU6yfGY8wziByA0xnR3ANQ@mail.gmail.com> <54A9A71E.70609@selasky.org> <CAAAm0r39Sv3TCvwaCiNQ1Y9iBVtY_nb0A_iNOC41bgxqXmt%2B4w@mail.gmail.com> <54B29A49.3080600@selasky.org> <CAAAm0r2eNYicq%2BKKj5f5EE%2BKLPxdvy15wj1ZWS=zA6sgOtcoGQ@mail.gmail.com> <54B67DA7.3070106@selasky.org> <54B7DECF.8070209@selasky.org> <20150115154617.GB10325@zxy.spb.ru> <54B7E1E4.6040906@selasky.org> <20150115155810.GE3698@zxy.spb.ru>

next in thread | previous in thread | raw e-mail | index | archive | help
On 01/15/15 16:58, Slawa Olhovchenkov wrote:
> On Thu, Jan 15, 2015 at 04:51:00PM +0100, Hans Petter Selasky wrote:
>
>> On 01/15/15 16:46, Slawa Olhovchenkov wrote:
>>> On Thu, Jan 15, 2015 at 04:37:51PM +0100, Hans Petter Selasky wrote:
>>>
>>> Only stability impovement?
>>> Or performance too?
>>
>> Hi,
>>
>> Stability improvement mostly. Should not affect performance from what I
>> know. Some changes are made about when and how we can select a different
>> callback CPU for a callout callback. Try reading the updated timeout(9)
>
> I am not kernel guru and can't be draw a conclusion from manual page.
>
>> man manual page first. Maybe it answers your question. Else feel free to
>> ask here.
>
> As I understand performance for massive TCP connections (tens of
> thousands connections) will be same, no improvement, no degraded?
> (very high lock congestion on TCP timers working).

Hi,

There is no difference in memory footprint per TCP connection.

There is no significant different in the amount of code executed when a 
callout is started/stopped or reset.

There might be a reduction in the number of times the spinlocks inside 
the callout subsystem are locked/unlocked, due to some simplifications 
made and checks for redundant locking.

The changes are mainly about closing some races in the callout subsystem 
and cornercases towards the TCP/IP stack which use callouts.

There is a patch for the TCP/IP stack coming possibly next week to take 
advantage of the new callout_drain_async() function. It is not ready 
yet, and I'm waiting for the current callout patch to settle first.

--HPS



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?54B7EDFC.9020406>