From: "Michael Chan" <mchan@broadcom.com>
To: "David S.Miller" <davem@davemloft.net>
Cc: mperaya@alcazaba.unex.es, netdev@oss.sgi.com
Subject: Re: tg3 support broken on PPC, a workaround
Date: Tue, 10 May 2005 12:43:30 -0700 [thread overview]
Message-ID: <1115754210.8570.63.camel@rh4> (raw)
In-Reply-To: <20050510.121214.39158393.davem@davemloft.net>
On Tue, 2005-05-10 at 12:12 -0700, David S.Miller wrote:
> From: "Michael Chan" <mchan@broadcom.com>
> Subject: Re: tg3 support broken on PPC, a workaround
> Date: Tue, 10 May 2005 09:52:46 -0700
>
> > In the new code, the DMA write bursts will disconnect at multiples of
> > cache lines instead of 1 cache line. And DMA read bursts will not
> > disconnect at cache line boundaries.
>
> We really should be disconnecting at single cacheline boundaries
> on RISC systems. The PCI controllers on RISC machines are
> going to disconnect the tg3 when it crosses a cache line
> boundary, so all these setting do is waste PCI bandwidth.
>
> From the sparc64 PCI controller programmer's manual:
>
> "When a DMA burst transfer attempts to go past a cache line (64B)
> boundary, U2P generates a disconnect. This should cause the
> master device to attempt the transaction again beginning at the
> address of the next untransferred data."
>
This should be fine. If the bridge requires termination at every cache
line, the bridge (target) will initiate disconnect and data will
terminate.
There is clear benefit in doing longer bursts when the bridge can handle
it.
It was explained to me that on some risc systems such as ppc, and
assuming the bridge can handle long DMA bursts, it is still best to
disconnect at page or cache line boundaries. The reason is that if the
burst stops at any arbitrary address, the bridge has to refetch the
cache line and often the mapping information. Disconnecting at multiple
cache lines is to address this problem while still achieving longer DMA
bursts.
next prev parent reply other threads:[~2005-05-10 19:43 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-05-10 9:33 tg3 support broken on PPC, a workaround Manuel Perez Ayala
2005-05-10 16:52 ` Michael Chan
2005-05-10 19:12 ` David S. Miller
2005-05-10 19:43 ` Michael Chan [this message]
2005-05-10 21:15 ` David S. Miller
2005-05-10 20:26 ` David S. Miller
2005-05-10 20:14 ` Michael Chan
2005-05-10 21:23 ` David S. Miller
2005-05-10 20:49 ` Michael Chan
2005-05-10 20:32 ` David S. Miller
2005-05-10 22:13 ` Rick Jones
2005-05-10 23:21 ` Grant Grundler
2005-05-10 23:36 ` David S. Miller
2005-05-11 6:04 ` Manuel Perez Ayala
2005-05-11 15:24 ` Michael Chan
2005-05-12 9:28 ` Manuel Perez Ayala
2005-05-12 16:33 ` Rick Jones
2005-05-12 18:06 ` Manuel Perez Ayala
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=1115754210.8570.63.camel@rh4 \
--to=mchan@broadcom.com \
--cc=davem@davemloft.net \
--cc=mperaya@alcazaba.unex.es \
--cc=netdev@oss.sgi.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).