Date: Sat, 29 Jan 2011 17:17:39 +0300 From: Slawa Olhovchenkov <slw@zxy.spb.ru> To: Bruce Evans <brde@optusnet.com.au> Cc: freebsd-performance@FreeBSD.org, Julian Elischer <julian@FreeBSD.org>, Stefan Lambrev <stefan.lambrev@moneybookers.com> Subject: Re: Interrupt performance Message-ID: <20110129141739.GL18170@zxy.spb.ru> In-Reply-To: <20110129233542.O20731@besplex.bde.org> References: <22E77EED-6455-4164-9115-BBD359EC8CA6@moneybookers.com> <20110128161035.GF18170@zxy.spb.ru> <CDBFAB7F-1EBC-4B3A-B2F5-6162DD58A93D@moneybookers.com> <4D42F87C.7020909@freebsd.org> <20110128172516.GG18170@zxy.spb.ru> <20110129070205.Q7034@besplex.bde.org> <20110128215215.GJ18170@zxy.spb.ru> <20110129133859.O967@besplex.bde.org> <20110129102420.GK18170@zxy.spb.ru> <20110129233542.O20731@besplex.bde.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Sat, Jan 29, 2011 at 11:54:11PM +1100, Bruce Evans wrote: > >> So FreeBSD has about 18% more network overhead (absolute: 65-47), or > >> about 38% more network overhead (relative: (65-47)/47). Not too > >> surprising -- the context switches alone might cost that. > > > > For only 14K vs 56K interrupt. 152% more network overhead per one interrupt. > > No, FreeBSD does 4 times as much work per interrupt. 4 times as much > (300%) "overhead" per interrupt is to be expected, since most (hopefully > more than half :-) of the "overhead" is actual work. > > > And I see drammaticaly less number of context switches in linux stats > > (by dstat). > > FreeBSD uses ithreds for most interrupts, so of course it does many > more context switches (at least 2 per interrupt). This doesn't make > much difference provided there are not too many. I think the version > of re that you are using actually uses "fast" interrupts and a task > queue. This also seems to be making little difference. You get a > relatively lightweight "fast" interrupt following by followed by a > context switch to and from the task. IIRC, your statistics showed > about twice as many context switches as interrupts, so the task queue > isn't doing much to reduce the "interrupt overhead" -- it just gives > context switches to the task instead of to an ithread. It seems as root of difference with linux systems. I found this link http://www.freebsd.org/doc/en/books/arch-handbook/smp-design.html. No light weight context switches in the near future?
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20110129141739.GL18170>