Skip site navigation (1)Skip section navigation (2)
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>