Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 6 Jun 2011 18:14:33 +0700
From:      Vadim Goncharov <vadim_nuclight@mail.ru>
To:        Robert Watson <rwatson@FreeBSD.org>
Cc:        svn-src-all@FreeBSD.org
Subject:   Re: svn commit: r222702 - head/sys/sys
Message-ID:  <201106061114.p56BEYws037684@kernblitz.nuclight.avtf.net>
In-Reply-To: <alpine.BSF.2.00.1106051019150.74164@fledge.watson.org>
References:  <201106042331.p54NVfC0030751@svn.freebsd.org> <4DEB3C32.9070709@freebsd.org> <alpine.BSF.2.00.1106051019150.74164@fledge.watson.org>

next in thread | previous in thread | raw e-mail | index | archive | help
Hi Robert Watson! 

On Sun, 5 Jun 2011 10:20:34 +0100 (BST); Robert Watson <rwatson@FreeBSD.org> wrote:

>> hmm note that my stealing of 4 bits for FIB was supposed to go away for 8 
>> and beyond. We need to do an mbuf redesign.. at this stage, I guess it's a 
>> project for 10.

> Indeed -- it would be nice not just to reclaim the FIB bits, but also to 
> support more simultaneous FIBs.  We still need to do a KBI analysis of mbuf 
> for 9.0 across various architectures, but it would be pretty late to fix the 
> FIB thing.  On a redesign, clearly too late for that as well.  I still hope we 
> can get the variable size mbuf cluster in for 10 though.

An observation for redesign: we also need a somewhat garbage collection in
the networking subsytem, for example, a generation count field in an
mbuf (pkthdr?) header.  The problem is when mbuf or some of it's mbuf_tags(9)
holds pointer to an entity which is already gone while mbuf was in-the-fly
(e.g. delayed in dummynet). There are at lease two PRs with this problem for
the case of destroyed network interfaces:

http://www.freebsd.org/cgi/query-pr.cgi?pr=kern/153255
http://www.freebsd.org/cgi/query-pr.cgi?pr=kern/153671

They are closed, but only because patches were used for specific production
use with specific value of net.isr.direct. Originator confirmed yesterday
that system still panics in such cases with INVARIANTS.

Also, there were voices lining idea to have more than 256 FIBs, e.g. 4096.
May be a new uint32_t with bitfields for FIBs, hash and generation count?..

-- 
WBR, Vadim Goncharov. ICQ#166852181       mailto:vadim_nuclight@mail.ru
[Moderator of RU.ANTI-ECOLOGY][FreeBSD][http://antigreen.org][LJ:/nuclight]



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