--001a1141a590fc50540534a3f97d
Content-Type: text/plain; charset=UTF-8
On Mon, Jun 6, 2016 at 3:10 AM, Corcodel Marian <
asd@marian1000.go.ro>
wrote:
On 06.06.2016 12:59, Corcodel Marian wrote:
Hi
Why sk_buff have memory allocated on hardware drivers on majority nic
drivers?
This seems like an appropriate question for netdev mailing list:
http://vger.kernel.org/vger-lists.html#netdev
(Tip: explain in more detail what you think is wrong with "rx mode" and
someone should be polite enough to point out why it works. Offhand, I don't quite understand what you are trying to point out.)
cheers,
grant
This is wrong on rx mode look like:
struct sk_buff *skb;
struct device *d = &tp->pci_dev->dev;
data = rtl8169_align(data);
dma_sync_single_for_cpu(d, addr, pkt_size, DMA_FROM_DEVICE);
prefetch(data);
skb = netdev_alloc_skb_ip_align(tp->dev, pkt_size);
if (skb)
memcpy(skb->data, data, pkt_size);
dma_sync_single_for_device(d, addr, pkt_size, DMA_FROM_DEVICE);
sk_buff is allocated on place tx mode
and on start_xmit no need to keep sk_buff on hardware structure because
any info is extracted from
next level of driver.
--
Visit my project https://sourceforge.net/projects/network-card-driver/?source=navbar
--001a1141a590fc50540534a3f97d
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Jun 6, 2016 at 3:10 AM, Corcodel Marian <span dir="ltr"><<a href="mailto:
asd@marian1000.go.ro" target="_blank">
asd@marian1000.go.ro</a>></span> wrote:<br><blockquote
class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><br>
On 06.06.2016 12:59, Corcodel Marian wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex">
Hi<br>
Why sk_buff have memory allocated on hardware drivers on majority nic drivers?<br></blockquote></blockquote><div><br></div><div>This seems like an appropriate question for netdev mailing list:</div><div> <a href="
http://vger.kernel.org/vger-
lists.html#netdev">
http://vger.kernel.org/vger-lists.html#netdev</a></div><div><br></div><div>(Tip: explain in more detail what you think is wrong with "rx mode" and someone should be polite enough to point out why it works. Offhand, I don'
t quite understand what you are trying to point out.)</div><div><br></div><div>cheers,</div><div>grant</div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(
204,204,204);padding-left:1ex"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex">
This is wrong on rx mode look like:<br>
struct sk_buff *skb;<br>
struct device *d = &tp->pci_dev->dev;<br>
data = rtl8169_align(data);<br>
dma_sync_single_for_cpu(d, addr, pkt_size, DMA_FROM_DEVICE);<br>
prefetch(data);<br>
skb = netdev_alloc_skb_ip_align(tp->dev, pkt_size);<br>
if (skb)<br>
memcpy(skb->data, data, pkt_size);<br>
dma_sync_single_for_device(d, addr, pkt_size, DMA_FROM_DEVICE);<br>
sk_buff is allocated on place tx mode<br>
and on start_xmit no need to keep sk_buff on hardware structure because any info is extracted from<br>
next level of driver.<br>
<br><span class=""><font color="#888888">
</font></span></blockquote><span class=""><font color="#888888">
-- <br>
Visit my project <a href="
https://sourceforge.net/projects/network-card-driver/?source=navbar" rel="noreferrer" target="_blank">
https://sourceforge.net/projects/network-card-driver/?source=navbar</a><br>
</font></span></blockquote></div><br></div></div>
--001a1141a590fc50540534a3f97d--
--- SoupGate-Win32 v1.05
* Origin: fsxNet Usenet Gateway (21:1/5)