Thread (19 messages) flat view 19 messages, 6 authors, 2021-02-07

Re: [PATCH v2 3/4] mm: Introduce page_needs_cow_for_dma() for deciding whether cow

From: Linus Torvalds <torvalds@linux-foundation.org>
Date: 2021-02-04 17:56:56
Also in: lkml

On Thu, Feb 4, 2021 at 6:50 AM Peter Xu [off-list ref] wrote:
quoted hunk ↗ jump to hunk
--- a/include/linux/mm.h
+++ b/include/linux/mm.h
@@ -1291,6 +1291,27 @@ static inline bool page_maybe_dma_pinned(struct page *page)
                GUP_PIN_COUNTING_BIAS;
 }

+static inline bool is_cow_mapping(vm_flags_t flags)
+{
+       return (flags & (VM_SHARED | VM_MAYWRITE)) == VM_MAYWRITE;
+}
Oh, and I just realized: moving this to <linux/mm.h> means that this
patch could/should also get rid of

 - manual copy of this in mm/hugetlb.c:

        cow = (vma->vm_flags & (VM_SHARED | VM_MAYWRITE)) == VM_MAYWRITE;

 - private #define for the same thing in fs/proc/task_mmu.c

    #define is_cow_mapping(flags) (((flags) & (VM_SHARED |
VM_MAYWRITE)) == VM_MAYWRITE)

 - manual copy in drivers/gpu/drm/vmwgfx/vmwgfx_page_dirty.c:

        bool is_cow_mapping =
                (vma->vm_flags & (VM_SHARED | VM_MAYWRITE)) == VM_MAYWRITE;

I guess it could be a later cleanup patch too, but maybe best done in
this series just to not forget about it.

               Linus
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help