On 2/9/21 22:25, [email protected] wrote:
> From: Ira Weiny <[email protected]>
>
> Working through a conversion to a call kmap_local_page() instead of
> kmap() revealed many places where the pattern kmap/memcpy/kunmap
> occurred.
>
> Eric Biggers, Matthew Wilcox, Christoph Hellwig, Dan Williams, and Al
> Viro all suggested putting this code into helper functions.  Al Viro
> further pointed out that these functions already existed in the iov_iter
> code.[1]
>
> Various locations for the lifted functions were considered.
>
> Headers like mm.h or string.h seem ok but don't really portray the
> functionality well.  pagemap.h made some sense but is for page cache
> functionality.[2]
>
> Another alternative would be to create a new header for the promoted
> memcpy functions, but it masks the fact that these are designed to copy
> to/from pages using the kernel direct mappings and complicates matters
> with a new header.
>
> Placing these functions in 'highmem.h' is suboptimal especially with the
> changes being proposed in the functionality of kmap.  From a caller
> perspective including/using 'highmem.h' implies that the functions
> defined in that header are only required when highmem is in use which is
> increasingly not the case with modern processors.  However, highmem.h is
> where all the current functions like this reside (zero_user(),
> clear_highpage(), clear_user_highpage(), copy_user_highpage(), and
> copy_highpage()).  So it makes the most sense even though it is
> distasteful for some.[3]
>
> Lift memcpy_to_page() and memcpy_from_page() to pagemap.h.
>
> [1] https://lore.kernel.org/lkml/[email protected]/
>     https://lore.kernel.org/lkml/[email protected]/
>
> [2] https://lore.kernel.org/lkml/[email protected]/
>
> [3] 
> https://lore.kernel.org/lkml/[email protected]/#t
>     
> https://lore.kernel.org/lkml/[email protected]/
>
> Cc: Boris Pismenny <[email protected]>
> Cc: Or Gerlitz <[email protected]>
> Cc: Dave Hansen <[email protected]>
> Suggested-by: Matthew Wilcox <[email protected]>
> Suggested-by: Christoph Hellwig <[email protected]>
> Suggested-by: Dan Williams <[email protected]>
> Suggested-by: Al Viro <[email protected]>
> Suggested-by: Eric Biggers <[email protected]>
> Signed-off-by: Ira Weiny <[email protected]>

Thanks for adding a new line in the new calls after variable declaration.
Looks good.

Reviewed-by: Chaitanya Kulkarni <[email protected]>

Reply via email to