Re: [PATCH 01/18] mm: Make mmap_sem for write waits killable for mm syscalls

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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
> 
> s/holders/waiters/?

right. Fixed
 
> >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>

Thanks!
-- 
Michal Hocko
SUSE Labs

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@xxxxxxxxx.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@xxxxxxxxx";> email@xxxxxxxxx </a>



[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]