Re: [RFC PATCH 2/2] mm,drm/ttm: Use VM_PFNMAP for TTM vmas

From: Thomas Hellström (Intel)
Date: Tue Mar 23 2021 - 11:52:30 EST



On 3/23/21 3:04 PM, Jason Gunthorpe wrote:
On Tue, Mar 23, 2021 at 12:47:24PM +0100, Daniel Vetter wrote:

+static inline bool is_cow_mapping(vm_flags_t flags)
Bit a bikeshed, but I wonder whether the public interface shouldn't be
vma_is_cow_mapping. Or whether this shouldn't be rejected somewhere else,
since at least in drivers/gpu we have tons of cases that don't check for
this and get it all kinds of wrong I think.

remap_pfn_range handles this for many cases, but by far not for all.

Anyway patch itself lgtm:

Reviewed-by: Daniel Vetter <daniel.vetter@xxxxxxxx>
I would like it if io_remap_pfn_range() did not allow shared mappings
at all.

You mean private mappings?


IIRC it doesn't work anyway, the kernel can't reliably copy from IO
pages eg the "_copy_from_user_inatomic()" under cow_user_page() will
not work on s390 that requires all IO memory be accessed with special
instructions.

Unfortunately I have no idea what the long ago special case of
allowing COW'd IO mappings is. :\

Me neither, but at some point it must have been important enough to introduce VM_MIXEDMAP...

/Thomas


Jason