mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: ebiederm@xmission.com (Eric W. Biederman)
To: Matt Mackall <mpm@selenic.com>
Cc: Roland Dreier <roland@topspin.com>, Andrew Morton <akpm@osdl.org>,
	linux-kernel@vger.kernel.org
Subject: Re: 2.6.6-mm5
Date: 24 May 2004 11:03:11 -0600	[thread overview]
Message-ID: <m17jv1n4fk.fsf@ebiederm.dsl.xmission.com> (raw)
In-Reply-To: <20040524161733.GX5414@waste.org>

Matt Mackall <mpm@selenic.com> writes:

> On Sat, May 22, 2004 at 06:15:51PM -0700, Roland Dreier wrote:
> >     Andrew> I don't think we can expect all architectures to be able
> >     Andrew> to implement atomic 64-bit IO's, can we?
> > 
> >     Andrew> ergo, drivers which want to use readq and writeq should
> >     Andrew> provide the appropriate locking.
> > 
> > Perhaps we should have ARCH_HAS_ATOMIC_WRITEQ or something so that
> > drivers don't add the overhead of locking on architectures where it's
> > not necessary?
> 
> Or perhaps we just need a lockless __readq/__writeq for drivers that
> know better.

I can see implementing these emulations with a name of
readq_emulated/writeq_emulated, or readl2/writel2.  For drivers that
can stand not generating a true 64bit bus I/O cycle to the device,
that sounds helpful.

However there are and will likely continue to be devices that need a
64bit I/O cycle on the bus.  That is what writeq logically/obviously
does.  Putting an emulation in place of the real thing is likely to
cause all sorts subtle of problems. 

Having listened to this conversation for a while I strongly dislike
the atomic language because that sounds like generating the wrong bus
cycles are somehow OK, and doing what the function says it does is
somehow just an optimization.

If no hardware actually cared or someone could show me that you can't
generate a 64bit memory I/O cycle on the PCI bus that would be
interesting.  I have seen several drivers that care.  Later today
I intend to look at my pci docs and confirm that 64bit I/O cycles
do exist on the bus, even in 32bit slots.  PCI bus traffic is packet
based so I would be strongly surprised if 64bit cycles did not
exist.

Eric


  reply	other threads:[~2004-05-24 17:04 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-05-22  8:36 2.6.6-mm5 Andrew Morton
2004-05-22  9:09 ` 2.6.6-mm5 Jeff Garzik
2004-05-22  9:22   ` 2.6.6-mm5 hch
2004-05-22  9:26     ` 2.6.6-mm5 Andrew Morton
2004-05-22 11:51   ` 2.6.6-mm5 R. J. Wysocki
2004-05-22  9:26 ` 2.6.6-mm5 hch
2004-05-22  9:32   ` 2.6.6-mm5 Andrew Morton
2004-05-22  9:41     ` 2.6.6-mm5 hch
2004-05-22 19:03       ` 2.6.6-mm5 Brian King
2004-05-22  9:38 ` 2.6.6-mm5 hch
2004-05-22  9:44   ` 2.6.6-mm5 Jens Axboe
2004-05-22  9:46 ` 2.6.6-mm5 Felipe Alfaro Solana
2004-05-23 15:51   ` 2.6.6-mm5 James Morris
2004-05-22 11:59 ` 2.6.6-mm5 Matthias Andree
2004-05-22 12:19 ` [patch] 2.6.6-mm5: JFFS2_FS_NAND=y compile error Adrian Bunk
2004-05-23  1:01 ` 2.6.6-mm5 Eric W. Biederman
2004-05-23  1:08   ` 2.6.6-mm5 Andrew Morton
2004-05-23  1:15     ` 2.6.6-mm5 Roland Dreier
2004-05-24 16:17       ` 2.6.6-mm5 Matt Mackall
2004-05-24 17:03         ` Eric W. Biederman [this message]
2004-05-24 17:43           ` 2.6.6-mm5 Roland Dreier
2004-05-25  7:25             ` 2.6.6-mm5 Eric W. Biederman
2004-05-23  2:45     ` 2.6.6-mm5 Eric W. Biederman
2004-05-24 22:11 ` 2.6.6-mm5 (compile stats) John Cherry
2004-05-25 13:53 ` 2.6.6-mm5 Pavel Machek
2004-05-26 12:41 ` 2.6.6-mm5 Anders Gustafsson
2004-05-26 12:49   ` 2.6.6-mm5 Jens Axboe
2004-05-26 12:59     ` 2.6.6-mm5 Anders Gustafsson
2004-05-26 13:03       ` 2.6.6-mm5 Jens Axboe
2004-05-22 10:27 2.6.6-mm5 Oleg Nesterov
2004-05-22 18:02 2.6.6-mm5 Adam Radford
     [not found] <1YAd2-6Th-13@gated-at.bofh.it>
     [not found] ` <1YPF4-2hJ-11@gated-at.bofh.it>
     [not found]   ` <1YPOI-2nq-1@gated-at.bofh.it>
     [not found]     ` <1YRdQ-3pu-5@gated-at.bofh.it>
2004-05-23 11:39       ` 2.6.6-mm5 Andi Kleen
2004-05-23 21:32         ` 2.6.6-mm5 Eric W. Biederman
2004-05-24  0:02         ` 2.6.6-mm5 Eric W. Biederman

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=m17jv1n4fk.fsf@ebiederm.dsl.xmission.com \
    --to=ebiederm@xmission.com \
    --cc=akpm@osdl.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mpm@selenic.com \
    --cc=roland@topspin.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

all inboxes | Powered by JetHome®