tech-net archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: RFC: new ifnet MP-scalable sending interface
Hi,
On 2016/04/22 16:47, Joerg Sonnenberger wrote:
> On Fri, Apr 22, 2016 at 11:09:24AM +0900, Kengo NAKAHARA wrote:
>> So, I want to introduce new MP-scalable ifnet interface which doesn't
>> use if_snd queue and directly pass mbuf to lower layers. The interface
>> is called if_transmit() and the prototype is the following:
>> int (*if_transmit)(struct ifnet *, struct mbuf *);
>
> Let me try to expand that a bit and you comment on whether it actually
> reflects your intention.
>
> The old interface queueing implementation is based on assumption
> that restarting transmits after the in-device queue is cheaper than
> continued requeueing from the network stack. The new interface provides
> a hook for processing each outgoing packet individually. It can provide
> the old interface via a generic glue implementation, but it also allows
> a device more granular control.
Yes, you are right. I implement glue function(if_transmit()@if.c) in
my patch pointed previous mail, which call IFQ_ENQUEUE and ifp->if_start().
With the new interface, a device can control a packet to put H/W queues
with appropriate lock granularity.
> Most noticably, it can be used to avoid
> ever getting TXEOF interrupts while the device is actively being used.
Hmm, do you mean so-called "poll-mode"?
Thanks,
--
//////////////////////////////////////////////////////////////////////
Internet Initiative Japan Inc.
Device Engineering Section,
IoT Platform Development Department,
Network Division,
Technology Unit
Kengo NAKAHARA <k-nakahara%iij.ad.jp@localhost>
Home |
Main Index |
Thread Index |
Old Index