hi Stephen,

> Use netdev_alloc_skb instead. It sets skb->dev so you don't have to.

netdev_alloc_skb() seems to cause 2 function calls [__netdev_alloc_skb()
and __alloc_skb()], instead of just 1 for the dev_alloc_skb() case.
It might be more efficient if the driver manually sets skb->dev.


> Setting skb->len is redundant since that is what skb_put() does.

That's why that line is being removed.


> It would be best if you didn't have to copy data at all and could
> receive directly into the skb.

Probably, but then we'd need to worry about DMA and cache-aligned
skb's.  We'd also need to always allocate maximum-sized skb's;  and that
might be an issue since the AT91RM9200 is mainly used in embedded
devices where the amount of RAM can be limited.


> The existing code will cause poor realtime
> performance since the driver is copying received data with IRQ's disabled.

Only lower-priority interrupts should be disabled.


Regards,
  Andrew Victor


-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to