From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:59165) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UDs9m-00053n-P0 for qemu-devel@nongnu.org; Fri, 08 Mar 2013 02:56:00 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1UDs9l-0004of-2O for qemu-devel@nongnu.org; Fri, 08 Mar 2013 02:55:58 -0500 Received: from e06smtp13.uk.ibm.com ([195.75.94.109]:46115) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UDs9k-0004oX-NA for qemu-devel@nongnu.org; Fri, 08 Mar 2013 02:55:56 -0500 Received: from /spool/local by e06smtp13.uk.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Fri, 8 Mar 2013 07:53:57 -0000 Received: from b06cxnps4076.portsmouth.uk.ibm.com (d06relay13.portsmouth.uk.ibm.com [9.149.109.198]) by d06dlp01.portsmouth.uk.ibm.com (Postfix) with ESMTP id E02F217D8057 for ; Fri, 8 Mar 2013 07:56:27 +0000 (GMT) Received: from d06av11.portsmouth.uk.ibm.com (d06av11.portsmouth.uk.ibm.com [9.149.37.252]) by b06cxnps4076.portsmouth.uk.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id r287tfvX35913836 for ; Fri, 8 Mar 2013 07:55:41 GMT Received: from d06av11.portsmouth.uk.ibm.com (loopback [127.0.0.1]) by d06av11.portsmouth.uk.ibm.com (8.14.4/8.13.1/NCO v10.0 AVout) with ESMTP id r287toIR023841 for ; Fri, 8 Mar 2013 00:55:50 -0700 Date: Fri, 8 Mar 2013 08:55:48 +0100 From: Cornelia Huck Message-ID: <20130308085548.5bba025d@gondolin> In-Reply-To: <20130307180221.GA30580@redhat.com> References: <1361806070-62465-1-git-send-email-cornelia.huck@de.ibm.com> <20130226110421.GB10915@redhat.com> <20130226111812.GA11111@redhat.com> <20130307180221.GA30580@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] virtio-s390: document GPR4/GPR2 cookie values List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: "Michael S. Tsirkin" Cc: Carsten Otte , rusty@rustcorp.com.au, KVM , Gleb Natapov , linux-s390 , Marcelo Tosatti , Heiko Carstens , Alexander Graf , qemu-devel , Christian Borntraeger , Martin Schwidefsky , virtualization@lists.linux-foundation.org On Thu, 7 Mar 2013 20:02:21 +0200 "Michael S. Tsirkin" wrote: > virtio-s390 on kvm can use a cookie value passed to guest s/virtio-s390/virtio-ccw/ (to avoid confusion with s390-virtio, which was never specced) > to optimize channel/VQ lookups. > Document this. > > Signed-off-by: Michael S. Tsirkin Otherwise: Reviewed-by: Cornelia Huck Rusty, could you please apply? > > --- > diff --git a/virtio-spec.lyx b/virtio-spec.lyx > index 72d956c..91aed06 100644 > --- a/virtio-spec.lyx > +++ b/virtio-spec.lyx > @@ -10627,7 +10626,252 @@ Guest->Host Notification > For notifying the host of virtqueue buffers, the guest unfortunately can't > use a channel command (the asynchronous characteristics of channel I/O > interact badly with the host block I/O backend). > - Instead, it uses a diagnose 0x500 call with subcode 3 specifying the queue. > + Instead, it uses a diagnose 0x500 call with subcode 3 specifying the queue > +\change_inserted 1986246365 1362677938 > +, as follows: > +\end_layout > + > +\begin_layout Standard > + > +\change_inserted 1986246365 1362677973 > +\begin_inset Tabular > + > + > + > + > + > + > + > +\begin_inset Text > + > +\begin_layout Plain Layout > + > +\change_inserted 1986246365 1362677978 > +GPR > +\change_unchanged > + > +\end_layout > + > +\end_inset > + > + > +\begin_inset Text > + > +\begin_layout Plain Layout > + > +\change_inserted 1986246365 1362678629 > +Input Value > +\change_unchanged > + > +\end_layout > + > +\end_inset > + > + > +\begin_inset Text > + > +\begin_layout Plain Layout > + > +\change_inserted 1986246365 1362678627 > +Output Value > +\end_layout > + > +\end_inset > + > + > + > + > +\begin_inset Text > + > +\begin_layout Plain Layout > + > +\change_inserted 1986246365 1362677991 > +1 > +\change_unchanged > + > +\end_layout > + > +\end_inset > + > + > +\begin_inset Text > + > +\begin_layout Plain Layout > + > +\change_inserted 1986246365 1362678208 > +0x3 > +\change_unchanged > + > +\end_layout > + > +\end_inset > + > + > +\begin_inset Text > + > +\begin_layout Plain Layout > + > +\change_inserted 1986246365 1362678620 > + > +\end_layout > + > +\end_inset > + > + > + > + > +\begin_inset Text > + > +\begin_layout Plain Layout > + > +\change_inserted 1986246365 1362678226 > +2 > +\change_unchanged > + > +\end_layout > + > +\end_inset > + > + > +\begin_inset Text > + > +\begin_layout Plain Layout > + > +\change_inserted 1986246365 1362678498 > +Subchannel ID > +\change_unchanged > + > +\end_layout > + > +\end_inset > + > + > +\begin_inset Text > + > +\begin_layout Plain Layout > + > +\change_inserted 1986246365 1362678642 > +Host Cookie > +\end_layout > + > +\end_inset > + > + > + > + > +\begin_inset Text > + > +\begin_layout Plain Layout > + > +\change_inserted 1986246365 1362678500 > +3 > +\change_unchanged > + > +\end_layout > + > +\end_inset > + > + > +\begin_inset Text > + > +\begin_layout Plain Layout > + > +\change_inserted 1986246365 1362678540 > +Virtqueue number > +\change_unchanged > + > +\end_layout > + > +\end_inset > + > + > +\begin_inset Text > + > +\begin_layout Plain Layout > + > +\change_inserted 1986246365 1362678620 > + > +\end_layout > + > +\end_inset > + > + > + > + > +\begin_inset Text > + > +\begin_layout Plain Layout > + > +\change_inserted 1986246365 1362678529 > +4 > +\change_unchanged > + > +\end_layout > + > +\end_inset > + > + > +\begin_inset Text > + > +\begin_layout Plain Layout > + > +\change_inserted 1986246365 1362678644 > +Host Cookie > +\change_unchanged > + > +\end_layout > + > +\end_inset > + > + > +\begin_inset Text > + > +\begin_layout Plain Layout > + > +\change_inserted 1986246365 1362678620 > + > +\end_layout > + > +\end_inset > + > + > + > + > +\end_inset > + > + > +\change_deleted 1986246365 1362677938 > +. > +\change_inserted 1986246365 1362678646 > + > +\end_layout > + > +\begin_layout Standard > + > +\change_inserted 1986246365 1362679010 > +Host cookie is an optional per-virtqueue 64 bit value that can be used by > + the hypervisor to speed up the notification execution. > + For each notification, the output value is returned in GPR2 and should > + be passed in GPR4 for the next notification: > +\end_layout > + > +\begin_layout LyX-Code > + > +\change_inserted 1986246365 1362679011 > +\begin_inset listings > +inline false > +status open > + > +\begin_layout Plain Layout > + > +\change_inserted 1986246365 1362679033 > + > +info->cookie = do_notify(schid, virtqueue_get_queue_index(vq), info->cookie); > +\end_layout > + > +\end_inset > + > + > \end_layout > > \begin_layout Subsubsection* >