From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:40032) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UIby0-0005qj-GI for qemu-devel@nongnu.org; Thu, 21 Mar 2013 05:39:28 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1UIbxt-00081U-VH for qemu-devel@nongnu.org; Thu, 21 Mar 2013 05:39:24 -0400 Received: from mx1.redhat.com ([209.132.183.28]:46032) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UIbxt-000802-Nk for qemu-devel@nongnu.org; Thu, 21 Mar 2013 05:39:17 -0400 Date: Thu, 21 Mar 2013 11:39:47 +0200 From: "Michael S. Tsirkin" Message-ID: <20130321093946.GG28328@redhat.com> References: <20130321061838.GA28319@redhat.com> <20130321070357.GD28328@redhat.com> <20130321085107.GE28328@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: Subject: Re: [Qemu-devel] [PATCH] rdma: don't make pages writeable if not requiested List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Roland Dreier Cc: qemu-devel@nongnu.org, "linux-rdma@vger.kernel.org" , Yishai Hadas , LKML , "Michael R. Hines" , Hal Rosenstock , Sean Hefty , Christoph Lameter On Thu, Mar 21, 2013 at 02:13:38AM -0700, Roland Dreier wrote: > On Thu, Mar 21, 2013 at 1:51 AM, Michael S. Tsirkin wrote: > >> In that case, no, I don't see any reason for LOCAL_WRITE, since the > >> only RDMA operations that will access this memory are remote reads. > > > > What is the meaning of LOCAL_WRITE then? There are no local > > RDMA writes as far as I can see. > > Umm, it means you're giving the local adapter permission to write to > that memory. So you can use it as a receive buffer or as the target > for remote data from an RDMA read operation. Well RDMA read has it's own flag, IB_ACCESS_REMOTE_READ. I don't see why do you need to give adapter permission to use memory as a receive buffer given that you must pass the address in the post receive verb, but maybe that's what the IB spec says so that's what the applications assumed? > > OK then what we need is a new flag saying "I really do not > > intend to write into this memory please do not break > > COW or do anything else just in case I do". > > Isn't that a shared read-only mapping? > > - R. Nothing to do with how the page is mapped. We can and do write the page before registration. BTW umem.c passes in force so it breaks COW even for read-only mappings, right? -- MST