[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20180321224631.GB3969@bombadil.infradead.org>
Date: Wed, 21 Mar 2018 15:46:31 -0700
From: Matthew Wilcox <willy@...radead.org>
To: Yang Shi <yang.shi@...ux.alibaba.com>
Cc: Michal Hocko <mhocko@...nel.org>, akpm@...ux-foundation.org,
linux-mm@...ck.org, linux-kernel@...r.kernel.org
Subject: Re: [RFC PATCH 1/8] mm: mmap: unmap large mapping by section
On Wed, Mar 21, 2018 at 02:45:44PM -0700, Yang Shi wrote:
> Marking vma as deleted sounds good. The problem for my current approach is
> the concurrent page fault may succeed if it access the not yet unmapped
> section. Marking deleted vma could tell page fault the vma is not valid
> anymore, then return SIGSEGV.
>
> > does not care; munmap will need to wait for the existing munmap operation
>
> Why mmap doesn't care? How about MAP_FIXED? It may fail unexpectedly, right?
The other thing about MAP_FIXED that we'll need to handle is unmapping
conflicts atomically. Say a program has a 200GB mapping and then
mmap(MAP_FIXED) another 200GB region on top of it. So I think page faults
are also going to have to wait for deleted vmas (then retry the fault)
rather than immediately raising SIGSEGV.
Powered by blists - more mailing lists