From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:40724) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TgWJu-0005kG-Iv for qemu-devel@nongnu.org; Thu, 06 Dec 2012 02:56:37 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1TgWJl-0005iC-So for qemu-devel@nongnu.org; Thu, 06 Dec 2012 02:56:34 -0500 Received: from mx1.redhat.com ([209.132.183.28]:53957) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TgWJl-0005i6-Lt for qemu-devel@nongnu.org; Thu, 06 Dec 2012 02:56:25 -0500 Date: Thu, 6 Dec 2012 09:59:35 +0200 From: "Michael S. Tsirkin" Message-ID: <20121206075935.GA10837@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Subject: [Qemu-devel] removing on-demand msix vector allocation List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Jan Kiszka , "qemu-devel@nongnu.org" I've been looking at handling of msix masking in qemu. It looks like all of virtio,vfio and device assignment implemented their own similar but slightly different thing. So I am inclined to move this handling to common code in msix.c, adding irqfd support right there. While doing this rework, one of the more painful bits of code to change is the code that dynamically allocates msix table entries as we inject msi. If this actually triggers it's going to be painfully slow as route changes are rcu write side in kernel. Since recent kernels support direct injection, do we care anymore? I think if you run out of vectors, it's better to simply disable irqchip than try to limp along changing routes all the time. Comments? -- MST