From: Dan Malek <dan@embeddededge.com>
To: Joakim Tjernlund <Joakim.Tjernlund@lumentis.se>
Cc: Hans Feldt <Hans.Feldt@uab.ericsson.se>,
linuxppc-embedded@lists.linuxppc.org, scop@digitel.com.br,
thomas@corelatus.com
Subject: Re: [PATCH] arch/ppc/8xx_io/enet.c, version 2
Date: Wed, 13 Nov 2002 17:12:00 -0500 [thread overview]
Message-ID: <3DD2CE30.6090708@embeddededge.com> (raw)
In-Reply-To: 002901c28b5a$55f60820$0200a8c0@telia.com
Joakim Tjernlund wrote:
> OK, anyone against? Dan?
I'm currently looking at the patches and I'll be integrating something
that hopefully works :-)
This isn't something new that hasn't been tried before. The problem
in the past with non-coherent processors, incoming DMA, and skbufs is
the buffers would share cache lines with other data which would get
corrupted as the result of the invalidate for the DMA. Typically,
data that was corrupted were flags and control information for the IP
stack, and under "normal" use you wouldn't notice this. However,
forwarding/bridging applications would fail to work properly and you
would sometimes see packet retransmits that weren't necessary.
The "trick" is to ensure you allocate a larger than necessary sk buffer
and then align the start and end such that they consume entire cache
lines. There has been sufficient discussion about this that I hope
the sk buffer mechanism will allow this alignment now, as it didn't
work well in the past. This is what I want to check out when I
apply and test the patches.
This isn't necessary on the 8260 family due to cache snooping, but it
is required on the 8xx.
Of course, a packet checksum still needs to be performed, and if it
is done as part of the data copy (and if the IP stack doesn't do it
again), it would seem that this implementation rather than DMA would
be more efficient.
Thanks.
-- Dan
** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
next prev parent reply other threads:[~2002-11-13 22:12 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-10-24 14:23 [PATCH] arch/ppc/8xx_io/enet.c, version 2 Joakim Tjernlund
2002-10-24 14:59 ` Tom Rini
2002-10-24 15:46 ` Joakim Tjernlund
2002-11-01 11:01 ` Joakim Tjernlund
2003-01-28 11:54 ` [PATCH] arch/ppc/8xx_io/enet.c, version 3 Joakim Tjernlund
2003-02-03 10:21 ` Joakim Tjernlund
2003-02-03 12:28 ` Pantelis Antoniou
2002-10-28 15:17 ` [PATCH] arch/ppc/8xx_io/enet.c, version 2 Stephan Linke
2002-10-28 17:24 ` Joakim Tjernlund
2002-11-13 13:50 ` Hans Feldt
2002-11-13 16:35 ` Joakim Tjernlund
2002-11-13 19:30 ` Hans Feldt
2002-11-13 21:19 ` Joakim Tjernlund
2002-11-13 22:12 ` Dan Malek [this message]
2002-11-13 22:54 ` Joakim Tjernlund
2002-11-15 11:52 ` Hans Feldt
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=3DD2CE30.6090708@embeddededge.com \
--to=dan@embeddededge.com \
--cc=Hans.Feldt@uab.ericsson.se \
--cc=Joakim.Tjernlund@lumentis.se \
--cc=linuxppc-embedded@lists.linuxppc.org \
--cc=scop@digitel.com.br \
--cc=thomas@corelatus.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).