All of lore.kernel.org
 help / color / mirror / Atom feed
From: Halil Pasic <pasic@linux.ibm.com>
To: Cornelia Huck <cohuck@redhat.com>
Cc: kvm@vger.kernel.org, linux-s390@vger.kernel.org,
	Martin Schwidefsky <schwidefsky@de.ibm.com>,
	Sebastian Ott <sebott@linux.ibm.com>,
	virtualization@lists.linux-foundation.org,
	Christian Borntraeger <borntraeger@de.ibm.com>,
	Viktor Mihajlovski <mihajlov@linux.ibm.com>,
	Vasily Gorbik <gor@linux.ibm.com>,
	Janosch Frank <frankja@linux.ibm.com>,
	Claudio Imbrenda <imbrenda@linux.ibm.com>,
	Farhan Ali <alifm@linux.ibm.com>,
	Eric Farman <farman@linux.ibm.com>
Subject: Re: [RFC PATCH 05/12] s390/cio: add protected virtualization support to cio
Date: Wed, 10 Apr 2019 15:02:25 +0200	[thread overview]
Message-ID: <20190410150225.61b86cd9@oc2783563651> (raw)
In-Reply-To: <20190410102557.1ba89d96.cohuck@redhat.com>

On Wed, 10 Apr 2019 10:25:57 +0200
Cornelia Huck <cohuck@redhat.com> wrote:

> On Wed, 10 Apr 2019 02:10:44 +0200
> Halil Pasic <pasic@linux.ibm.com> wrote:
> 
> > On Tue, 9 Apr 2019 19:55:48 +0200
> > Cornelia Huck <cohuck@redhat.com> wrote:
> > 
> > > On Fri,  5 Apr 2019 01:16:15 +0200
> > > Halil Pasic <pasic@linux.ibm.com> wrote:
> 
> > > > Thus we need to make sure any memory that is used for communication with
> > > > the hypervisor is shared.  
> > > 
> > > In this context, does 'hypervisor' always mean 'QEMU/KVM'? If Other
> > > Hypervisors implement protected virtualization, we probably need to
> > > make sure that all common I/O layer control blocks are in the dma area
> > > (including e.g. QDIO), not just what virtio-ccw devices use.
> > >   
> > 
> > Hypervisor could theoretically be something different than QEMU/KVM. Yet,
> > as stated before, this series is about getting virtio-ccw working
> > (modulo the TODOs). 
> 
> Sure, just wanted to point it out. If this is "enable the common I/O
> layer, except for QDIO" or so, that would sound fine to me :)
> 

Right except QDIO. Series cares only about the bits relevant for
virtio-ccw. I guess I should make that clearer in the commit message.


> > 
> > [..]
> > 
> > > >    
> > > 
> > > So, this leaves some things I'm not sure about, especially as I do not
> > > know the architecture of this new feature.
> > > 
> > > - This applies only to asynchronously handled things, it seems? So
> > >   things like control blocks modified by stsch/msch/etc does not need
> > >   special treatment?  
> > 
> > I had a feeble attempt at explaining this in the cover letter:
> > 
> > * make sure that virtio-ccw specific stuff uses shared memory when
> >   talking to the hypervisor (except communication blocks like ORB, these
> >   are handled by the hypervisor)
> > 
> > Unfortunately the last 'hypervisor' was supposed to be 'ultravisor'.
> > 
> > I.e. the ultravisor will take care of exposing the control blocks
> > to the hypervisor (and of changes as well).
> 
> Yeah, that "control blocks" or "communication blocks" leaves me a bit
> fuzzy :)

Yeah. I don't know if there is an official name for the stuff. For
the ORB of SSCH control block seems quite fitting. For the SCHIB of
STSCH communication seems a better fit.

> 
> So, what is a high-level summary of areas that need the treatment?
> What I get from looking at the patches so far, it's:
> - stuff that is written by the hypervisor's interrupt injection code:
>   IRB, indicators, etc.

