On Thu, Nov 22, 2018 at 9:36 AM David Laight <david.lai...@aculab.com> wrote: > > The other problem with the ERMS copy is that it gets used > for copy_to/from_io() - and the 'rep movsb' on uncached > locations has to do byte copies.
Ugh. I thought we changed that *long* ago, because even our non-ERMS copy is broken for PCI (it does overlapping stores for the small tail cases). But looking at "memcpy_{from,to}io()", I don't see x86 overriding it with anything better. I suspect nobody uses those functions for anything critical any more. The fbcon people have their own copy functions, iirc. But we definitely should fix this. *NONE* of the regular memcpy functions actually work right for PCI space any more, and haven't for a long time. Linus