> On Nov 23, 2018, at 11:44 AM, Linus Torvalds <torva...@linux-foundation.org>
> wrote:
>
>> On Fri, Nov 23, 2018 at 10:39 AM Andy Lutomirski <l...@amacapital.net> wrote:
>>
>> What is memcpy_to_io even supposed to do? I’m guessing it’s defined as
>> something like “copy this data to IO space using at most long-sized writes,
>> all aligned, and writing each byte exactly once, in order.” That sounds...
>> dubiously useful.
>
> We've got hundreds of users of it, so it's fairly common..
>
I’m wondering if the “at most long-sizes” restriction matters, especially given
that we’re apparently accessing some of the same bytes more than once. I would
believe that trying to encourage 16-byte writes (with AVX, ugh) or 64-byte
writes (with MOVDIR64B) would be safe and could meaningfully speed up some
workloads.
>> I could see a function that writes to aligned memory in specified-sized
>> chunks.
>
> We have that. It's called "__iowrite{32,64}_copy()". It has very few users.
>
> Linus