From: "Kirill A. Shutemov" <kirill@shutemov.name> To: Michal Hocko <mhocko@kernel.org> Cc: LKML <linux-kernel@vger.kernel.org>, "Andrew Morton" <akpm@linux-foundation.org>, linux-mm@kvack.org, "Alex Deucher" <alexander.deucher@amd.com>, "Alex Thorlton" <athorlton@sgi.com>, "Andrea Arcangeli" <aarcange@redhat.com>, "Andy Lutomirski" <luto@amacapital.net>, "Benjamin LaHaise" <bcrl@kvack.org>, "Christian König" <christian.koenig@amd.com>, "Daniel Vetter" <daniel.vetter@intel.com>, "Dave Hansen" <dave.hansen@linux.intel.com>, "David Airlie" <airlied@linux.ie>, "Davidlohr Bueso" <dave@stgolabs.net>, "David Rientjes" <rientjes@google.com>, "H . Peter Anvin" <hpa@zytor.com>, "Hugh Dickins" <hughd@google.com>, "Ingo Molnar" <mingo@kernel.org>, "Johannes Weiner" <hannes@cmpxchg.org>, "Kirill A . Shutemov" <kirill.shutemov@linux.intel.com>, "Konstantin Khlebnikov" <koct9i@gmail.com>, linux-arch@vger.kernel.org, "Mel Gorman" <mgorman@suse.de>, "Oleg Nesterov" <oleg@redhat.com> Subject: Re: [PATCH 0/18] change mmap_sem taken for write killable Date: Mon, 29 Feb 2016 17:04:16 +0300 [thread overview] Message-ID: <20160229140416.GA12506@node.shutemov.name> (raw) In-Reply-To: <1456752417-9626-1-git-send-email-mhocko@kernel.org> On Mon, Feb 29, 2016 at 02:26:39PM +0100, Michal Hocko wrote: > Hi, > this is a follow up work for oom_reaper [1]. As the async OOM killing > depends on oom_sem for read we would really appreciate if a holder for > write stood in the way. This patchset is changing many of down_write > calls to be killable to help those cases when the writer is blocked and > waiting for readers to release the lock and so help __oom_reap_task to > process the oom victim. > > Most of the patches are really trivial because the lock is help from a > shallow syscall paths where we can return EINTR trivially. Others seem > to be easy as well as the callers are already handling fatal errors and > bail and return to userspace which should be sufficient to handle the > failure gracefully. I am not familiar with all those code paths so a > deeper review is really appreciated. What about effect on userspace? IIUC, we would have now EINTR returned from bunch of syscall, which haven't had this errno on the table before. Should we care? > As this work is touching more areas which are not directly connected I > have tried to keep the CC list as small as possible and people who I > believed would be familiar are CCed only to the specific patches (all > should have received the cover though). > > This patchset is based on linux-next and it depends on down_write_killable > for rw_semaphores posted recently [2]. > > I haven't covered all the mmap_write(mm->mmap_sem) instances here > > $ git grep "down_write(.*\<mmap_sem\>)" next/master | wc -l > 102 > $ git grep "down_write(.*\<mmap_sem\>)" | wc -l > 66 > > I have tried to cover those which should be relatively easy to review in > this series because this alone should be a nice improvement. Other places > can be changed on top. > > Any feedback is highly appreciated. > > --- > [1] http://lkml.kernel.org/r/1452094975-551-1-git-send-email-mhocko@kernel.org > [2] http://lkml.kernel.org/r/1456750705-7141-1-git-send-email-mhocko@kernel.org > > -- > To unsubscribe, send a message with 'unsubscribe linux-mm' in > the body to majordomo@kvack.org. For more info on Linux MM, > see: http://www.linux-mm.org/ . > Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a> -- Kirill A. Shutemov -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
WARNING: multiple messages have this Message-ID (diff)
From: "Kirill A. Shutemov" <kirill@shutemov.name> To: Michal Hocko <mhocko@kernel.org> Cc: LKML <linux-kernel@vger.kernel.org>, "Andrew Morton" <akpm@linux-foundation.org>, linux-mm@kvack.org, "Alex Deucher" <alexander.deucher@amd.com>, "Alex Thorlton" <athorlton@sgi.com>, "Andrea Arcangeli" <aarcange@redhat.com>, "Andy Lutomirski" <luto@amacapital.net>, "Benjamin LaHaise" <bcrl@kvack.org>, "Christian König" <christian.koenig@amd.com>, "Daniel Vetter" <daniel.vetter@intel.com>, "Dave Hansen" <dave.hansen@linux.intel.com>, "David Airlie" <airlied@linux.ie>, "Davidlohr Bueso" <dave@stgolabs.net>, "David Rientjes" <rientjes@google.com>, "H . Peter Anvin" <hpa@zytor.com>, "Hugh Dickins" <hughd@google.com>, "Ingo Molnar" <mingo@kernel.org>, "Johannes Weiner" <hannes@cmpxchg.org>, "Kirill A . Shutemov" <kirill.shutemov@linux.intel.com>, "Konstantin Khlebnikov" <koct9i@gmail.com>, linux-arch@vger.kernel.org, "Mel Gorman" <mgorman@suse.de>, "Oleg Nesterov" <oleg@redhat.com>, "Peter Zijlstra" <peterz@infradead.org>, "Petr Cermak" <petrcermak@chromium.org>, "Thomas Gleixner" <tglx@linutronix.de> Subject: Re: [PATCH 0/18] change mmap_sem taken for write killable Date: Mon, 29 Feb 2016 17:04:16 +0300 [thread overview] Message-ID: <20160229140416.GA12506@node.shutemov.name> (raw) Message-ID: <20160229140416.Or34L0nPGybIf8aaORGOBMUXv7bvprAOUUMpYJeoSrw@z> (raw) In-Reply-To: <1456752417-9626-1-git-send-email-mhocko@kernel.org> On Mon, Feb 29, 2016 at 02:26:39PM +0100, Michal Hocko wrote: > Hi, > this is a follow up work for oom_reaper [1]. As the async OOM killing > depends on oom_sem for read we would really appreciate if a holder for > write stood in the way. This patchset is changing many of down_write > calls to be killable to help those cases when the writer is blocked and > waiting for readers to release the lock and so help __oom_reap_task to > process the oom victim. > > Most of the patches are really trivial because the lock is help from a > shallow syscall paths where we can return EINTR trivially. Others seem > to be easy as well as the callers are already handling fatal errors and > bail and return to userspace which should be sufficient to handle the > failure gracefully. I am not familiar with all those code paths so a > deeper review is really appreciated. What about effect on userspace? IIUC, we would have now EINTR returned from bunch of syscall, which haven't had this errno on the table before. Should we care? > As this work is touching more areas which are not directly connected I > have tried to keep the CC list as small as possible and people who I > believed would be familiar are CCed only to the specific patches (all > should have received the cover though). > > This patchset is based on linux-next and it depends on down_write_killable > for rw_semaphores posted recently [2]. > > I haven't covered all the mmap_write(mm->mmap_sem) instances here > > $ git grep "down_write(.*\<mmap_sem\>)" next/master | wc -l > 102 > $ git grep "down_write(.*\<mmap_sem\>)" | wc -l > 66 > > I have tried to cover those which should be relatively easy to review in > this series because this alone should be a nice improvement. Other places > can be changed on top. > > Any feedback is highly appreciated. > > --- > [1] http://lkml.kernel.org/r/1452094975-551-1-git-send-email-mhocko@kernel.org > [2] http://lkml.kernel.org/r/1456750705-7141-1-git-send-email-mhocko@kernel.org > > -- > To unsubscribe, send a message with 'unsubscribe linux-mm' in > the body to majordomo@kvack.org. For more info on Linux MM, > see: http://www.linux-mm.org/ . > Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a> -- Kirill A. Shutemov
next prev parent reply other threads:[~2016-02-29 14:04 UTC|newest] Thread overview: 138+ messages / expand[flat|nested] mbox.gz Atom feed top 2016-02-29 13:26 [PATCH 0/18] change mmap_sem taken for write killable Michal Hocko 2016-02-29 13:26 ` Michal Hocko 2016-02-29 13:26 ` [PATCH 01/18] mm: Make mmap_sem for write waits killable for mm syscalls Michal Hocko 2016-02-29 13:26 ` Michal Hocko 2016-02-29 13:44 ` kbuild test robot 2016-02-29 13:44 ` kbuild test robot 2016-02-29 13:44 ` kbuild test robot 2016-02-29 13:44 ` kbuild test robot 2016-03-10 15:47 ` Vlastimil Babka 2016-03-10 15:47 ` Vlastimil Babka 2016-03-10 15:56 ` Michal Hocko 2016-03-10 15:56 ` Michal Hocko 2016-02-29 13:26 ` [PATCH 02/18] mm: make vm_mmap killable Michal Hocko 2016-02-29 13:26 ` Michal Hocko 2016-03-11 9:59 ` Vlastimil Babka 2016-03-11 9:59 ` Vlastimil Babka 2016-03-11 12:12 ` Michal Hocko 2016-03-11 12:12 ` Michal Hocko 2016-03-11 12:43 ` Vlastimil Babka 2016-03-11 12:43 ` Vlastimil Babka 2016-03-11 12:55 ` Michal Hocko 2016-03-11 12:55 ` Michal Hocko 2016-02-29 13:26 ` [PATCH 03/18] mm: make vm_munmap killable Michal Hocko 2016-02-29 13:26 ` Michal Hocko 2016-03-11 10:06 ` Vlastimil Babka 2016-03-11 10:06 ` Vlastimil Babka 2016-03-11 12:32 ` Michal Hocko 2016-03-11 12:32 ` Michal Hocko 2016-02-29 13:26 ` [PATCH 04/18] mm, aout: handle vm_brk failures Michal Hocko 2016-02-29 13:26 ` Michal Hocko 2016-03-11 10:32 ` Vlastimil Babka 2016-03-11 10:32 ` Vlastimil Babka 2016-03-11 12:42 ` Michal Hocko 2016-03-11 12:42 ` Michal Hocko 2016-02-29 13:26 ` [PATCH 05/18] mm, elf: handle vm_brk error Michal Hocko 2016-02-29 13:26 ` Michal Hocko 2016-03-11 10:35 ` Vlastimil Babka 2016-03-11 10:35 ` Vlastimil Babka 2016-02-29 13:26 ` [PATCH 06/18] mm: make vm_brk killable Michal Hocko 2016-02-29 13:26 ` Michal Hocko 2016-03-11 10:44 ` Vlastimil Babka 2016-03-11 10:44 ` Vlastimil Babka 2016-02-29 13:26 ` [PATCH 07/18] mm, proc: make clear_refs killable Michal Hocko 2016-02-29 13:26 ` Michal Hocko 2016-02-29 13:47 ` kbuild test robot 2016-02-29 13:47 ` kbuild test robot 2016-02-29 17:38 ` Oleg Nesterov 2016-02-29 17:38 ` Oleg Nesterov 2016-02-29 17:53 ` Michal Hocko 2016-02-29 17:53 ` Michal Hocko 2016-02-29 17:58 ` Oleg Nesterov 2016-02-29 17:58 ` Oleg Nesterov 2016-02-29 18:02 ` Michal Hocko 2016-02-29 18:02 ` Michal Hocko 2016-02-29 13:26 ` [PATCH 08/18] mm, fork: make dup_mmap wait for mmap_sem for write killable Michal Hocko 2016-02-29 13:26 ` Michal Hocko 2016-02-29 13:48 ` kbuild test robot 2016-02-29 13:48 ` kbuild test robot 2016-02-29 17:54 ` Oleg Nesterov 2016-02-29 17:54 ` Oleg Nesterov 2016-02-29 13:26 ` [PATCH 09/18] ipc, shm: make shmem attach/detach wait for mmap_sem killable Michal Hocko 2016-02-29 13:26 ` Michal Hocko 2016-03-08 19:15 ` Davidlohr Bueso 2016-03-08 19:15 ` Davidlohr Bueso 2016-03-09 10:16 ` Michal Hocko 2016-03-09 10:16 ` Michal Hocko 2016-02-29 13:26 ` [PATCH 10/18] vdso: make arch_setup_additional_pages wait for mmap_sem for write killable Michal Hocko 2016-02-29 13:26 ` Michal Hocko 2016-02-29 13:45 ` kbuild test robot 2016-02-29 13:45 ` kbuild test robot 2016-02-29 13:50 ` kbuild test robot 2016-02-29 13:50 ` kbuild test robot 2016-02-29 13:53 ` kbuild test robot 2016-02-29 13:53 ` kbuild test robot 2016-02-29 15:41 ` Andy Lutomirski 2016-02-29 15:41 ` Andy Lutomirski 2016-03-11 11:28 ` Vlastimil Babka 2016-03-11 11:28 ` Vlastimil Babka 2016-02-29 13:26 ` [PATCH 11/18] coredump: make coredump_wait wait for mma_sem " Michal Hocko 2016-02-29 13:26 ` Michal Hocko 2016-02-29 15:57 ` Oleg Nesterov 2016-02-29 15:57 ` Oleg Nesterov 2016-03-11 11:32 ` Vlastimil Babka 2016-03-11 11:32 ` Vlastimil Babka 2016-03-11 11:54 ` Vlastimil Babka 2016-03-11 11:54 ` Vlastimil Babka 2016-03-11 12:46 ` Michal Hocko 2016-03-11 12:46 ` Michal Hocko 2016-02-29 13:26 ` [PATCH 12/18] aio: make aio_setup_ring killable Michal Hocko 2016-02-29 13:26 ` Michal Hocko 2016-02-29 16:17 ` Jeff Moyer 2016-02-29 16:17 ` Jeff Moyer 2016-03-11 11:57 ` Vlastimil Babka 2016-03-11 11:57 ` Vlastimil Babka 2016-02-29 13:26 ` [PATCH 13/18] exec: make exec path waiting for mmap_sem killable Michal Hocko 2016-02-29 13:26 ` Michal Hocko 2016-02-29 17:23 ` Oleg Nesterov 2016-02-29 17:23 ` Oleg Nesterov 2016-02-29 17:47 ` Michal Hocko 2016-02-29 17:47 ` Michal Hocko 2016-02-29 18:10 ` Oleg Nesterov 2016-02-29 18:10 ` Oleg Nesterov 2016-03-11 12:51 ` Vlastimil Babka 2016-03-11 12:51 ` Vlastimil Babka 2016-02-29 13:26 ` [PATCH 14/18] prctl: make PR_SET_THP_DISABLE wait " Michal Hocko 2016-02-29 13:26 ` Michal Hocko 2016-03-11 12:54 ` Vlastimil Babka 2016-03-11 12:54 ` Vlastimil Babka 2016-02-29 13:26 ` [PATCH 15/18] uprobes: wait for mmap_sem for write killable Michal Hocko 2016-02-29 13:26 ` Michal Hocko 2016-02-29 15:57 ` Oleg Nesterov 2016-02-29 15:57 ` Oleg Nesterov 2016-02-29 16:28 ` Michal Hocko 2016-02-29 16:28 ` Michal Hocko 2016-02-29 17:12 ` Oleg Nesterov 2016-02-29 17:12 ` Oleg Nesterov 2016-02-29 13:26 ` [PATCH 16/18] drm/i915: make i915_gem_mmap_ioctl wait for mmap_sem killable Michal Hocko 2016-02-29 13:26 ` Michal Hocko 2016-03-11 15:23 ` Vlastimil Babka 2016-03-11 15:23 ` Vlastimil Babka 2016-02-29 13:26 ` [PATCH 17/18] drm/radeon: make radeon_mn_get " Michal Hocko 2016-02-29 13:26 ` Michal Hocko 2016-02-29 13:35 ` Christian König 2016-02-29 13:35 ` Christian König 2016-03-11 15:27 ` Vlastimil Babka 2016-03-11 15:27 ` Vlastimil Babka 2016-02-29 13:26 ` [PATCH 18/18] drm/amdgpu: make amdgpu_mn_get " Michal Hocko 2016-02-29 13:26 ` Michal Hocko 2016-03-11 15:29 ` Vlastimil Babka 2016-03-11 15:29 ` Vlastimil Babka 2016-02-29 13:31 ` [PATCH 0/18] change mmap_sem taken for write killable Michal Hocko 2016-02-29 13:31 ` Michal Hocko 2016-02-29 14:04 ` Kirill A. Shutemov [this message] 2016-02-29 14:04 ` Kirill A. Shutemov 2016-02-29 14:16 ` Michal Hocko 2016-02-29 14:16 ` Michal Hocko 2016-02-29 15:03 ` Kirill A. Shutemov 2016-02-29 15:03 ` Kirill A. Shutemov
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20160229140416.GA12506@node.shutemov.name \ --to=kirill@shutemov.name \ --cc=aarcange@redhat.com \ --cc=airlied@linux.ie \ --cc=akpm@linux-foundation.org \ --cc=alexander.deucher@amd.com \ --cc=athorlton@sgi.com \ --cc=bcrl@kvack.org \ --cc=christian.koenig@amd.com \ --cc=daniel.vetter@intel.com \ --cc=dave.hansen@linux.intel.com \ --cc=dave@stgolabs.net \ --cc=hannes@cmpxchg.org \ --cc=hpa@zytor.com \ --cc=hughd@google.com \ --cc=kirill.shutemov@linux.intel.com \ --cc=koct9i@gmail.com \ --cc=linux-arch@vger.kernel.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-mm@kvack.org \ --cc=luto@amacapital.net \ --cc=mgorman@suse.de \ --cc=mhocko@kernel.org \ --cc=mingo@kernel.org \ --cc=oleg@redhat.com \ --cc=rientjes@google.com \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).