From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:40314) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1S8SWF-0007A0-5r for qemu-devel@nongnu.org; Fri, 16 Mar 2012 04:28:16 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1S8SVs-0005xH-2d for qemu-devel@nongnu.org; Fri, 16 Mar 2012 04:28:14 -0400 Received: from thoth.sbs.de ([192.35.17.2]:24561) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1S8SVr-0005wy-OG for qemu-devel@nongnu.org; Fri, 16 Mar 2012 04:27:51 -0400 Message-ID: <4F62F97C.5080805@siemens.com> Date: Fri, 16 Mar 2012 09:27:40 +0100 From: Jan Kiszka MIME-Version: 1.0 References: <4F61C2C5.6060700@cn.fujitsu.com> <4F62A7AF.9020706@cn.fujitsu.com> In-Reply-To: <4F62A7AF.9020706@cn.fujitsu.com> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] pci-assign can not work List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Wen Congyang Cc: qemu-devel , kvm list , Markus Armbruster On 2012-03-16 03:38, Wen Congyang wrote: > At 03/15/2012 06:21 PM, Wen Congyang Wrote: >> Hi all >> >> When I use pci-assign, I meet the following error: >> >> Failed to assign irq for "hostdev0": Input/output error >> Perhaps you are assigning a device that shares an IRQ with another device? >> >> Is it a bug or I miss something? > > Hi, Jan > > This problem is caused by your patch: > commit 6919115a8715c34cd80baa08422d90496f11f5d7 > Author: Jan Kiszka > Date: Thu Mar 8 11:10:27 2012 +0100 > > pci_assign: Flip defaults of prefer_msi and share_intx > > INTx sharing is a bit more expensive than exclusive host interrupts, but > this channel is not supposed to be used for high-performance scenarios > anyway. Modern devices support MSI/MSI-X and do not depend on using INTx > under critical workload, real old devices do not support INTx sharing > anyway. > > For those in the middle, the user experience is much better if they just > work even when IRQ sharing is required. If there is nothing to share, > share_intx=off can still be applied as tuning parameter. > > With INTx sharing as default, the primary reason for prefer_msi=on is > gone. Make it default off, specifically as it is known to cause troubles > with devices that have incomplete/broken MSI support or otherwise > stumble if host IRQ configuration does not match guest driver > expectation. > > Acked-by: Alex Williamson > Signed-off-by: Jan Kiszka > Signed-off-by: Marcelo Tosatti > > If I revert this commit. qemu can work. > This should be "solvable" by passing prefer_msi=on to the pci-assign device, or likely by updating your host kernel to latest kvm.git (to enable INTx sharing). Hmm, unfortunate. We needed a conditional default for the prefer_msi property here. If INTx sharing doesn't work for some reason AND the user did not ask for disabling the host-side MSI usage, we should fall back to it again. Markus, is there some easy way to find out if a specific qdev property was set due to a command line switch or was defined by the default value? Jan -- Siemens AG, Corporate Technology, CT T DE IT 1 Corporate Competence Center Embedded Linux