Re: [RFC PATCH 2/3] x86/io: implement 256-bit IO read and write

From: Linus Torvalds
Date: Wed Mar 21 2018 - 21:26:48 EST


On Tue, Mar 20, 2018 at 7:42 AM, Alexander Duyck
<alexander.duyck@xxxxxxxxx> wrote:
>
> Instead of framing this as an enhanced version of the read/write ops
> why not look at replacing or extending something like the
> memcpy_fromio or memcpy_toio operations?

Yes, doing something like "memcpy_fromio_avx()" is much more
palatable, in that it works like the crypto functions do - if you do
big chunks, the "kernel_fpu_begin/end()" isn't nearly the issue it can
be otherwise.

Note that we definitely have seen hardware that *depends* on the
regular memcpy_fromio()" not doing big reads. I don't know how
hardware people screw it up, but it's clearly possible.

So it really needs to be an explicitly named function that basically a
driver can use to say "my hardware really likes big aligned accesses"
and explicitly ask for some AVX version if possible.

Linus