Date: Sun, 21 Aug 2011 01:10:05 +0400 From: Lev Serebryakov <lev@freebsd.org> To: Luigi Rizzo <rizzo@iet.unipi.it> Cc: freebsd-arch@freebsd.org Subject: Re: 10gbps scalability (was: Re: FreeBSD problems and preliminary ways to solve) Message-ID: <1361908410.20110821011005@serebryakov.spb.ru> In-Reply-To: <20110820134530.GA42942@onelab2.iet.unipi.it> References: <slrnj4oiiq.21rg.vadim_nuclight@kernblitz.nuclight.avtf.net> <810527321.20110819123700@serebryakov.spb.ru> <201108191401.23083.pieter@degoeje.nl> <425884435.20110819175307@serebryakov.spb.ru> <20110819172252.GE88904@in-addr.com> <368496955.20110820101506@serebryakov.spb.ru> <alpine.BSF.2.00.1108201234280.4529@fledge.watson.org> <20110820134530.GA42942@onelab2.iet.unipi.it>
next in thread | previous in thread | raw e-mail | index | archive | help
Hello, Luigi. You wrote 20 =E0=E2=E3=F3=F1=F2=E0 2011 =E3., 17:45:30: > - the Click modular router now runs (in userspace) at up to 4Mpps > per core, which is faster than in-kernel linux; > A userspace version of ipfw should be available in a short time, > and i have some work in progress to bring the forwarding tables > in userspace (but of course you can do the same with Click). > I also see people start using it, which is a good thing because > i am getting useful feedback on features and bugs and patches > for more device drivers. [SKIPPED] > On the general issue of improving performance of the network stack, > I feel that to achieve significant speed improvements we should > really reconsider the way things are done in the network stack.=20 > And that comes before support for special HW features.=20 Could you please explain (I don't mean, that you are wrong, I really don't understand), how netmap and other user-level processing could help for ROUTING (with firewalling, different routes, etc) and software switching? I understand very well, why this help user-level applications, which need to process huge PPS rates. Less memcpy, less allocations, less context switches (and TLB/cache flushes) -- all these things is very clear to me. But why user-level software swithcing is faster than in-kernel one, hwcih should wotk without memory context switches AT ALL?! Or netmap is used for prototyping code, which will be moved into kernel later? --=20 // Black Lion AKA Lev Serebryakov <lev@freebsd.org>
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1361908410.20110821011005>