[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/