10gbps scalability (was: Re: FreeBSD problems and preliminary ways to solve)

Lev Serebryakov lev at freebsd.org
Sat Aug 20 21:10:08 UTC 2011


Hello, Luigi.
You wrote 20 августа 2011 г., 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. 
> And that comes before support for special HW features. 
 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?


-- 
// Black Lion AKA Lev Serebryakov <lev at freebsd.org>



More information about the freebsd-arch mailing list