From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:42950) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZpHpY-0003SO-T9 for qemu-devel@nongnu.org; Thu, 22 Oct 2015 11:31:05 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZpHpT-0007wN-A3 for qemu-devel@nongnu.org; Thu, 22 Oct 2015 11:31:04 -0400 Received: from mx1.redhat.com ([209.132.183.28]:34161) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZpHpT-0007wH-5U for qemu-devel@nongnu.org; Thu, 22 Oct 2015 11:30:59 -0400 Date: Thu, 22 Oct 2015 17:30:55 +0200 From: Andrea Arcangeli Message-ID: <20151022153055.GC1331@redhat.com> References: <1431624680-20153-1-git-send-email-aarcange@redhat.com> <1431624680-20153-15-git-send-email-aarcange@redhat.com> <20151022121056.GB7520@twins.programming.kicks-ass.net> <20151022132015.GF19147@redhat.com> <20151022133824.GR17308@twins.programming.kicks-ass.net> <20151022141831.GA1331@redhat.com> <20151022151509.GO3604@twins.programming.kicks-ass.net> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20151022151509.GO3604@twins.programming.kicks-ass.net> Subject: Re: [Qemu-devel] [PATCH 14/23] userfaultfd: wake pending userfaults List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Peter Zijlstra Cc: kvm@vger.kernel.org, qemu-devel@nongnu.org, Sanidhya Kashyap , Dave Hansen , zhang.zhanghailiang@huawei.com, Pavel Emelyanov , Hugh Dickins , Mel Gorman , "Huangpeng (Peter)" , "Dr. David Alan Gilbert" , Andres Lagar-Cavilla , "Kirill A. Shutemov" , linux-mm@kvack.org, linux-api@vger.kernel.org, linux-kernel@vger.kernel.org, Andy Lutomirski , Johannes Weiner , Paolo Bonzini , Andrew Morton , Linus Torvalds , Peter Feiner On Thu, Oct 22, 2015 at 05:15:09PM +0200, Peter Zijlstra wrote: > Indefinitely is such a long time, we should try and finish > computation before the computer dies etc. :-) Indefinitely as read_seqcount_retry, eventually it makes progress. Even returning 0 from the page fault can trigger it again indefinitely, so VM_FAULT_RETRY isn't fundamentally different from returning 0 and retrying the page fault again later. So it's not clear why VM_FAULT_RETRY can only try once more. FAULT_FLAG_TRIED as a message to the VM so it starts to do heavy locking and block more aggressively is actually useful as such, but it shouldn't be a replacement of FAULT_FLAG_ALLOW_RETRY. What I meant with removing FAULT_FLAG_TRIED is really about converting it to an hint, but not controlling if the page fault can keep retrying in-kernel.