> Cc:'ing some more people that might have more of a clue on this question. > _memcpy_fromio does a "sync" at the start and an "eieio" at the end. > IFAICT, neither are needed here because the source is always memory. > > It also handles unaligned memory accesses, which copy_to_user should > also do correctly, so it *looks* like it should work with just a > copy_to_user, but it still feels wrong to use an __iomem pointer > as the source for a copy_to_user. > > Any ideas? It's a bit nasty yes. The problem is that copy_to/from_user might do cache tricks which will blow up if the area is non-cacheable. We have a similar problem with Mark's work on faster copy functions since things like sys_read() can be called on userspace non-cacheable memory such as spu local stores. So I'm not 100% sure what the right approach here. Our copy_tofrom_user today does dcbt on the source for example, which I hope only turns into a no-op... The risk is if we start using dcbz. Cheers, Ben. -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html