From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:35703) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1byydl-0003rq-Bx for qemu-devel@nongnu.org; Tue, 25 Oct 2016 06:07:30 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1byydk-0001dE-Eg for qemu-devel@nongnu.org; Tue, 25 Oct 2016 06:07:29 -0400 Received: from mail-wm0-x243.google.com ([2a00:1450:400c:c09::243]:35526) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1byydk-0001ai-88 for qemu-devel@nongnu.org; Tue, 25 Oct 2016 06:07:28 -0400 Received: by mail-wm0-x243.google.com with SMTP id o81so728018wma.2 for ; Tue, 25 Oct 2016 03:07:26 -0700 (PDT) MIME-Version: 1.0 In-Reply-To: <20161024080257.GU15168@pxdev.xzpeter.org> References: <1476719064-9242-1-git-send-email-bd.aviv@gmail.com> <1476719064-9242-4-git-send-email-bd.aviv@gmail.com> <20161019093314.GC15168@pxdev.xzpeter.org> <20161021035700.GO15168@pxdev.xzpeter.org> <20161024080257.GU15168@pxdev.xzpeter.org> From: "Aviv B.D." Date: Tue, 25 Oct 2016 13:07:05 +0300 Message-ID: Content-Type: text/plain; charset=UTF-8 Subject: Re: [Qemu-devel] [PATCH v4 RESEND 3/3] IOMMU: enable intel_iommu map and unmap notifiers List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Peter Xu Cc: qemu-devel@nongnu.org, "Michael S. Tsirkin" , Alex Williamson , Jan Kiszka On Mon, Oct 24, 2016 at 11:02 AM, Peter Xu wrote: > On Mon, Oct 24, 2016 at 10:53:01AM +0300, Aviv B.D. wrote: > > [...] > > > This was my first algorithm, but VFIO do not support remapping of mapped > > page. > > Before each MAP operation in VFIO one must do unmap, and therefore I'm > > sending > > the unmap notifications blindly before. > > I can rearrange my code closer to your suggestion. > > If so, I would suggest we solve the real problem first: we should not > notify VFIO twice on map(), but only once. IMO either Alex's or > David's suggestion (in the other mail) is a good start. > > OK. I will publish a new patch set that notify only once per page. I prefer David's suggestion - adding the range information to the notifier struct and check it from inside the VFIO notification function. > > > > > > > > > > This is to follow your logic. I don't know whether this is efficient > > > enough, maybe good for the first version. The problem is, when you > > > call translate(), you will need to go over the page every time from > > > root dir. A faster way may be: provide a function to walk specific > > > address range. If you are going to implement the replay logic that > > > Alex/David has mentioned, maybe that will help too (walk over the > > > whole 64bit range). > > > > > > Interesting idea, but I prefer to add it in separate patch set after > this > > one committed, if it's OK. > > Sure. > > -- peterx > Thanks, Aviv.