virtualization.lists.linux-foundation.org archive mirror
 help / color / mirror / Atom feed
  • [parent not found: <20190404231622.52531-3-pasic@linux.ibm.com>]
  • [parent not found: <20190404231622.52531-4-pasic@linux.ibm.com>]
  • [parent not found: <20190404231622.52531-6-pasic@linux.ibm.com>]
  • [parent not found: <20190404231622.52531-8-pasic@linux.ibm.com>]
  • [parent not found: <20190404231622.52531-11-pasic@linux.ibm.com>]
  • * Re: [RFC PATCH 00/12] s390: virtio: support protected virtualization
           [not found] <20190404231622.52531-1-pasic@linux.ibm.com>
                       ` (5 preceding siblings ...)
           [not found] ` <20190404231622.52531-11-pasic@linux.ibm.com>
    @ 2019-04-10  9:20 ` Cornelia Huck
           [not found]   ` <20190410175750.0ed0a454@oc2783563651>
           [not found] ` <20190404231622.52531-5-pasic@linux.ibm.com>
      2019-04-12 13:47 ` [RFC PATCH 00/12] s390: virtio: support protected virtualization David Hildenbrand
      8 siblings, 1 reply; 27+ messages in thread
    From: Cornelia Huck @ 2019-04-10  9:20 UTC (permalink / raw)
      To: Halil Pasic
      Cc: Vasily Gorbik, linux-s390, Eric Farman, Claudio Imbrenda, kvm,
    	Sebastian Ott, Farhan Ali, virtualization, Martin Schwidefsky,
    	Viktor Mihajlovski, Janosch Frank
    
    On Fri,  5 Apr 2019 01:16:10 +0200
    Halil Pasic <pasic@linux.ibm.com> wrote:
    
    > Enhanced virtualization protection technology may require the use of
    > bounce buffers for I/O. While support for this was built into the virtio
    > core,  virtio-ccw wasn't changed accordingly.
    > 
    > Thus what needs to be done to bring virtio-ccw up to speed with respect
    > to this is:
    > * use some 'new' common virtio stuff
    > * 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)
    > * make sure the DMA API does what is necessary to talk through shared
    >   memory if we are a protected virtualization guest.
    > * make sure the common IO layer plays along as well (airqs, sense).
    
    It would be good to have a summary somewhere in the code (or
    Documentation/) as to what needs the dma treatment and what doesn't,
    for later reference. We don't want people to accidentally break things
    (especially if they cannot refer to architecture documentation - or
    will at least some of that be published?)
    
    > 
    > The series is structured in incremental fashion: some of the changes are
    > overridden by following patches. The main reason why is that this is how I
    > developed. But I think it ain't bad for the didactic and we are a bit more
    > flexible with regards to throwing out some of the stuff in the end.
    
    FWIW, I think reshuffling the patches in the next iteration would ease
    review.
    
    > 
    > Important notes:
    > 
    > * This is an early (WIP) RFC that does not add any function to the
    >   kernel at his stage, as the ultravisor interactions are left out.
    >   The purpose is getting some early feedback ASAP.
    
    I would like some comments from people who have experience with the dma
    api.
    
    > 
    > * In future these patches will depend on some code interacting with the
    >   ultravisor (WIP by Vasily and Janosch).
    > 
    > * The s390 names are by no means final, and are not properly explained. Should
    >   not hamper understanding too much. If it does please ask.
    > 
    > * The existing naming in the common infrastructure (kernel internal
    >   interfaces) is pretty much based on the AMD SEV terminology. Thus the
    >   names aren't always perfect. There might be merit to changing these
    >   names to more abstract ones. I did not put much thought into that at
    >   the current stage.
    
    If we can find some generic names that work well for everyone,
    converting seems like a good idea. But following SEV is not that bad,
    either (you'll probably find more people who have heard about SEV than
    folks familiar with s390 ;)
    
    > 
    > 
    > Testing:
    > 
    > Please use iommu_platform=on for any virtio devices you are going
    > to test this code with (so virtio actually uses the DMA API).
    > 
    > Looking forward to your review or any other type of input.
    
    I have now read through the whole series and commented in some places.
    But I'd really like to see comments from others as well.
    
    ^ permalink raw reply	[flat|nested] 27+ messages in thread
  • [parent not found: <20190404231622.52531-5-pasic@linux.ibm.com>]
  • * Re: [RFC PATCH 00/12] s390: virtio: support protected virtualization
           [not found] <20190404231622.52531-1-pasic@linux.ibm.com>
                       ` (7 preceding siblings ...)
           [not found] ` <20190404231622.52531-5-pasic@linux.ibm.com>
    @ 2019-04-12 13:47 ` David Hildenbrand
           [not found]   ` <20190416131005.6f3e05eb@oc2783563651>
      8 siblings, 1 reply; 27+ messages in thread
    From: David Hildenbrand @ 2019-04-12 13:47 UTC (permalink / raw)
      To: Halil Pasic, kvm, linux-s390, Cornelia Huck, Martin Schwidefsky,
    	Sebastian Ott
      Cc: Eric Farman, Viktor Mihajlovski, Janosch Frank, Vasily Gorbik,
    	Farhan Ali, virtualization, Claudio Imbrenda
    
    On 05.04.19 01:16, Halil Pasic wrote:
    > Enhanced virtualization protection technology may require the use of
    > bounce buffers for I/O. While support for this was built into the virtio
    > core,  virtio-ccw wasn't changed accordingly.
    
    Can you elaborate some more about the general approach (Enhanced
    virtualization protection technology, ultravisor, concept, issues, how
    to squeeze it into QEMU/KVM/kernel) etc =
    
    For my taste, this cover letter misses some important context :)
    
    > 
    > Thus what needs to be done to bring virtio-ccw up to speed with respect
    > to this is:
    > * use some 'new' common virtio stuff
    > * 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)
    > * make sure the DMA API does what is necessary to talk through shared
    >   memory if we are a protected virtualization guest.
    > * make sure the common IO layer plays along as well (airqs, sense).
    > 
    > The series is structured in incremental fashion: some of the changes are
    > overridden by following patches. The main reason why is that this is how I
    > developed. But I think it ain't bad for the didactic and we are a bit more
    > flexible with regards to throwing out some of the stuff in the end.
    > 
    > Important notes:
    > 
    > * This is an early (WIP) RFC that does not add any function to the
    >   kernel at his stage, as the ultravisor interactions are left out.
    >   The purpose is getting some early feedback ASAP.
    > 
    > * In future these patches will depend on some code interacting with the
    >   ultravisor (WIP by Vasily and Janosch).
    > 
    > * The s390 names are by no means final, and are not properly explained. Should
    >   not hamper understanding too much. If it does please ask.
    > 
    > * The existing naming in the common infrastructure (kernel internal
    >   interfaces) is pretty much based on the AMD SEV terminology. Thus the
    >   names aren't always perfect. There might be merit to changing these
    >   names to more abstract ones. I did not put much thought into that at
    >   the current stage.
    > 
    > 
    > Testing:
    > 
    > Please use iommu_platform=on for any virtio devices you are going
    > to test this code with (so virtio actually uses the DMA API).
    > 
    > Looking forward to your review or any other type of input.
    > 
    > Halil Pasic (12):
    >   virtio/s390: use vring_create_virtqueue
    >   virtio/s390: DMA support for virtio-ccw
    >   s390/mm: force swiotlb for protected virtualization
    >   s390/cio: introduce cio DMA pool
    >   s390/cio: add protected virtualization support to cio
    >   s390/airq: use DMA memory for adapter interrupts
    >   virtio/s390: use DMA memory for ccw I/O
    >   virtio/s390: add indirection to indicators access
    >   virtio/s390: use DMA memory for notifiers
    >   virtio/s390: consolidate DMA allocations
    >   virtio/s390: use the cio DMA pool
    >   virtio/s390:  make airq summary indicators DMA
    > 
    >  arch/s390/Kconfig                   |   5 +
    >  arch/s390/include/asm/Kbuild        |   1 -
    >  arch/s390/include/asm/airq.h        |   2 +
    >  arch/s390/include/asm/cio.h         |   4 +
    >  arch/s390/include/asm/dma-mapping.h |  13 ++
    >  arch/s390/include/asm/mem_encrypt.h |  18 +++
    >  arch/s390/mm/init.c                 |  44 +++++
    >  drivers/s390/cio/airq.c             |  18 ++-
    >  drivers/s390/cio/ccwreq.c           |   8 +-
    >  drivers/s390/cio/css.c              |  63 ++++++++
    >  drivers/s390/cio/device.c           |  46 ++++--
    >  drivers/s390/cio/device_fsm.c       |  40 ++---
    >  drivers/s390/cio/device_id.c        |  18 +--
    >  drivers/s390/cio/device_ops.c       |   4 +-
    >  drivers/s390/cio/device_pgid.c      |  20 +--
    >  drivers/s390/cio/device_status.c    |  24 +--
    >  drivers/s390/cio/io_sch.h           |  19 ++-
    >  drivers/s390/virtio/virtio_ccw.c    | 310 ++++++++++++++++++++----------------
    >  18 files changed, 444 insertions(+), 213 deletions(-)
    >  create mode 100644 arch/s390/include/asm/dma-mapping.h
    >  create mode 100644 arch/s390/include/asm/mem_encrypt.h
    > 
    
    
    -- 
    
    Thanks,
    
    David / dhildenb
    
    ^ permalink raw reply	[flat|nested] 27+ messages in thread

  • end of thread, other threads:[~2019-04-16 12:50 UTC | newest]
    
    Thread overview: 27+ messages (download: mbox.gz follow: Atom feed
    -- links below jump to the message on this page --
         [not found] <20190404231622.52531-1-pasic@linux.ibm.com>
         [not found] ` <20190404231622.52531-2-pasic@linux.ibm.com>
    2019-04-08 11:01   ` [RFC PATCH 01/12] virtio/s390: use vring_create_virtqueue Cornelia Huck
    2019-04-08 12:37     ` Michael S. Tsirkin
         [not found] ` <20190404231622.52531-3-pasic@linux.ibm.com>
    2019-04-09  9:57   ` [RFC PATCH 02/12] virtio/s390: DMA support for virtio-ccw Cornelia Huck
         [not found]     ` <20190409132927.5df3bc50@oc2783563651>
    2019-04-09 13:01       ` Cornelia Huck
         [not found]         ` <20190409152313.0296e8f1@oc2783563651>
    2019-04-09 15:47           ` Cornelia Huck
         [not found] ` <20190404231622.52531-4-pasic@linux.ibm.com>
    2019-04-09 10:16   ` [RFC PATCH 03/12] s390/mm: force swiotlb for protected virtualization Cornelia Huck
         [not found]     ` <20190409125416.73713f23@oc2783563651>
    2019-04-09 17:18       ` Cornelia Huck
    2019-04-09 12:22   ` Christoph Hellwig
         [not found] ` <20190404231622.52531-6-pasic@linux.ibm.com>
    2019-04-09 17:55   ` [RFC PATCH 05/12] s390/cio: add protected virtualization support to cio Cornelia Huck
         [not found]     ` <20190410021044.4da3e847@oc2783563651>
    2019-04-10  8:25       ` Cornelia Huck
         [not found]         ` <20190410150225.61b86cd9@oc2783563651>
    2019-04-10 16:16           ` Cornelia Huck
    2019-04-11 14:15   ` Sebastian Ott
         [not found] ` <20190404231622.52531-8-pasic@linux.ibm.com>
    2019-04-10  8:42   ` [RFC PATCH 07/12] virtio/s390: use DMA memory for ccw I/O Cornelia Huck
         [not found]     ` <20190410164245.53f8b26d@oc2783563651>
    2019-04-10 16:21       ` Cornelia Huck
         [not found] ` <20190404231622.52531-11-pasic@linux.ibm.com>
    2019-04-10  8:46   ` [RFC PATCH 10/12] virtio/s390: consolidate DMA allocations Cornelia Huck
         [not found]     ` <20190410171254.71206015@oc2783563651>
    2019-04-10 16:36       ` Cornelia Huck
         [not found]         ` <20190410194849.511ecc46@oc2783563651>
    2019-04-11  9:24           ` Cornelia Huck
    2019-04-10  9:20 ` [RFC PATCH 00/12] s390: virtio: support protected virtualization Cornelia Huck
         [not found]   ` <20190410175750.0ed0a454@oc2783563651>
    2019-04-10 16:24     ` Cornelia Huck
         [not found] ` <20190404231622.52531-5-pasic@linux.ibm.com>
    2019-04-09 10:44   ` [RFC PATCH 04/12] s390/cio: introduce cio DMA pool Cornelia Huck
         [not found]     ` <20190409141114.7dcce94a@oc2783563651>
    2019-04-09 17:14       ` Cornelia Huck
         [not found]         ` <20190410173148.067555dc@oc2783563651>
    2019-04-10 16:07           ` Cornelia Huck
    2019-04-11 18:25   ` Sebastian Ott
         [not found]     ` <20190412132010.3c74cb63@oc2783563651>
    2019-04-12 12:12       ` Sebastian Ott
         [not found]         ` <20190412173017.04b768bb@oc2783563651>
    2019-04-16 12:50           ` Sebastian Ott
    2019-04-12 13:47 ` [RFC PATCH 00/12] s390: virtio: support protected virtualization David Hildenbrand
         [not found]   ` <20190416131005.6f3e05eb@oc2783563651>
    2019-04-16 11:50     ` David Hildenbrand
    

    This is a public inbox, see mirroring instructions
    for how to clone and mirror all data and code used for this inbox;
    as well as URLs for NNTP newsgroup(s).