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.
next prev parent 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 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).