From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Morton Subject: Re: [PATCH 0/3] userfaultfd: non-cooperative: syncronous events Date: Fri, 2 Mar 2018 15:38:49 -0800 Message-ID: <20180302153849.d9d7b9a873755c6f5e883d0d@linux-foundation.org> References: <1519719592-22668-1-git-send-email-rppt@linux.vnet.ibm.com> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <1519719592-22668-1-git-send-email-rppt@linux.vnet.ibm.com> Sender: linux-kernel-owner@vger.kernel.org To: Mike Rapoport Cc: Andrea Arcangeli , Pavel Emelyanov , linux-mm , linux-api , lkml , crml List-Id: linux-api@vger.kernel.org On Tue, 27 Feb 2018 10:19:49 +0200 Mike Rapoport wrote: > Hi, > > These patches add ability to generate userfaultfd events so that their > processing will be synchronized with the non-cooperative thread that caused > the event. > > In the non-cooperative case userfaultfd resumes execution of the thread > that caused an event when the notification is read() by the uffd monitor. > In some cases, like, for example, madvise(MADV_REMOVE), it might be > desirable to keep the thread that caused the event suspended until the > uffd monitor had the event handled to avoid races between the thread that > caused the and userfaultfd ioctls. > > Theses patches extend the userfaultfd API with an implementation of > UFFD_EVENT_REMOVE_SYNC that allows to keep the thread that triggered > UFFD_EVENT_REMOVE until the uffd monitor would not wake it explicitly. "might be desirable" is a bit weak. It might not be desirable, too ;) _Is_ it desirable? What are the use-cases and what is the end-user benefit?