zero copy network driver

From: Ask (ask8y_at_yahoo.com)
Date: 08/26/04


Date: 26 Aug 2004 07:39:42 -0700

Implementation of transmit function.
 hard_start_xmit(struct sk_buff *skb, struct net_device *dev).
If I do zro copy, iahve to make sure the data in the buffer has been
transmitted by the hardware not just tell the hardware start to
transmit.

If the hardware runnning in poll mode, I can poll the buffer
descriptor to see if the transmit has been done before the retunn. And
this is not very good, in the sanse that even the hW does not pushed
out the data, the driver might have idle buffer descriptor available
to accept data. But at leat I am sure the data has been pushed out by
HW before the function returns.

However if in in interrupt mode (most likely it'b be in), how could I
handle this? Before next interrrupt happens I could not if the data
has been pushed out by the HW. If the function just returns after tell
HW to start transmit, it might happens that the calling function
release the buffer even before the HW transmits it.

Thanks for your help.



Relevant Pages

  • Serial Communication in C# Express
    ... ago and I really appreciated Nicholas Paldino's help, ... > I can only achieve to transmit '34', ... After the usual port initialization, ... // Obtain the number of bytes waiting in the port's buffer ...
    (microsoft.public.dotnet.languages.csharp)
  • Re: [PATCH 1/2] take 2: (was-kind-of: 3/5 SPI tx_default) 2.6.20-rc6
    ... out all ones or all zeroes. ... of the multiple conditionals when the tx buffer is null, ... + * If the transmit buffer is null, zeroes will be shifted out while ... Only "len" bytes shift out. ...
    (Linux-Kernel)
  • PDIUSBD12 returns Buffer Overrun
    ... to successfully enumerate the device from a Windows driver. ... to the end point buffer and issue the Validate Buffer command - ... I want one more information - when a EP1 transmit ISR fires does ...
    (comp.arch.embedded)
  • PDIUSBD12 returns Buffer Overrun
    ... to successfully enumerate the device from a Windows driver. ... to the end point buffer and issue the Validate Buffer command - ... I want one more information - when a EP1 transmit ISR fires does ...
    (sci.electronics.design)
  • DS31256 (HDLC Controller )buffering problems
    ... I have a DS31256 driver (basically a modified version of the Dallas ... motorola processor to the HDLC Controller via a PCI bus. ... But after a while I run out of Tx Buffer descriptors and have to wait ... If I have a timeout of like 1 ms, I'm able to transmit ...
    (comp.dcom.telecom.tech)