[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [microblaze-uclinux] xenet_FifoSend(struct sk_buff *orig_skb,structnet_device*dev)
Hi,
Had a look at memmove - it uses memcpy for ascending moves and its own
descending copy (with same basic algorithm) for descending moves. I could
re-write that in assembler (for generally faster moves), but I could also
write a much faster "move_halfword_higher()" specific function for use in
adapter.c, particularly if the following constraints are ok:
1. source is always word aligned
2. destination is always half-word aligned
3. the destination has enough extra room at the end to tolerate an extra
half-word of data written past the end of active data (i.e. maximum
(skb->len) + 2 bytes past skb->head+2).
I'm not fully understanding the relative position of skb->head and skb->
data -- can you clarify please? I'm guessing that we start with skb->head
and skb->data pointing to the same address and finish with skb->data and
skb->tail adjusted two bytes higher, leaving skb->head unchanged. Is this
correct?
Jim
----- Original Message -----
From: "Brettschneider Falk" <fbrettschneider@xxxxxxxxxxxxxxx>
To: <microblaze-uclinux@xxxxxxxxxxxxxx>
Sent: Tuesday, April 29, 2008 1:10 PM
Subject: RE: [microblaze-uclinux] xenet_FifoSend(struct sk_buff
*orig_skb,structnet_device*dev)
Hi,
Jim Law wrote:
Here is a new assembler memcpy for the MB.
cool...trying that...stay tuned...
... not sure what else I can add at this point. Is there any other
significant transfers or checksums that use other functions
that might benefit?
drivers/net/xilinx_emac/adapter.c has that ugly memmove() in
FifoRecvHandler(). Maybe memmove() can also be faster in assembler... ;-)
Cheers, 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/
___________________________
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/