From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:58953) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cT1xX-0004GZ-L4 for qemu-devel@nongnu.org; Mon, 16 Jan 2017 02:44:08 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cT1xU-0002CG-Ig for qemu-devel@nongnu.org; Mon, 16 Jan 2017 02:44:07 -0500 Received: from mx1.redhat.com ([209.132.183.28]:57014) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1cT1xU-0002C2-CL for qemu-devel@nongnu.org; Mon, 16 Jan 2017 02:44:04 -0500 Date: Mon, 16 Jan 2017 15:43:59 +0800 From: Peter Xu Message-ID: <20170116074359.GD30108@pxdev.xzpeter.org> References: <1484276800-26814-1-git-send-email-peterx@redhat.com> <1484276800-26814-13-git-send-email-peterx@redhat.com> <397afe71-b4cd-ba48-6d76-a7b27e1128f9@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <397afe71-b4cd-ba48-6d76-a7b27e1128f9@redhat.com> Content-Transfer-Encoding: quoted-printable Subject: Re: [Qemu-devel] [PATCH RFC v3 12/14] intel_iommu: do replay when context invalidate List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Jason Wang Cc: qemu-devel@nongnu.org, tianyu.lan@intel.com, kevin.tian@intel.com, mst@redhat.com, jan.kiszka@siemens.com, alex.williamson@redhat.com, bd.aviv@gmail.com On Mon, Jan 16, 2017 at 01:53:54PM +0800, Jason Wang wrote: >=20 >=20 > On 2017=E5=B9=B401=E6=9C=8813=E6=97=A5 11:06, Peter Xu wrote: > >Before this one we only invalidate context cache when we receive conte= xt > >entry invalidations. However it's possible that the invalidation also > >contains a domain switch (only if cache-mode is enabled for vIOMMU). >=20 > So let's check for CM before replaying? When CM is not set, there should have no device needs IOMMU_NOTIFIER_MAP notifies. So IMHO it won't hurt if we replay here (so the notifier_list will only contain UNMAP notifiers at most, and sending UNMAP to those devices should not affect them at all). If we check CM before replay, it'll be faster when guest change iommu domain for a specific device. But after all this kind of operation is extremely rare, while if we check CM bit, we have a "assumption" in the code that MAP is depending on CM. In that case, to make the codes cleaner, I'd slightly prefer not check it here. How do you think? Thanks, -- peterx