Re: [PATCH 01/18] mm: Make mmap_sem for write waits killable for mm syscalls
From: Michal Hocko
Date: Thu Mar 10 2016 - 10:57:23 EST
On Thu 10-03-16 16:47:16, Vlastimil Babka wrote:
> On 02/29/2016 02:26 PM, Michal Hocko wrote:
> >From: Michal Hocko <mhocko@xxxxxxxx>
> >This is the first step in making mmap_sem write holders killable. It
> >focuses on the trivial ones which are taking the lock early after
> >entering the syscall and they are not changing state before.
> >Therefore it is very easy to change them to use down_write_killable
> >and immediately return with -EINTR. This will allow the waiter to
> >pass away without blocking the mmap_sem which might be required to
> >make a forward progress. E.g. the oom reaper will need the lock for
> >reading to dismantle the OOM victim address space.
> >The only tricky function in this patch is vm_mmap_pgoff which has many
> >call sites via vm_mmap. To reduce the risk keep vm_mmap with the
> >original non-killable semantic for now.
> >vm_munmap callers do not bother checking the return value so open code
> >it into the munmap syscall path for now for simplicity.
> >Cc: Mel Gorman <mgorman@xxxxxxx>
> >Cc: "Kirill A. Shutemov" <kirill.shutemov@xxxxxxxxxxxxxxx>
> >Cc: Konstantin Khlebnikov <koct9i@xxxxxxxxx>
> >Cc: Hugh Dickins <hughd@xxxxxxxxxx>
> >Cc: Andrea Arcangeli <aarcange@xxxxxxxxxx>
> >Cc: David Rientjes <rientjes@xxxxxxxxxx>
> >Cc: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx>
> >Cc: Johannes Weiner <hannes@xxxxxxxxxxx>
> >Signed-off-by: Michal Hocko <mhocko@xxxxxxxx>
> Acked-by: Vlastimil Babka <vbabka@xxxxxxx>