Re: [PATCH v4] net: add Faraday FTMAC100 10/100 Ethernet driver

From: Eric Dumazet
Date: Thu Feb 24 2011 - 03:22:52 EST


Le jeudi 24 fÃvrier 2011 Ã 16:07 +0800, Po-Yu Chuang a Ãcrit :
> Hi David,
>
> On Thu, Feb 24, 2011 at 3:51 PM, David Miller <davem@xxxxxxxxxxxxx> wrote:
> > From: Po-Yu Chuang <ratbert.chuang@xxxxxxxxx>
> > Date: Thu, 24 Feb 2011 15:27:55 +0800
> >
> >> I guess the problem is because a HW restriction that the rx buffer must be
> >> 64 bits aligned. Since I cannot make rx buffer starts at offset 2 bytes, the
> >> IP header, TCP header and data are not 4 bytes aligned. The performance
> >> drops drastically.
> >
> > I cannot believe that after 20 years of commodity ethernet networking
> > chips were first designed, people are still designing hardware that
> > doesn't do this right.
>
> Ha ha...
> Well, this restriction was removed in the later IPs of our company. :-p
>
> >
> > Just emit garbage bytes into the sub-word alignment padding if the chip
> > wants to word align it's DMA writes.
>
> Not sure what do you mean. The problem is that HW does not accept a
> base address of RX buffer which is not 8 bytes aligned.

I still dont understand the problem, maybe you should post your work as
RFC

Why not using for the first part the skb buffer (eventually copy the
first 128 bytes to get aligned IP/TCP header), and add frags for
following parts ?



--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/