From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jan Kiszka Subject: Re: [RFC][PATCH] KVM: Introduce direct MSI message injection for in-kernel irqchips Date: Mon, 24 Oct 2011 12:19:43 +0200 Message-ID: <4EA53BBF.2010704@siemens.com> References: <4EA13917.7070401@siemens.com> <4EA533B8.4040407@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-15 Content-Transfer-Encoding: 7bit Cc: Marcelo Tosatti , kvm , "Michael S. Tsirkin" To: Avi Kivity Return-path: Received: from david.siemens.de ([192.35.17.14]:34664 "EHLO david.siemens.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754668Ab1JXKTr (ORCPT ); Mon, 24 Oct 2011 06:19:47 -0400 In-Reply-To: <4EA533B8.4040407@redhat.com> Sender: kvm-owner@vger.kernel.org List-ID: On 2011-10-24 11:45, Avi Kivity wrote: > On 10/21/2011 11:19 AM, Jan Kiszka wrote: >> Currently, MSI messages can only be injected to in-kernel irqchips by >> defining a corresponding IRQ route for each message. This is not only >> unhandy if the MSI messages are generated "on the fly" by user space, >> IRQ routes are a limited resource that user space as to manage >> carefully. > > By itself, this does not provide enough value to offset the cost of a > new ABI, especially as userspace will need to continue supporting the > old method for a very long while. Yes, but less sophistically as it would now. > >> By providing a direct injection with, we can both avoid using up limited >> resources and simplify the necessary steps for user land. The API >> already provides a channel (flags) to revoke an injected but not yet >> delivered message which will become important for in-kernel MSI-X vector >> masking support. >> > > With the new feature it may be worthwhile, but I'd like to see the whole > thing, with numbers attached. It's not a performance issue, it's a resource limitation issue: With the new API we can stop worrying about user space device models consuming limited IRQ routes of the KVM subsystem. Jan -- Siemens AG, Corporate Technology, CT T DE IT 1 Corporate Competence Center Embedded Linux