From: Jeff Garzik <jeff@garzik.org>
To: Roland Dreier <rdreier@cisco.com>
Cc: Hitoshi Mitake <h.mitake@gmail.com>, Ingo Molnar <mingo@elte.hu>,
David Miller <davem@davemloft.net>,
Linus Torvalds <torvalds@linux-foundation.org>,
hpa@zytor.com, tglx@linutronix.de, rpjday@crashcourse.ca,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH] x86: Remove readq()/writeq() on 32-bit
Date: Wed, 13 May 2009 18:29:24 -0400 [thread overview]
Message-ID: <4A0B49C4.4000502@garzik.org> (raw)
In-Reply-To: <ada8wl0iro4.fsf@cisco.com>
Roland Dreier wrote:
> > To repeat what has already been stated, each case was re-evaluated:
> > http://marc.info/?l=linux-kernel&m=124103527326835&w=2
> >
> > Roland's patch was acked, apparently, _in spite of_ the commonly
> > accepted readq() definition already being in use!
> >
> > Thusfar, I see two things:
> >
> > (1) years of history has shown that non-atomic readq/writeq on 32-bit
> > platforms has been sufficient, based on testing and experience. In
> > fact, in niu's case, a common readq/writeq would have PREVENTED a bug.
>
> But the fact that the 32-bit x86 define would have worked for niu is
> pure luck -- if the clear-on-read bits had been in the other half of the
> register in question, then it would have caused a bug. And I really
> don't trust all ASIC designers writing RTL to think about which half of
> a 64-bit register is going to be read first.
AFAICS things have unerringly occurred in PCI ordering, which is what
one would expect.
What you call pure luck, others call 100% track record.
> To me, the point is that the current situation of having the defines for
> 32-bit x86 has zero benefit -- not one driver-specific definition can be
> removed, because there are other 32-bit architectures to worry about.
Um, this is precisely what Mitake-san is trying to address, hence the
discussion...
> And the risk introduced is not zero -- very few devices have 64-bit
> registers and very few drivers use readq or writeq, but perhaps as
> end-to-end 64-bit buses become more prevalent with PCIe, we may see
> more. And it's certainly the case that emulation 64-bit register
> operations by doing to 32-bit operations on the register halves carries
> a non-zero risk of making the hardware do something wacky.
Again, fear vs. reality, 0% case versus 100% case.
You continue to lack CONCRETE examples of problems, while existing cases
CONTINUE to work with the obvious ordering.
Jeff
next prev parent reply other threads:[~2009-05-13 22:30 UTC|newest]
Thread overview: 50+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-04-19 19:45 arch/x86/Kconfig selects invalid HAVE_READQ, HAVE_WRITEQ vars Robert P. J. Day
2009-04-19 21:12 ` Roland Dreier
2009-04-19 21:46 ` Ingo Molnar
2009-04-19 22:02 ` H. Peter Anvin
2009-04-19 22:35 ` Ingo Molnar
2009-04-20 0:56 ` Roland Dreier
2009-04-20 2:08 ` Robert Hancock
2009-04-20 0:53 ` Roland Dreier
2009-04-20 1:20 ` H. Peter Anvin
2009-04-20 10:53 ` Ingo Molnar
2009-04-20 14:47 ` Hitoshi Mitake
2009-04-20 16:03 ` Ingo Molnar
2009-04-21 8:33 ` Hitoshi Mitake
2009-04-21 8:45 ` Ingo Molnar
2009-04-21 8:57 ` Hitoshi Mitake
2009-04-21 15:44 ` H. Peter Anvin
2009-04-21 17:07 ` Roland Dreier
2009-04-21 17:19 ` H. Peter Anvin
2009-04-21 17:23 ` Roland Dreier
2009-04-21 19:09 ` H. Peter Anvin
2009-04-21 21:11 ` Roland Dreier
2009-04-21 21:16 ` H. Peter Anvin
2009-04-22 0:31 ` David Miller
2009-04-28 19:05 ` [PATCH] x86: Remove readq()/writeq() on 32-bit Roland Dreier
2009-04-29 5:12 ` David Miller
2009-04-29 11:56 ` Ingo Molnar
2009-04-29 12:10 ` Jeff Garzik
2009-04-29 17:25 ` Roland Dreier
2009-04-29 19:59 ` Jeff Garzik
2009-05-13 5:32 ` Hitoshi Mitake
2009-05-13 20:19 ` H. Peter Anvin
2009-05-13 22:39 ` Jeff Garzik
2009-05-13 23:39 ` H. Peter Anvin
2009-05-14 0:49 ` Jeff Garzik
2009-05-14 7:19 ` Hitoshi Mitake
2009-05-15 23:44 ` Jeff Garzik
2009-05-17 7:12 ` Hitoshi Mitake
2009-05-17 8:06 ` Jeff Garzik
2009-05-21 11:35 ` Hitoshi Mitake
2009-05-21 11:49 ` Hitoshi Mitake
2009-05-13 20:42 ` Jeff Garzik
2009-05-13 21:05 ` H. Peter Anvin
2009-05-13 21:30 ` Jeff Garzik
2009-05-13 21:31 ` Jeff Garzik
2009-05-13 21:54 ` H. Peter Anvin
2009-05-13 22:06 ` Roland Dreier
2009-05-13 22:29 ` Jeff Garzik [this message]
2009-04-29 17:21 ` Roland Dreier
2009-04-22 0:27 ` arch/x86/Kconfig selects invalid HAVE_READQ, HAVE_WRITEQ vars David Miller
2009-04-22 0:25 ` David Miller
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=4A0B49C4.4000502@garzik.org \
--to=jeff@garzik.org \
--cc=davem@davemloft.net \
--cc=h.mitake@gmail.com \
--cc=hpa@zytor.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=rdreier@cisco.com \
--cc=rpjday@crashcourse.ca \
--cc=tglx@linutronix.de \
--cc=torvalds@linux-foundation.org \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.