Re: [PATCH v3 4/8] s390/airq: use DMA memory for adapter interrupts

Halil Pasic
2019-06-04T13:23:08Z

On Mon, 3 Jun 2019 17:27:40 +0200
Cornelia Huck <cohuck@redhat.com> wrote:

> On Wed, 29 May 2019 14:26:53 +0200
> Michael Mueller <mimu@linux.ibm.com> wrote:
>
> > From: Halil Pasic <pasic@linux.ibm.com>
> >
> > Protected virtualization guests have to use shared pages for airq
> > notifier bit vectors, because hypervisor needs to write these bits.
> >
> > Let us make sure we allocate DMA memory for the notifier bit vectors by
> > replacing the kmem_cache with a dma_cache and kalloc() with
> > cio_dma_zalloc().
> >
> > Signed-off-by: Halil Pasic <pasic@linux.ibm.com>
> > Reviewed-by: Sebastian Ott <sebott@linux.ibm.com>
> > Signed-off-by: Michael Mueller <mimu@linux.ibm.com>
> > ---
> > arch/s390/include/asm/airq.h | 2 ++
> > drivers/s390/cio/airq.c | 32 ++++++++++++++++++++------------
> > drivers/s390/cio/cio.h | 2 ++
> > drivers/s390/cio/css.c | 1 +
> > 4 files changed, 25 insertions(+), 12 deletions(-)
>
> Apologies if that already has been answered (and I missed it in my mail
> pile...), but two things had come to my mind previously:
>
> - CHSC... does anything need to be done there? Last time I asked:
> "Anyway, css_bus_init() uses some chscs
> early (before cio_dma_pool_init), so we could not use the pools
> there, even if we wanted to. Do chsc commands either work, or else
> fail benignly on a protected virt guest?"

Protected virt won't support all CHSC. The supported ones won't requre
use of shared memory. So we are fine.

> - PCI indicators... does this interact with any dma configuration on
> the pci device? (I know pci is not supported yet, and I don't really
> expect any problems.)
>

It does but, I'm pretty confident we don't have a problem with PCI. IMHO
Sebastian is the guy who needs to be paranoid about this, and he r-b-ed
the respective patches.

Regards,
Halil