Messages in this thread | | | Date | Thu, 11 Sep 2008 02:07:26 +0200 | From | Thomas Graf <> | Subject | Re: [PATCH 1/2] Traffic control cgroups subsystem |
| |
* Paul Menage <menage@google.com> 2008-09-10 16:51 > On Wed, Sep 10, 2008 at 4:45 PM, Thomas Graf <tgraf@suug.ch> wrote: > > > > That's argueable I guess. Likely or not, it doesn't make sense to > > add such restrictions if not required, especially not when it is > > trivial to just look at the cgroup of the task directly. > > Isn't a very large fraction of outgoing network traffic driven from > net_tx_action(), which doesn't execute in the context of the sending > process? Or am I missing something?
net_tx_action() dequeues from the qdisc. The classification is done before the packets is enqueued onto the qdisc.
A special case exists when the packets needs to be requeued, in this case the enqueue() is done in softirq context but it should not invoke the classifier again if I remember correctly.
> You claimed "In the most common case, the packet is not queued before > it hits the qdisc so this takes away a lot of complexity and is very > fast but should still be sufficient.". But is that really true on a > system where the network is busy? (Which is after all exactly the case > where you care about accurate traffic accounting/policing)
To my best knowledge it is, otherwise I wouldn't say it. Feel free to prove me wrong.
F.e. it doesn't work if an ifb device is added to egress between the user and the cgroup classifier. That's what I mean with common cases.
| |