From: "Benjamin Herrenschmidt" <benh@kernel.crashing.org>
To: "Andre Hedrick" <andre@linux-ide.org>,
"David S. Miller" <davem@redhat.com>
Cc: <jgarzik@pobox.com>, <linux-kernel@vger.kernel.org>,
<torvalds@transmeta.com>
Subject: Re: [RFC] {read,write}s{b,w,l} or iobarrier_*()
Date: Fri, 27 Sep 2002 11:59:48 +0200 [thread overview]
Message-ID: <20020927095948.5033@192.168.4.1> (raw)
In-Reply-To: <Pine.LNX.4.10.10209261951560.13669-100000@master.linux-ide.org>
>
>Now if we expand the issue into Jeff's world of the net-stack drivers, he
>banged me over the head with the issue of "pci-posting delays". Ben got
>his shots in also about the issue, too. Thus the resulting io_barrier
>additions by Ben to the original ATA-driver transformation, can be extened
>to the Net-Drivers. Oh and the slope is increasing fast now.
Actually, the iobarrier is a slightly different issue, it's not
related pci posting delays. (The only sane way to deal with them
is to do a read() from the same bus path).
The iobarrier's are a CPU-specific things that basically tell the
CPU not to re-order accesses around the barrier. This is necessary
for reads & writes to IO locations to be done in the order they
are written and not be speculated on CPUs that can do that sort
of things (PPC is one). By default, IO macros like {in,out}* and
{read,write}* do that implicitely (at least the PPC impl. of them
does the barriers) in addition to byteswap. But the raw_* versions
that we would need to avoid byteswap in implementing MMIO insw/outsw
also don't do the barriers, thus the macro I had to add.
Anyway, looks like we finally agree on getting {read,write}s{b,w,l}
in. I'll post a patch implementing them for PPC by tomorrow. That
will make things easier for IDE and possibly other drivers as well.
BTW. Jeff: the tulip patch don't really need those explicit
barriers from what I understand of it, you can probably merge the
patch without them.
Ben.
next prev parent reply other threads:[~2002-09-27 9:54 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-09-26 15:59 [RFC] {read,write}s{b,w,l} or iobarrier_*() Benjamin Herrenschmidt
2002-09-26 16:23 ` Jeff Garzik
2002-09-26 21:12 ` David S. Miller
2002-09-27 6:21 ` Andre Hedrick
2002-09-27 9:59 ` Benjamin Herrenschmidt [this message]
2002-09-27 8:41 ` Geert Uytterhoeven
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=20020927095948.5033@192.168.4.1 \
--to=benh@kernel.crashing.org \
--cc=andre@linux-ide.org \
--cc=davem@redhat.com \
--cc=jgarzik@pobox.com \
--cc=linux-kernel@vger.kernel.org \
--cc=torvalds@transmeta.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