[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[microblaze-uclinux] xenet_FifoSend(struct sk_buff *orig_skb, struct net_device *dev)



Hi,

I had a look at xenet_FifoSend(), noticed the necessary memcpy() of the TCP data to a DWORD-aligned address, but was wondering if we can do the
 new_skb = alloc_skb(...)
only once on the first call to xenet_FifoSend() and with a package maximum size, and then reuse new_skb for each call to xenet_FifoSend().
This would reduce the permanent alloc and free for each socket buffer copy.
We measured the spent time of xenet_FifoSend() with 600us and just 50us were used in XEmac_FifoSend().
Though I don't know how long the spin_lock_irqsave/spin_lock_irqrestore pair takes.
The only thing would be that the copy buffer would never be freed, but maybe we can live with it.

What do you think about this?
CU, Falk

___________________________
microblaze-uclinux mailing list
microblaze-uclinux@xxxxxxxxxxxxxx
Project Home Page : http://www.itee.uq.edu.au/~jwilliams/mblaze-uclinux
Mailing List Archive : http://www.itee.uq.edu.au/~listarch/microblaze-uclinux/