From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:58315) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Xa9ts-0001sn-1y for qemu-devel@nongnu.org; Fri, 03 Oct 2014 16:56:34 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Xa9tl-0000YN-PD for qemu-devel@nongnu.org; Fri, 03 Oct 2014 16:56:27 -0400 Received: from mx5-phx2.redhat.com ([209.132.183.37]:35460) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Xa9tl-0000YJ-H3 for qemu-devel@nongnu.org; Fri, 03 Oct 2014 16:56:21 -0400 Date: Fri, 3 Oct 2014 16:55:50 -0400 (EDT) From: Paolo Bonzini Message-ID: <357882411.58338047.1412369750145.JavaMail.zimbra@redhat.com> In-Reply-To: References: <1412356087-16115-1-git-send-email-aarcange@redhat.com> <1412356087-16115-2-git-send-email-aarcange@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH 01/17] mm: gup: add FOLL_TRIED List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Linus Torvalds Cc: Robert Love , Dave Hansen , Jan Kara , KVM list , Neil Brown , Stefan Hajnoczi , qemu-devel@nongnu.org, linux-mm , KOSAKI Motohiro , Michel Lespinasse , Andrea Arcangeli , Taras Glek , Andrew Jones , Juan Quintela , Hugh Dickins , Isaku Yamahata , Mel Gorman , Sasha Levin , Android Kernel Team , "\\Dr. David Alan Gilbert" , "Huangpeng (Peter)" , Andres Lagar-Cavilla , Christopher Covington , Anthony Liguori , Keith Packard , Wenchao Xia , Linux API , Linux Kernel Mailing List , Andy Lutomirski , Minchan Kim , Dmitry Adamushko , Johannes Weiner , Mike Hommey , Andrew Morton , Peter Feiner > This needs more explanation than that one-liner comment. Make the > commit message explain why the new FOLL_TRIED flag exists. This patch actually is extracted from a 3.18 commit in the KVM tree, https://git.kernel.org/cgit/virt/kvm/kvm.git/commit/?h=next&id=234b239b. Here is how that patch uses the flag: /* * The previous call has now waited on the IO. Now we can * retry and complete. Pass TRIED to ensure we do not re * schedule async IO (see e.g. filemap_fault). */ down_read(&mm->mmap_sem); npages = __get_user_pages(tsk, mm, addr, 1, flags | FOLL_TRIED, pagep, NULL, NULL);