In interrupt context IRB behaves like a control block. We don't have
to make it shared.

I moved IRB because of snse:


@@ -329,9 +329,9 @@ ccw_device_do_sense(struct ccw_device *cdev, struct
irb *irb) /*
         * We have ending status but no sense information. Do a basic
sense. */
-       sense_ccw = &to_io_private(sch)->sense_ccw;
+       sense_ccw = &to_io_private(sch)->dma_area->sense_ccw;
        sense_ccw->cmd_code = CCW_CMD_BASIC_SENSE;
-       sense_ccw->cda = (__u32) __pa(cdev->private->irb.ecw);
+       sense_ccw->cda = (__u32) __pa(cdev->private->dma_area->irb.ecw);

as the irb.ecw is used as channel program data. And that needs to be
shared.

> - buffers that are filled by a channel program: sense, sense id, etc.
> - ccws themselves (because of translation?)
> 

Right. The idea is: smallish, basically fixed size a readily available
control blocks (specified as a ) are copied back and forth by the
ultravisor (via SIE SD).

Regards,
Halil

  reply	other threads:[~2019-04-10 13:02 UTC|newest]

Thread overview: 87+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-04-04 23:16 [RFC PATCH 00/12] s390: virtio: support protected virtualization Halil Pasic
2019-04-04 23:16 ` [RFC PATCH 01/12] virtio/s390: use vring_create_virtqueue Halil Pasic
2019-04-08 11:01   ` Cornelia Huck
2019-04-08 11:01     ` Cornelia Huck
2019-04-08 12:37     ` Michael S. Tsirkin
2019-04-08 12:37       ` Michael S. Tsirkin
2019-04-08 13:20     ` Halil Pasic
2019-04-04 23:16 ` [RFC PATCH 02/12] virtio/s390: DMA support for virtio-ccw Halil Pasic
2019-04-09  9:57   ` Cornelia Huck
2019-04-09  9:57     ` Cornelia Huck
2019-04-09 11:29     ` Halil Pasic
2019-04-09 13:01       ` Cornelia Huck
2019-04-09 13:01         ` Cornelia Huck
2019-04-09 13:23         ` Halil Pasic
2019-04-09 15:47           ` Cornelia Huck
2019-04-09 15:47             ` Cornelia Huck
2019-04-04 23:16 ` [RFC PATCH 03/12] s390/mm: force swiotlb for protected virtualization Halil Pasic
2019-04-09 10:16   ` Cornelia Huck
2019-04-09 10:16     ` Cornelia Huck
2019-04-09 10:54     ` Halil Pasic
2019-04-09 17:18       ` Cornelia Huck
2019-04-09 17:18         ` Cornelia Huck
2019-04-09 12:22   ` Christoph Hellwig
2019-04-09 12:22     ` Christoph Hellwig
2019-04-09 12:39     ` Halil Pasic
2019-04-04 23:16 ` [RFC PATCH 04/12] s390/cio: introduce cio DMA pool Halil Pasic
2019-04-09 10:44   ` Cornelia Huck
2019-04-09 10:44     ` Cornelia Huck
2019-04-09 12:11     ` Halil Pasic
2019-04-09 17:14       ` Cornelia Huck
2019-04-09 17:14         ` Cornelia Huck
2019-04-10 15:31         ` Halil Pasic
2019-04-10 16:07           ` Cornelia Huck
2019-04-10 16:07             ` Cornelia Huck
2019-04-10 16:52             ` Halil Pasic
2019-04-11 18:25   ` Sebastian Ott
2019-04-11 18:25     ` Sebastian Ott
2019-04-12 11:20     ` Halil Pasic
2019-04-12 12:12       ` Sebastian Ott
2019-04-12 12:12         ` Sebastian Ott
2019-04-12 15:30         ` Halil Pasic
2019-04-16 12:50           ` Sebastian Ott
2019-04-16 12:50             ` Sebastian Ott
2019-04-16 13:31             ` Halil Pasic
2019-04-04 23:16 ` [RFC PATCH 05/12] s390/cio: add protected virtualization support to cio Halil Pasic
2019-04-09 17:55   ` Cornelia Huck
2019-04-09 17:55     ` Cornelia Huck
2019-04-10  0:10     ` Halil Pasic
2019-04-10  8:25       ` Cornelia Huck
2019-04-10  8:25         ` Cornelia Huck
2019-04-10 13:02         ` Halil Pasic [this message]
2019-04-10 16:16           ` Cornelia Huck
2019-04-10 16:16             ` Cornelia Huck
2019-04-11 14:15   ` Sebastian Ott
2019-04-11 14:15     ` Sebastian Ott
2019-04-12 11:29     ` Halil Pasic
2019-04-04 23:16 ` [RFC PATCH 06/12] s390/airq: use DMA memory for adapter interrupts Halil Pasic
2019-04-04 23:16 ` [RFC PATCH 07/12] virtio/s390: use DMA memory for ccw I/O Halil Pasic
2019-04-10  8:42   ` Cornelia Huck
2019-04-10  8:42     ` Cornelia Huck
2019-04-10 14:42     ` Halil Pasic
2019-04-10 16:21       ` Cornelia Huck
2019-04-10 16:21         ` Cornelia Huck
2019-04-04 23:16 ` [RFC PATCH 08/12] virtio/s390: add indirection to indicators access Halil Pasic
2019-04-04 23:16 ` [RFC PATCH 09/12] virtio/s390: use DMA memory for notifiers Halil Pasic
2019-04-04 23:16 ` [RFC PATCH 10/12] virtio/s390: consolidate DMA allocations Halil Pasic
2019-04-10  8:46   ` Cornelia Huck
2019-04-10  8:46     ` Cornelia Huck
2019-04-10 15:12     ` Halil Pasic
2019-04-10 16:36       ` Cornelia Huck
2019-04-10 16:36         ` Cornelia Huck
2019-04-10 17:48         ` Halil Pasic
2019-04-11  9:24           ` Cornelia Huck
2019-04-11  9:24             ` Cornelia Huck
2019-04-11 10:10             ` Halil Pasic
2019-04-04 23:16 ` [RFC PATCH 11/12] virtio/s390: use the cio DMA pool Halil Pasic
2019-04-04 23:16 ` [RFC PATCH 12/12] virtio/s390: make airq summary indicators DMA Halil Pasic
2019-04-10  9:20 ` [RFC PATCH 00/12] s390: virtio: support protected virtualization Cornelia Huck
2019-04-10  9:20   ` Cornelia Huck
2019-04-10 15:57   ` Halil Pasic
2019-04-10 16:24     ` Cornelia Huck
2019-04-10 16:24       ` Cornelia Huck
2019-04-12 13:47 ` David Hildenbrand
2019-04-12 13:47   ` David Hildenbrand
2019-04-16 11:10   ` Halil Pasic
2019-04-16 11:50     ` David Hildenbrand
2019-04-16 11:50       ` David Hildenbrand

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20190410150225.61b86cd9@oc2783563651 \
    --to=pasic@linux.ibm.com \
    --cc=alifm@linux.ibm.com \
    --cc=borntraeger@de.ibm.com \
    --cc=cohuck@redhat.com \
    --cc=farman@linux.ibm.com \
    --cc=frankja@linux.ibm.com \
    --cc=gor@linux.ibm.com \
    --cc=imbrenda@linux.ibm.com \
    --cc=kvm@vger.kernel.org \
    --cc=linux-s390@vger.kernel.org \
    --cc=mihajlov@linux.ibm.com \
    --cc=schwidefsky@de.ibm.com \
    --cc=sebott@linux.ibm.com \
    --cc=virtualization@lists.linux-foundation.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.