Post by Greg TroxelIt would be a good project to go over altq and figure out if it needs
help to be modern; someone commented privately to me (I think) that altq
wasn't smp-friendly.
It needs a lot more than that. To the extent I've looked at it, I've
become increasingly persuaded that it's basically a toy. There's no
chance it can keep up with modern interface speeds.
Also, it basically cannot manage interface-private resources like
descriptor rings the way David wants, but letting a modern network
interface's ring stall is about the worst thing you can do in terms
of sustained performance.
ALTQ is too big, too "flexible" (in quotes because without something
like OpenBSD's pf integrated version, which slows it down even more,
it is not all that flexible!) and way too slow. It is demonstration
code, not something suitable for use on a modern high speed end host
or router.
I am aware that it works well when connecting fast local networks to
slow uplinks. But that is a very different task and also really a
matter of luck.
I think that a much less flexible implementation of some single effective
queueing discipline -- SFB perhaps, or this rumored autotuning RED
that Steve mentioned -- should be used to replace the current queueing
between the stack proper and the network interfaces. To handle the
issues relating to large descriptor rings (or no descriptor rings, on
other interface designs) an approach like the SCSI midlayer where
adapters announce their "opening" count to the stack might work.
*Maybe* then you'd get something that would have a chance in hell of
keeping up with 10Gb line rate on the fastest systems we support.
But anything like this means reworking every interface driver in the
system. I'd rate it somewhere between "very very unlikely" and
"never gonna happen".
--
Thor Lancelot Simon ***@rek.tjls.com
"We cannot usually in social life pursue a single value or a single moral
aim, untroubled by the need to compromise with others." - H.L.A. Hart
--
Posted automagically by a mail2news gateway at muc.de e.V.
Please direct questions, flames, donations, etc. to news-***@muc.de