On 11/23/2011 01:47 PM, jamal wrote:
On Wed, 2011-11-23 at 09:12 +0100, Eric Dumazet wrote:I had no time to look at OVS, but current tc model is not scalable, everything is performed under a queue lock. Maybe its time to redesign a new model, based on modern techniques.Making the enqueur/dequeuer lockless would be a big win. What happened to your idea of ring buffer?
It's not so much 'modern tecniques', as modern environments. High on my list would be a way to more easily expose QoS and AQM features in the hardware all the way up the stack. I'd like the hardware to be able to express 'I have FQ', or 'I have red',much like we express many other features in ethtool, only abstractly enough so that a qdisc setup can be made generic.
I find the mapping from hardware queues to any sort of complex software queuing scheme hard to conceptualize. Also, as structured, tc cannot be easily applied to wireless APs.What other hot areas do you see? It used to be ingress/egress share the qdisc lock - but that is now gone.
I find tc's concepts incredibly difficult to use effectively. They start with the presumption that what you are working with is a 1998 point to point link and get harder from there. That said I think I've almost managed to bend it to my will of late...By the way, we seriously lack good documentation on tc, not counting many features. Code might be there, but without documenation, working samples, who can use it ?
(this email written under the influence of Byte Queue Limits + QFQ + RED, on ethernet)
Take a look at last cls_flow extension, and try to use it on a real setup, you'll find its almost not possible...There's no tc-central.org unlike the nice effort the netfilter guys have put over the years. Documentation is there - sometimes a little too much with differing "opinions" (lartc that Herbert pointed to is a good starting point); but googling also helps. Unfortunately, sometimes the people who understand stuff have no motivation to do docs.
After burning the last several months getting good enough at the tc layerto do stuff in it, I would certainly like to have a place to put documentation,
and also easily update what already exists.If it helps any I could offer a redmine instance on bufferbloat.net for this.
redmine has bug tracking and a wiki... It would be nice also if the iproute2 code contained more working examples, and man pages. It's a ton of doc work, but I'd be willing to do some of it.
cheers, jamal -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
-- Dave Täht
<<attachment: dave_taht.vcf>>
_______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev