> On March 5, 2015, 1:36 a.m., Chi Zhang wrote:
> > src/slave/containerizer/isolators/network/port_mapping.cpp, line 1531
> > <https://reviews.apache.org/r/31505/diff/2/?file=884517#file884517line1531>
> >
> >     looks like the library code uses uint32_t here but your set is 
> > uint16_t. assuming you have a reason to do that in the library, maybe just 
> > uint32_t in the client code as well? are there other caveats?
> >     
> >     it's weired for the library to support a 32bit type but the client 
> > takes the liberty to use a 16bit type.

It is not weird at all if you understand how a flowid is interpreted by kernel. 
We only need to generate its secondary part, because its primary part is 
ignored by fq_codel, we simply fill it with its parent (fq_codel::HANDLE).

    if (TC_H_MIN(res.classid) <= q->flows_cnt)
           return TC_H_MIN(res.classid);


As I said in comment, we do need a better API here, which is another topic.


- Cong


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/31505/#review75271
-----------------------------------------------------------


On March 4, 2015, 8:18 p.m., Cong Wang wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/31505/
> -----------------------------------------------------------
> 
> (Updated March 4, 2015, 8:18 p.m.)
> 
> 
> Review request for mesos, Chi Zhang, Ian Downes, and Jie Yu.
> 
> 
> Bugs: MESOS-2422
>     https://issues.apache.org/jira/browse/MESOS-2422
> 
> 
> Repository: mesos
> 
> 
> Description
> -------
> 
> Currently we do nothing on the host egress side. By default, kernel uses its 
> own hash function to classify the packets to different TX queues (if the 
> hardware interface supports multiqueue). So packets coming out of different 
> containers could end up queueing in the same TX queue, in this case we saw 
> buffer bloat on some TX queue caused packet drops.
> 
> We need to isolation the egress traffic so that containers will not have 
> interference with each other. The number of hardware TX queues is limited by 
> hardware interface, usually not enough to map our container in 1:1 way, 
> therefore we need some software solution. We choose fq_codel and use tc 
> filters to classify packets coming out of different containers to different 
> fq_codel flows, and the codel algorithm on each flow could also help us to 
> reduce the buffer bloat. Note when the packets leave fq_codel, they still 
> share the physical TX queue(s), this is however (almost) beyond what we can 
> control, we have to rely on the kernel behavior.
> 
> TODO: get some performance numbers
> 
> 
> Diffs
> -----
> 
>   src/slave/containerizer/isolators/network/port_mapping.hpp 8443097 
>   src/slave/containerizer/isolators/network/port_mapping.cpp 5227987 
> 
> Diff: https://reviews.apache.org/r/31505/diff/
> 
> 
> Testing
> -------
> 
> Manually start two mesos containers with netperf running side.
> 
> 
> Thanks,
> 
> Cong Wang
> 
>

Reply via email to