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
next prev parent reply other threads:[~2019-04-10 13:02 UTC|newest]
Thread overview: 60+ 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 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 11:29 ` Halil Pasic
2019-04-09 13:01 ` Cornelia Huck
2019-04-09 13:23 ` Halil Pasic
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:54 ` Halil Pasic
2019-04-09 17:18 ` Cornelia Huck
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 12:11 ` Halil Pasic
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:52 ` Halil Pasic
2019-04-11 18:25 ` Sebastian Ott
2019-04-12 11:20 ` Halil Pasic
2019-04-12 12:12 ` Sebastian Ott
2019-04-12 15:30 ` Halil Pasic
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-10 0:10 ` Halil Pasic
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-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 14:42 ` Halil Pasic
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 15:12 ` Halil Pasic
2019-04-10 16:36 ` Cornelia Huck
2019-04-10 17:48 ` Halil Pasic
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 15:57 ` Halil Pasic
2019-04-10 16:24 ` Cornelia Huck
2019-04-12 13:47 ` David Hildenbrand
2019-04-16 11:10 ` Halil Pasic
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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox