From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:46962) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UwXww-0007Mf-L6 for qemu-devel@nongnu.org; Tue, 09 Jul 2013 09:27:23 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1UwXwv-0008UR-ES for qemu-devel@nongnu.org; Tue, 09 Jul 2013 09:27:22 -0400 Received: from e06smtp16.uk.ibm.com ([195.75.94.112]:45032) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UwXwv-0008Tt-4t for qemu-devel@nongnu.org; Tue, 09 Jul 2013 09:27:21 -0400 Received: from /spool/local by e06smtp16.uk.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Tue, 9 Jul 2013 14:21:43 +0100 Received: from b06cxnps4074.portsmouth.uk.ibm.com (d06relay11.portsmouth.uk.ibm.com [9.149.109.196]) by d06dlp01.portsmouth.uk.ibm.com (Postfix) with ESMTP id 12A0C17D801A for ; Tue, 9 Jul 2013 14:28:50 +0100 (BST) Received: from d06av07.portsmouth.uk.ibm.com (d06av07.portsmouth.uk.ibm.com [9.149.37.248]) by b06cxnps4074.portsmouth.uk.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id r69DR4SN21364892 for ; Tue, 9 Jul 2013 13:27:04 GMT Received: from d06av07.portsmouth.uk.ibm.com (localhost [127.0.0.1]) by d06av07.portsmouth.uk.ibm.com (8.14.4/8.14.4/NCO v10.0 AVout) with ESMTP id r69DRFZe013125 for ; Tue, 9 Jul 2013 09:27:15 -0400 Message-ID: <51DC0FB2.50308@de.ibm.com> Date: Tue, 09 Jul 2013 15:27:14 +0200 From: Christian Borntraeger MIME-Version: 1.0 References: <1373369645-3184-1-git-send-email-cornelia.huck@de.ibm.com> <1373369645-3184-2-git-send-email-cornelia.huck@de.ibm.com> In-Reply-To: <1373369645-3184-2-git-send-email-cornelia.huck@de.ibm.com> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [RFC PATCH v2] s390/virtio-ccw: Adapter interrupt support. List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Cornelia Huck Cc: linux-s390 , Alexander Graf , qemu-devel , KVM , virtualization@lists.linux-foundation.org On 09/07/13 13:34, Cornelia Huck wrote: > Handle the new CCW_CMD_SET_IND_ADAPTER command enabling adapter interrupts > on guest request. When active, host->guest notifications will be handled > via global_indicator -> queue indicators instead of queue indicators + > subchannel I/O interrupt. Indicators for virtqueues may be present at an > offset. > You might want to add why we want adapter interrupts: - no test subchannel -> less qemu mutex contention - no test subchannel -> we can implement something like irqfd without moving most of ccw device mgmt into the kernel - interrupt coalescing - the guest common I/O layer already supports adapter interrupts for all newer hardware the interesting part of this patch is the guest<->host interface. As far as I can see, we are able to register - an isc per device - an arbitrary summary indicator byte per device - an arbitrary bit position in guest memory where the queue indicator bits of this device start This allows for packing the indicators for all virtqueues of all devices or spreading them in memory. The layout and amount of coalescing of bits is then an optimization that can be changed all the time without the need to change the interface. > Signed-off-by: Cornelia Huck Acked-by: Christian Borntraeger