From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:34937) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bpeWt-0006lU-95 for qemu-devel@nongnu.org; Thu, 29 Sep 2016 12:49:54 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bpeWr-0002f0-A5 for qemu-devel@nongnu.org; Thu, 29 Sep 2016 12:49:50 -0400 Received: from mx1.redhat.com ([209.132.183.28]:50248) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bpeWr-0002eu-3t for qemu-devel@nongnu.org; Thu, 29 Sep 2016 12:49:49 -0400 Date: Thu, 29 Sep 2016 18:49:45 +0200 From: Radim =?utf-8?B?S3LEjW3DocWZ?= Message-ID: <20160929164944.GB12788@potion> References: <20160929112329.2408-1-rkrcmar@redhat.com> <20160929112329.2408-8-rkrcmar@redhat.com> <20160929150119.GS3877@thinpad.lan.raisama.net> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <20160929150119.GS3877@thinpad.lan.raisama.net> Content-Transfer-Encoding: quoted-printable Subject: Re: [Qemu-devel] [PATCH v2 7/7] intel-iommu: keep buggy EIM enabled in 2.7 machine type List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Paolo Bonzini , Eduardo Habkost Cc: qemu-devel@nongnu.org, Peter Xu , Igor Mammedov , Richard Henderson , "Michael S. Tsirkin" 2016-09-29 15:19+0200, Paolo Bonzini: > On 29/09/2016 13:23, Radim Kr=C4=8Dm=C3=A1=C5=99 wrote: >> QEMU 2.7 allowed EIM even in configurations that were forbidden in the >> last patch because they were not working, like old KVM or userspace >> APIC. In order to keep backward compatibility, we again allow guests = to >> misbehave in non-obvious ways, and make it the default. >>=20 >> Signed-off-by: Radim Kr=C4=8Dm=C3=A1=C5=99 >=20 > Ugh, I misremembered that VTD_ECAP_EIM was not set in 2.7. :( Perhaps > it's better to drop this patch... I think that adding this backward compatibility hack into code that is supposed to be developed is not a good idea. 2016-09-29 12:01-0300, Eduardo Habkost: > If you break compatibility and fix it in separate patches, you > break bisectability (even for people that are bisecting bugs > unrelated to EIM). I'd keep it as a separate patch and let maintainers decide whether they want to squish or drop it. > (But I still don't understand if patch 6/7 really breaks > anything, or not.) Nothing useful. It "breaks" three cases: 1) If user configured -machine kernel_irqchip=3Doff -device intel_iommu,intremap=3Don QEMU 2.7 pc-q35-2.7 enabled (broken) EIM, but 2.8 wouldn't, leading to a different machine. (The same with new KVM and split irqchip.) 2) If user had old KVM and configured -machine kernel_irqchip=3Dsplit -device intel_iommu,intremap=3Don QEMU 2.7 pc-q35-2.7 enabled (broken) EIM, but after offline migration to 2.8, QEMU would refuse to start. 3) If user started a pc-q35-2.7 with QEMU 2.8 on a new KVM, then they could use cluster x2APIC without a problem, but the guest wouldn't work after offline migration to QEMU 2.7 (I'm not sure if this case is supported). Luckily, the intel-iommu device doesn't support live migration. :)