• Peter Xu's avatar
    mm: introduce page_needs_cow_for_dma() for deciding whether cow · 97a7e473
    Peter Xu authored
    We've got quite a few places (pte, pmd, pud) that explicitly checked
    against whether we should break the cow right now during fork().  It's
    easier to provide a helper, especially before we work the same thing on
    hugetlbfs.
    
    Since we'll reference is_cow_mapping() in mm.h, move it there too.
    Actually it suites mm.h more since internal.h is mm/ only, but mm.h is
    exported to the whole kernel.  With that we should expect another patch to
    use is_cow_mapping() whenever we can across the kernel since we do use it
    quite a lot but it's always done with raw code against VM_* flags.
    
    Link: https://lkml.kernel.org/r/20210217233547.93892-4-peterx@redhat.comSigned-off-by: default avatarPeter Xu <peterx@redhat.com>
    Reviewed-by: default avatarJason Gunthorpe <jgg@ziepe.ca>
    Cc: Alexey Dobriyan <adobriyan@gmail.com>
    Cc: Andrea Arcangeli <aarcange@redhat.com>
    Cc: Christoph Hellwig <hch@lst.de>
    Cc: Daniel Vetter <daniel@ffwll.ch>
    Cc: David Airlie <airlied@linux.ie>
    Cc: David Gibson <david@gibson.dropbear.id.au>
    Cc: Gal Pressman <galpress@amazon.com>
    Cc: Jan Kara <jack@suse.cz>
    Cc: Jann Horn <jannh@google.com>
    Cc: Kirill Shutemov <kirill@shutemov.name>
    Cc: Kirill Tkhai <ktkhai@virtuozzo.com>
    Cc: Matthew Wilcox <willy@infradead.org>
    Cc: Miaohe Lin <linmiaohe@huawei.com>
    Cc: Mike Kravetz <mike.kravetz@oracle.com>
    Cc: Mike Rapoport <rppt@linux.vnet.ibm.com>
    Cc: Roland Scheidegger <sroland@vmware.com>
    Cc: VMware Graphics <linux-graphics-maintainer@vmware.com>
    Cc: Wei Zhang <wzam@amazon.com>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    97a7e473
memory.c 141 KB