All of lore.kernel.org
 help / color / mirror / Atom feed
From: "H. Peter Anvin" <hpa@zytor.com>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Ben Hutchings <bhutchings@solarflare.com>,
	David Laight <David.Laight@aculab.com>,
	Benjamin LaHaise <bcrl@kvack.org>,
	David Miller <davem@davemloft.net>,
	tglx@linutronix.de, mingo@redhat.com, netdev@vger.kernel.org,
	linux-net-drivers@solarflare.com, x86@kernel.org
Subject: Re: [PATCH 2/3] x86_64: Define 128-bit memory-mapped I/O operations
Date: Wed, 22 Aug 2012 09:59:01 -0700	[thread overview]
Message-ID: <50350FD5.8050502@zytor.com> (raw)
In-Reply-To: <CA+55aFwTyT8v9r7jW2=jp29_yMMacWjMwCka+_YktOOMzBHWBw@mail.gmail.com>

On 08/22/2012 09:51 AM, Linus Torvalds wrote:
> On Wed, Aug 22, 2012 at 8:54 AM, H. Peter Anvin <hpa@zytor.com> wrote:
>>
>> Sorry, you fail.  There are definitely systems in the field where readq()
>> and writeq() are implemented, because the CPU supports them, where the
>> fabric does not guarantee they are intact.
>
> Indeed.
>
> It's unlikely to be an issue with a PCIe driver, though. I'm pretty
> sure you can rely on 64-bit transfers there, especially with a CPU
> that is modern enough to run 64-bit mode.
>
> That said, even with PCIe, I wonder if older CPU's (think Intel with a
> front-side bus, rather than PCIe on die) necessarily always do 128-bit
> writes. The FSB is just 64 bits wide, and I could *imagine* that a
> PCIe chipset behind the FSB might end up just always generating at
> most 64-bit PCIe transactions for host accesses just because that
> would be "natural".
>
> Sounds unlikely, but hey, hardware sometimes does odd things.
>

I'm wondering how e.g. a K8 would work (CPU -> HT -> PCIe) on UC memory 
there.  I know for a fact that some CPU cores break up SSE transactions 
into 64-bit transactions.

	-hpa

-- 
H. Peter Anvin, Intel Open Source Technology Center
I work for Intel.  I don't speak on their behalf.

  reply	other threads:[~2012-08-22 16:59 UTC|newest]

Thread overview: 56+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-08-22  1:17 [PATCH 0/3] x86_64, sfc: 128-bit memory-mapped I/O Ben Hutchings
2012-08-22  1:20 ` [PATCH 1/3] x86_64: Define 128-bit types for kernel code only Ben Hutchings
2012-08-22  1:23 ` [PATCH 2/3] x86_64: Define 128-bit memory-mapped I/O operations Ben Hutchings
2012-08-22  1:37   ` H. Peter Anvin
2012-08-22  2:04     ` Ben Hutchings
2012-08-22  2:34       ` David Miller
2012-08-22  3:24         ` H. Peter Anvin
2012-08-22  3:29           ` David Miller
2012-08-22  3:49             ` H. Peter Anvin
2012-08-22  3:52           ` Linus Torvalds
2012-08-22  3:59             ` H. Peter Anvin
2012-08-22  4:14               ` David Miller
2012-08-22 21:14                 ` David Miller
2012-08-22 21:28                   ` Linus Torvalds
2012-08-22 21:38                     ` David Miller
2012-08-22  4:35               ` Linus Torvalds
2012-08-22  5:00                 ` David Miller
2012-08-22 14:06                   ` Linus Torvalds
2012-08-22  4:42             ` Linus Torvalds
2012-08-22 13:26             ` Ben Hutchings
2012-08-22 14:20               ` Linus Torvalds
2012-08-22 14:24                 ` Ben Hutchings
2012-08-22 14:30                   ` Benjamin LaHaise
2012-08-22 14:58                     ` Ben Hutchings
2012-08-22 15:13                       ` H. Peter Anvin
2012-08-22 15:27                         ` David Laight
2012-08-22 15:49                           ` H. Peter Anvin
2012-08-22 15:51                           ` Ben Hutchings
2012-08-22 15:54                             ` H. Peter Anvin
2012-08-22 16:44                               ` Ben Hutchings
2012-08-22 16:49                                 ` H. Peter Anvin
2012-08-22 16:55                                 ` Linus Torvalds
2012-08-22 17:09                                   ` Ben Hutchings
2012-08-22 17:12                                     ` H. Peter Anvin
2012-08-22 17:27                                       ` Ben Hutchings
2012-08-22 17:54                                         ` Linus Torvalds
2012-08-22 18:11                                           ` Ben Hutchings
2012-08-22 18:18                                             ` H. Peter Anvin
2012-08-22 18:28                                             ` Linus Torvalds
2012-08-22 19:01                                               ` Ben Hutchings
2012-08-22 17:26                                     ` Linus Torvalds
2012-08-22 16:51                               ` Linus Torvalds
2012-08-22 16:59                                 ` H. Peter Anvin [this message]
2012-08-22 15:51                           ` H. Peter Anvin
2012-08-22 14:50                   ` Linus Torvalds
2012-08-22 14:56                     ` Linus Torvalds
2012-08-22 15:05                       ` David Laight
2012-08-22 15:16                         ` Linus Torvalds
2012-08-22 15:41                     ` Ben Hutchings
2012-08-22 14:42                 ` David Laight
2012-08-22  1:26 ` [PATCH 3/3] sfc: Use __raw_writeo() to perform TX descriptor push where possible Ben Hutchings
2012-08-22  1:38 ` [PATCH 0/3] x86_64, sfc: 128-bit memory-mapped I/O H. Peter Anvin
2012-08-22  1:43   ` Ben Hutchings
2012-08-22  1:59     ` H. Peter Anvin
2012-08-22  2:10       ` Ben Hutchings
2012-08-22  2:31         ` H. Peter Anvin

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=50350FD5.8050502@zytor.com \
    --to=hpa@zytor.com \
    --cc=David.Laight@aculab.com \
    --cc=bcrl@kvack.org \
    --cc=bhutchings@solarflare.com \
    --cc=davem@davemloft.net \
    --cc=linux-net-drivers@solarflare.com \
    --cc=mingo@redhat.com \
    --cc=netdev@vger.kernel.org \
    --cc=tglx@linutronix.de \
    --cc=torvalds@linux-foundation.org \
    --cc=x86@kernel.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.