[Click] Click and e1000e
    Eddie Kohler 
    kohler at cs.ucla.edu
       
    Wed Aug 27 12:38:23 EDT 2008
    
    
  
Adam Greenhalgh wrote:
> Unless I've miss understood click's threading model, a single poll
> device element with multiple outputs can only be assigned to one
> thread and hence once cpu. To be able to poll a 10G interface at line
> rate you need to assign between 3 and 4 cpus to the device, hence the
> need for multiple elements. A single core of a 2.6Ghz Xeon can only
> poll about 2.8 Mp/s .
* This does misunderstand Click's threading model.  Elements are not assigned 
to RouterThreads, Task objects are; and although no current element has 
multiple Tasks, there's no inherent reason why not.  PollDevice could have N 
Task objects, one per device queue.
* Nevertheless, I think one-element-per-queue might fit the Click style a 
little better.  And it wouldn't be that hard to implement, I think.
* One reason to use a single element for the device might be if switching a 
device to polling mode by necessity claims all of its queues (stops Linux from 
processing any of the device's queues).  In that case, might it be easier to 
understand if the device element claims all queues?
Overall I'd say I leaned towards one element per device queue, with something 
like a SUBDEVICE keyword argument that took a list of queues to poll.
Eddie
> 
> Adam
> _______________________________________________
> click mailing list
> click at amsterdam.lcs.mit.edu
> https://amsterdam.lcs.mit.edu/mailman/listinfo/click
    
    
More information about the click
mailing list