[01/10] virtio/s390: use vring_create_virtqueue
diff mbox series

Message ID 20190426183245.37939-2-pasic@linux.ibm.com
State New
Headers show
Series
  • s390: virtio: support protected virtualization
Related show

Commit Message

Halil Pasic April 26, 2019, 6:32 p.m. UTC
The commit 2a2d1382fe9d ("virtio: Add improved queue allocation API")
establishes a new way of allocating virtqueues (as a part of the effort
that taught DMA to virtio rings).

In the future we will want virtio-ccw to use the DMA API as well.

Let us switch from the legacy method of allocating virtqueues to
vring_create_virtqueue() as the first step into that direction.

Signed-off-by: Halil Pasic <pasic@linux.ibm.com>
---
 drivers/s390/virtio/virtio_ccw.c | 30 +++++++++++-------------------
 1 file changed, 11 insertions(+), 19 deletions(-)

Comments

Cornelia Huck May 3, 2019, 9:17 a.m. UTC | #1
On Fri, 26 Apr 2019 20:32:36 +0200
Halil Pasic <pasic@linux.ibm.com> wrote:

> The commit 2a2d1382fe9d ("virtio: Add improved queue allocation API")
> establishes a new way of allocating virtqueues (as a part of the effort
> that taught DMA to virtio rings).
> 
> In the future we will want virtio-ccw to use the DMA API as well.
> 
> Let us switch from the legacy method of allocating virtqueues to
> vring_create_virtqueue() as the first step into that direction.
> 
> Signed-off-by: Halil Pasic <pasic@linux.ibm.com>
> ---
>  drivers/s390/virtio/virtio_ccw.c | 30 +++++++++++-------------------
>  1 file changed, 11 insertions(+), 19 deletions(-)

Reviewed-by: Cornelia Huck <cohuck@redhat.com>

I'd vote for merging this patch right away for 5.2.
Michael S. Tsirkin May 3, 2019, 8:04 p.m. UTC | #2
On Fri, May 03, 2019 at 11:17:24AM +0200, Cornelia Huck wrote:
> On Fri, 26 Apr 2019 20:32:36 +0200
> Halil Pasic <pasic@linux.ibm.com> wrote:
> 
> > The commit 2a2d1382fe9d ("virtio: Add improved queue allocation API")
> > establishes a new way of allocating virtqueues (as a part of the effort
> > that taught DMA to virtio rings).
> > 
> > In the future we will want virtio-ccw to use the DMA API as well.
> > 
> > Let us switch from the legacy method of allocating virtqueues to
> > vring_create_virtqueue() as the first step into that direction.
> > 
> > Signed-off-by: Halil Pasic <pasic@linux.ibm.com>
> > ---
> >  drivers/s390/virtio/virtio_ccw.c | 30 +++++++++++-------------------
> >  1 file changed, 11 insertions(+), 19 deletions(-)
> 
> Reviewed-by: Cornelia Huck <cohuck@redhat.com>
> 
> I'd vote for merging this patch right away for 5.2.

So which tree is this going through? mine?
Halil Pasic May 4, 2019, 2:03 p.m. UTC | #3
On Fri, 3 May 2019 16:04:48 -0400
"Michael S. Tsirkin" <mst@redhat.com> wrote:

> On Fri, May 03, 2019 at 11:17:24AM +0200, Cornelia Huck wrote:
> > On Fri, 26 Apr 2019 20:32:36 +0200
> > Halil Pasic <pasic@linux.ibm.com> wrote:
> > 
> > > The commit 2a2d1382fe9d ("virtio: Add improved queue allocation API")
> > > establishes a new way of allocating virtqueues (as a part of the effort
> > > that taught DMA to virtio rings).
> > > 
> > > In the future we will want virtio-ccw to use the DMA API as well.
> > > 
> > > Let us switch from the legacy method of allocating virtqueues to
> > > vring_create_virtqueue() as the first step into that direction.
> > > 
> > > Signed-off-by: Halil Pasic <pasic@linux.ibm.com>
> > > ---
> > >  drivers/s390/virtio/virtio_ccw.c | 30 +++++++++++-------------------
> > >  1 file changed, 11 insertions(+), 19 deletions(-)
> > 
> > Reviewed-by: Cornelia Huck <cohuck@redhat.com>
> > 
> > I'd vote for merging this patch right away for 5.2.
> 
> So which tree is this going through? mine?
> 

Christian, what do you think? If the whole series is supposed to go in
in one go (which I hope it is), via Martin's tree could be the simplest
route IMHO.

Regards,
Halil
Cornelia Huck May 5, 2019, 11:15 a.m. UTC | #4
On Sat, 4 May 2019 16:03:40 +0200
Halil Pasic <pasic@linux.ibm.com> wrote:

> On Fri, 3 May 2019 16:04:48 -0400
> "Michael S. Tsirkin" <mst@redhat.com> wrote:
> 
> > On Fri, May 03, 2019 at 11:17:24AM +0200, Cornelia Huck wrote:  
> > > On Fri, 26 Apr 2019 20:32:36 +0200
> > > Halil Pasic <pasic@linux.ibm.com> wrote:
> > >   
> > > > The commit 2a2d1382fe9d ("virtio: Add improved queue allocation API")
> > > > establishes a new way of allocating virtqueues (as a part of the effort
> > > > that taught DMA to virtio rings).
> > > > 
> > > > In the future we will want virtio-ccw to use the DMA API as well.
> > > > 
> > > > Let us switch from the legacy method of allocating virtqueues to
> > > > vring_create_virtqueue() as the first step into that direction.
> > > > 
> > > > Signed-off-by: Halil Pasic <pasic@linux.ibm.com>
> > > > ---
> > > >  drivers/s390/virtio/virtio_ccw.c | 30 +++++++++++-------------------
> > > >  1 file changed, 11 insertions(+), 19 deletions(-)  
> > > 
> > > Reviewed-by: Cornelia Huck <cohuck@redhat.com>
> > > 
> > > I'd vote for merging this patch right away for 5.2.  
> > 
> > So which tree is this going through? mine?
> >   
> 
> Christian, what do you think? If the whole series is supposed to go in
> in one go (which I hope it is), via Martin's tree could be the simplest
> route IMHO.


The first three patches are virtio(-ccw) only and the those are the ones
that I think are ready to go.

I'm not feeling comfortable going forward with the remainder as it
stands now; waiting for some other folks to give feedback. (They are
touching/interacting with code parts I'm not so familiar with, and lack
of documentation, while not the developers' fault, does not make it
easier.)

Michael, would you like to pick up 1-3 for your tree directly? That
looks like the easiest way.
Christian Borntraeger May 7, 2019, 1:58 p.m. UTC | #5
On 05.05.19 13:15, Cornelia Huck wrote:
> On Sat, 4 May 2019 16:03:40 +0200
> Halil Pasic <pasic@linux.ibm.com> wrote:
> 
>> On Fri, 3 May 2019 16:04:48 -0400
>> "Michael S. Tsirkin" <mst@redhat.com> wrote:
>>
>>> On Fri, May 03, 2019 at 11:17:24AM +0200, Cornelia Huck wrote:  
>>>> On Fri, 26 Apr 2019 20:32:36 +0200
>>>> Halil Pasic <pasic@linux.ibm.com> wrote:
>>>>   
>>>>> The commit 2a2d1382fe9d ("virtio: Add improved queue allocation API")
>>>>> establishes a new way of allocating virtqueues (as a part of the effort
>>>>> that taught DMA to virtio rings).
>>>>>
>>>>> In the future we will want virtio-ccw to use the DMA API as well.
>>>>>
>>>>> Let us switch from the legacy method of allocating virtqueues to
>>>>> vring_create_virtqueue() as the first step into that direction.
>>>>>
>>>>> Signed-off-by: Halil Pasic <pasic@linux.ibm.com>
>>>>> ---
>>>>>  drivers/s390/virtio/virtio_ccw.c | 30 +++++++++++-------------------
>>>>>  1 file changed, 11 insertions(+), 19 deletions(-)  
>>>>
>>>> Reviewed-by: Cornelia Huck <cohuck@redhat.com>
>>>>
>>>> I'd vote for merging this patch right away for 5.2.  
>>>
>>> So which tree is this going through? mine?
>>>   
>>
>> Christian, what do you think? If the whole series is supposed to go in
>> in one go (which I hope it is), via Martin's tree could be the simplest
>> route IMHO.
> 
> 
> The first three patches are virtio(-ccw) only and the those are the ones
> that I think are ready to go.
> 
> I'm not feeling comfortable going forward with the remainder as it
> stands now; waiting for some other folks to give feedback. (They are
> touching/interacting with code parts I'm not so familiar with, and lack
> of documentation, while not the developers' fault, does not make it
> easier.)
> 
> Michael, would you like to pick up 1-3 for your tree directly? That
> looks like the easiest way.

Agreed. Michael please pick 1-3.
We will continue to review 4- first and then see which tree is best.
Halil Pasic May 8, 2019, 8:12 p.m. UTC | #6
On Tue, 7 May 2019 15:58:12 +0200
Christian Borntraeger <borntraeger@de.ibm.com> wrote:

> 
> 
> On 05.05.19 13:15, Cornelia Huck wrote:
> > On Sat, 4 May 2019 16:03:40 +0200
> > Halil Pasic <pasic@linux.ibm.com> wrote:
> > 
> >> On Fri, 3 May 2019 16:04:48 -0400
> >> "Michael S. Tsirkin" <mst@redhat.com> wrote:
> >>
> >>> On Fri, May 03, 2019 at 11:17:24AM +0200, Cornelia Huck wrote:  
> >>>> On Fri, 26 Apr 2019 20:32:36 +0200
> >>>> Halil Pasic <pasic@linux.ibm.com> wrote:
> >>>>   
> >>>>> The commit 2a2d1382fe9d ("virtio: Add improved queue allocation API")
> >>>>> establishes a new way of allocating virtqueues (as a part of the effort
> >>>>> that taught DMA to virtio rings).
> >>>>>
> >>>>> In the future we will want virtio-ccw to use the DMA API as well.
> >>>>>
> >>>>> Let us switch from the legacy method of allocating virtqueues to
> >>>>> vring_create_virtqueue() as the first step into that direction.
> >>>>>
> >>>>> Signed-off-by: Halil Pasic <pasic@linux.ibm.com>
> >>>>> ---
> >>>>>  drivers/s390/virtio/virtio_ccw.c | 30 +++++++++++-------------------
> >>>>>  1 file changed, 11 insertions(+), 19 deletions(-)  
> >>>>
> >>>> Reviewed-by: Cornelia Huck <cohuck@redhat.com>
> >>>>
> >>>> I'd vote for merging this patch right away for 5.2.  
> >>>
> >>> So which tree is this going through? mine?
> >>>   
> >>
> >> Christian, what do you think? If the whole series is supposed to go in
> >> in one go (which I hope it is), via Martin's tree could be the simplest
> >> route IMHO.
> > 
> > 
> > The first three patches are virtio(-ccw) only and the those are the ones
> > that I think are ready to go.
> > 
> > I'm not feeling comfortable going forward with the remainder as it
> > stands now; waiting for some other folks to give feedback. (They are
> > touching/interacting with code parts I'm not so familiar with, and lack
> > of documentation, while not the developers' fault, does not make it
> > easier.)
> > 
> > Michael, would you like to pick up 1-3 for your tree directly? That
> > looks like the easiest way.
> 
> Agreed. Michael please pick 1-3.
> We will continue to review 4- first and then see which tree is best.

Thanks Christian!

Guys, I broke my right arm on last Thursday (2nd may). You may
have noticed that I was not as responsive as I'm supposed to be.
Unfortunately this less than responsiveness is about to persist for a
couple more weeks. Fortunate the guys from IBM, and chiefly Michael
Mueller is going to help me drive this -- thanks Michael! Due to this,
I would generally prefer doing as few changes to this series as
necessary, and deferring as many of the beautifying to patches on top
(possibly authored by somebody else) as possible.

Regards,
Halil
Cornelia Huck May 10, 2019, 2:07 p.m. UTC | #7
On Tue, 7 May 2019 15:58:12 +0200
Christian Borntraeger <borntraeger@de.ibm.com> wrote:

> On 05.05.19 13:15, Cornelia Huck wrote:
> > On Sat, 4 May 2019 16:03:40 +0200
> > Halil Pasic <pasic@linux.ibm.com> wrote:
> >   
> >> On Fri, 3 May 2019 16:04:48 -0400
> >> "Michael S. Tsirkin" <mst@redhat.com> wrote:
> >>  
> >>> On Fri, May 03, 2019 at 11:17:24AM +0200, Cornelia Huck wrote:    
> >>>> On Fri, 26 Apr 2019 20:32:36 +0200
> >>>> Halil Pasic <pasic@linux.ibm.com> wrote:
> >>>>     
> >>>>> The commit 2a2d1382fe9d ("virtio: Add improved queue allocation API")
> >>>>> establishes a new way of allocating virtqueues (as a part of the effort
> >>>>> that taught DMA to virtio rings).
> >>>>>
> >>>>> In the future we will want virtio-ccw to use the DMA API as well.
> >>>>>
> >>>>> Let us switch from the legacy method of allocating virtqueues to
> >>>>> vring_create_virtqueue() as the first step into that direction.
> >>>>>
> >>>>> Signed-off-by: Halil Pasic <pasic@linux.ibm.com>
> >>>>> ---
> >>>>>  drivers/s390/virtio/virtio_ccw.c | 30 +++++++++++-------------------
> >>>>>  1 file changed, 11 insertions(+), 19 deletions(-)    
> >>>>
> >>>> Reviewed-by: Cornelia Huck <cohuck@redhat.com>
> >>>>
> >>>> I'd vote for merging this patch right away for 5.2.    
> >>>
> >>> So which tree is this going through? mine?
> >>>     
> >>
> >> Christian, what do you think? If the whole series is supposed to go in
> >> in one go (which I hope it is), via Martin's tree could be the simplest
> >> route IMHO.  
> > 
> > 
> > The first three patches are virtio(-ccw) only and the those are the ones
> > that I think are ready to go.
> > 
> > I'm not feeling comfortable going forward with the remainder as it
> > stands now; waiting for some other folks to give feedback. (They are
> > touching/interacting with code parts I'm not so familiar with, and lack
> > of documentation, while not the developers' fault, does not make it
> > easier.)
> > 
> > Michael, would you like to pick up 1-3 for your tree directly? That
> > looks like the easiest way.  
> 
> Agreed. Michael please pick 1-3.
> We will continue to review 4- first and then see which tree is best.

Michael, please let me know if you'll pick directly or whether I should
post a series.

[Given that the patches are from one virtio-ccw maintainer and reviewed
by the other, picking directly would eliminate an unnecessary
indirection :)]
Michael S. Tsirkin May 12, 2019, 4:47 p.m. UTC | #8
On Fri, May 10, 2019 at 04:07:44PM +0200, Cornelia Huck wrote:
> On Tue, 7 May 2019 15:58:12 +0200
> Christian Borntraeger <borntraeger@de.ibm.com> wrote:
> 
> > On 05.05.19 13:15, Cornelia Huck wrote:
> > > On Sat, 4 May 2019 16:03:40 +0200
> > > Halil Pasic <pasic@linux.ibm.com> wrote:
> > >   
> > >> On Fri, 3 May 2019 16:04:48 -0400
> > >> "Michael S. Tsirkin" <mst@redhat.com> wrote:
> > >>  
> > >>> On Fri, May 03, 2019 at 11:17:24AM +0200, Cornelia Huck wrote:    
> > >>>> On Fri, 26 Apr 2019 20:32:36 +0200
> > >>>> Halil Pasic <pasic@linux.ibm.com> wrote:
> > >>>>     
> > >>>>> The commit 2a2d1382fe9d ("virtio: Add improved queue allocation API")
> > >>>>> establishes a new way of allocating virtqueues (as a part of the effort
> > >>>>> that taught DMA to virtio rings).
> > >>>>>
> > >>>>> In the future we will want virtio-ccw to use the DMA API as well.
> > >>>>>
> > >>>>> Let us switch from the legacy method of allocating virtqueues to
> > >>>>> vring_create_virtqueue() as the first step into that direction.
> > >>>>>
> > >>>>> Signed-off-by: Halil Pasic <pasic@linux.ibm.com>
> > >>>>> ---
> > >>>>>  drivers/s390/virtio/virtio_ccw.c | 30 +++++++++++-------------------
> > >>>>>  1 file changed, 11 insertions(+), 19 deletions(-)    
> > >>>>
> > >>>> Reviewed-by: Cornelia Huck <cohuck@redhat.com>
> > >>>>
> > >>>> I'd vote for merging this patch right away for 5.2.    
> > >>>
> > >>> So which tree is this going through? mine?
> > >>>     
> > >>
> > >> Christian, what do you think? If the whole series is supposed to go in
> > >> in one go (which I hope it is), via Martin's tree could be the simplest
> > >> route IMHO.  
> > > 
> > > 
> > > The first three patches are virtio(-ccw) only and the those are the ones
> > > that I think are ready to go.
> > > 
> > > I'm not feeling comfortable going forward with the remainder as it
> > > stands now; waiting for some other folks to give feedback. (They are
> > > touching/interacting with code parts I'm not so familiar with, and lack
> > > of documentation, while not the developers' fault, does not make it
> > > easier.)
> > > 
> > > Michael, would you like to pick up 1-3 for your tree directly? That
> > > looks like the easiest way.  
> > 
> > Agreed. Michael please pick 1-3.
> > We will continue to review 4- first and then see which tree is best.
> 
> Michael, please let me know if you'll pick directly or whether I should
> post a series.
> 
> [Given that the patches are from one virtio-ccw maintainer and reviewed
> by the other, picking directly would eliminate an unnecessary
> indirection :)]

picked them
Cornelia Huck May 13, 2019, 9:52 a.m. UTC | #9
On Sun, 12 May 2019 12:47:39 -0400
"Michael S. Tsirkin" <mst@redhat.com> wrote:

> On Fri, May 10, 2019 at 04:07:44PM +0200, Cornelia Huck wrote:
> > On Tue, 7 May 2019 15:58:12 +0200
> > Christian Borntraeger <borntraeger@de.ibm.com> wrote:
> >   
> > > On 05.05.19 13:15, Cornelia Huck wrote:  
> > > > On Sat, 4 May 2019 16:03:40 +0200
> > > > Halil Pasic <pasic@linux.ibm.com> wrote:
> > > >     
> > > >> On Fri, 3 May 2019 16:04:48 -0400
> > > >> "Michael S. Tsirkin" <mst@redhat.com> wrote:
> > > >>    
> > > >>> On Fri, May 03, 2019 at 11:17:24AM +0200, Cornelia Huck wrote:      
> > > >>>> On Fri, 26 Apr 2019 20:32:36 +0200
> > > >>>> Halil Pasic <pasic@linux.ibm.com> wrote:
> > > >>>>       
> > > >>>>> The commit 2a2d1382fe9d ("virtio: Add improved queue allocation API")
> > > >>>>> establishes a new way of allocating virtqueues (as a part of the effort
> > > >>>>> that taught DMA to virtio rings).
> > > >>>>>
> > > >>>>> In the future we will want virtio-ccw to use the DMA API as well.
> > > >>>>>
> > > >>>>> Let us switch from the legacy method of allocating virtqueues to
> > > >>>>> vring_create_virtqueue() as the first step into that direction.
> > > >>>>>
> > > >>>>> Signed-off-by: Halil Pasic <pasic@linux.ibm.com>
> > > >>>>> ---
> > > >>>>>  drivers/s390/virtio/virtio_ccw.c | 30 +++++++++++-------------------
> > > >>>>>  1 file changed, 11 insertions(+), 19 deletions(-)      
> > > >>>>
> > > >>>> Reviewed-by: Cornelia Huck <cohuck@redhat.com>
> > > >>>>
> > > >>>> I'd vote for merging this patch right away for 5.2.      
> > > >>>
> > > >>> So which tree is this going through? mine?
> > > >>>       
> > > >>
> > > >> Christian, what do you think? If the whole series is supposed to go in
> > > >> in one go (which I hope it is), via Martin's tree could be the simplest
> > > >> route IMHO.    
> > > > 
> > > > 
> > > > The first three patches are virtio(-ccw) only and the those are the ones
> > > > that I think are ready to go.
> > > > 
> > > > I'm not feeling comfortable going forward with the remainder as it
> > > > stands now; waiting for some other folks to give feedback. (They are
> > > > touching/interacting with code parts I'm not so familiar with, and lack
> > > > of documentation, while not the developers' fault, does not make it
> > > > easier.)
> > > > 
> > > > Michael, would you like to pick up 1-3 for your tree directly? That
> > > > looks like the easiest way.    
> > > 
> > > Agreed. Michael please pick 1-3.
> > > We will continue to review 4- first and then see which tree is best.  
> > 
> > Michael, please let me know if you'll pick directly or whether I should
> > post a series.
> > 
> > [Given that the patches are from one virtio-ccw maintainer and reviewed
> > by the other, picking directly would eliminate an unnecessary
> > indirection :)]  
> 
> picked them

Thanks!
Michael Mueller May 13, 2019, 12:27 p.m. UTC | #10
On 13.05.19 11:52, Cornelia Huck wrote:
> On Sun, 12 May 2019 12:47:39 -0400
> "Michael S. Tsirkin" <mst@redhat.com> wrote:
> 
>> On Fri, May 10, 2019 at 04:07:44PM +0200, Cornelia Huck wrote:
>>> On Tue, 7 May 2019 15:58:12 +0200
>>> Christian Borntraeger <borntraeger@de.ibm.com> wrote:
>>>    
>>>> On 05.05.19 13:15, Cornelia Huck wrote:
>>>>> On Sat, 4 May 2019 16:03:40 +0200
>>>>> Halil Pasic <pasic@linux.ibm.com> wrote:
>>>>>      
>>>>>> On Fri, 3 May 2019 16:04:48 -0400
>>>>>> "Michael S. Tsirkin" <mst@redhat.com> wrote:
>>>>>>     
>>>>>>> On Fri, May 03, 2019 at 11:17:24AM +0200, Cornelia Huck wrote:
>>>>>>>> On Fri, 26 Apr 2019 20:32:36 +0200
>>>>>>>> Halil Pasic <pasic@linux.ibm.com> wrote:
>>>>>>>>        
>>>>>>>>> The commit 2a2d1382fe9d ("virtio: Add improved queue allocation API")
>>>>>>>>> establishes a new way of allocating virtqueues (as a part of the effort
>>>>>>>>> that taught DMA to virtio rings).
>>>>>>>>>
>>>>>>>>> In the future we will want virtio-ccw to use the DMA API as well.
>>>>>>>>>
>>>>>>>>> Let us switch from the legacy method of allocating virtqueues to
>>>>>>>>> vring_create_virtqueue() as the first step into that direction.
>>>>>>>>>
>>>>>>>>> Signed-off-by: Halil Pasic <pasic@linux.ibm.com>
>>>>>>>>> ---
>>>>>>>>>   drivers/s390/virtio/virtio_ccw.c | 30 +++++++++++-------------------
>>>>>>>>>   1 file changed, 11 insertions(+), 19 deletions(-)
>>>>>>>>
>>>>>>>> Reviewed-by: Cornelia Huck <cohuck@redhat.com>
>>>>>>>>
>>>>>>>> I'd vote for merging this patch right away for 5.2.
>>>>>>>
>>>>>>> So which tree is this going through? mine?
>>>>>>>        
>>>>>>
>>>>>> Christian, what do you think? If the whole series is supposed to go in
>>>>>> in one go (which I hope it is), via Martin's tree could be the simplest
>>>>>> route IMHO.
>>>>>
>>>>>
>>>>> The first three patches are virtio(-ccw) only and the those are the ones
>>>>> that I think are ready to go.
>>>>>
>>>>> I'm not feeling comfortable going forward with the remainder as it
>>>>> stands now; waiting for some other folks to give feedback. (They are
>>>>> touching/interacting with code parts I'm not so familiar with, and lack
>>>>> of documentation, while not the developers' fault, does not make it
>>>>> easier.)
>>>>>
>>>>> Michael, would you like to pick up 1-3 for your tree directly? That
>>>>> looks like the easiest way.
>>>>
>>>> Agreed. Michael please pick 1-3.
>>>> We will continue to review 4- first and then see which tree is best.
>>>
>>> Michael, please let me know if you'll pick directly or whether I should
>>> post a series.
>>>
>>> [Given that the patches are from one virtio-ccw maintainer and reviewed
>>> by the other, picking directly would eliminate an unnecessary
>>> indirection :)]
>>
>> picked them
> 
> Thanks!
> 

Connie,

if I get you right here, you don't need a v2 for the
patches 1 through 3?

Thanks,
Michael
Cornelia Huck May 13, 2019, 12:29 p.m. UTC | #11
On Mon, 13 May 2019 14:27:35 +0200
Michael Mueller <mimu@linux.ibm.com> wrote:

> On 13.05.19 11:52, Cornelia Huck wrote:
> > On Sun, 12 May 2019 12:47:39 -0400
> > "Michael S. Tsirkin" <mst@redhat.com> wrote:
> >   
> >> On Fri, May 10, 2019 at 04:07:44PM +0200, Cornelia Huck wrote:  
> >>> On Tue, 7 May 2019 15:58:12 +0200
> >>> Christian Borntraeger <borntraeger@de.ibm.com> wrote:
> >>>      
> >>>> On 05.05.19 13:15, Cornelia Huck wrote:  
> >>>>> On Sat, 4 May 2019 16:03:40 +0200
> >>>>> Halil Pasic <pasic@linux.ibm.com> wrote:
> >>>>>        
> >>>>>> On Fri, 3 May 2019 16:04:48 -0400
> >>>>>> "Michael S. Tsirkin" <mst@redhat.com> wrote:
> >>>>>>       
> >>>>>>> On Fri, May 03, 2019 at 11:17:24AM +0200, Cornelia Huck wrote:  
> >>>>>>>> On Fri, 26 Apr 2019 20:32:36 +0200
> >>>>>>>> Halil Pasic <pasic@linux.ibm.com> wrote:
> >>>>>>>>          
> >>>>>>>>> The commit 2a2d1382fe9d ("virtio: Add improved queue allocation API")
> >>>>>>>>> establishes a new way of allocating virtqueues (as a part of the effort
> >>>>>>>>> that taught DMA to virtio rings).
> >>>>>>>>>
> >>>>>>>>> In the future we will want virtio-ccw to use the DMA API as well.
> >>>>>>>>>
> >>>>>>>>> Let us switch from the legacy method of allocating virtqueues to
> >>>>>>>>> vring_create_virtqueue() as the first step into that direction.
> >>>>>>>>>
> >>>>>>>>> Signed-off-by: Halil Pasic <pasic@linux.ibm.com>
> >>>>>>>>> ---
> >>>>>>>>>   drivers/s390/virtio/virtio_ccw.c | 30 +++++++++++-------------------
> >>>>>>>>>   1 file changed, 11 insertions(+), 19 deletions(-)  
> >>>>>>>>
> >>>>>>>> Reviewed-by: Cornelia Huck <cohuck@redhat.com>
> >>>>>>>>
> >>>>>>>> I'd vote for merging this patch right away for 5.2.  
> >>>>>>>
> >>>>>>> So which tree is this going through? mine?
> >>>>>>>          
> >>>>>>
> >>>>>> Christian, what do you think? If the whole series is supposed to go in
> >>>>>> in one go (which I hope it is), via Martin's tree could be the simplest
> >>>>>> route IMHO.  
> >>>>>
> >>>>>
> >>>>> The first three patches are virtio(-ccw) only and the those are the ones
> >>>>> that I think are ready to go.
> >>>>>
> >>>>> I'm not feeling comfortable going forward with the remainder as it
> >>>>> stands now; waiting for some other folks to give feedback. (They are
> >>>>> touching/interacting with code parts I'm not so familiar with, and lack
> >>>>> of documentation, while not the developers' fault, does not make it
> >>>>> easier.)
> >>>>>
> >>>>> Michael, would you like to pick up 1-3 for your tree directly? That
> >>>>> looks like the easiest way.  
> >>>>
> >>>> Agreed. Michael please pick 1-3.
> >>>> We will continue to review 4- first and then see which tree is best.  
> >>>
> >>> Michael, please let me know if you'll pick directly or whether I should
> >>> post a series.
> >>>
> >>> [Given that the patches are from one virtio-ccw maintainer and reviewed
> >>> by the other, picking directly would eliminate an unnecessary
> >>> indirection :)]  
> >>
> >> picked them  
> > 
> > Thanks!
> >   
> 
> Connie,
> 
> if I get you right here, you don't need a v2 for the
> patches 1 through 3?

Exactly, they are all queued in Michael's tree.

> 
> Thanks,
> Michael
>

Patch
diff mbox series

diff --git a/drivers/s390/virtio/virtio_ccw.c b/drivers/s390/virtio/virtio_ccw.c
index 74c328321889..2c66941ef3d0 100644
--- a/drivers/s390/virtio/virtio_ccw.c
+++ b/drivers/s390/virtio/virtio_ccw.c
@@ -108,7 +108,6 @@  struct virtio_rev_info {
 struct virtio_ccw_vq_info {
 	struct virtqueue *vq;
 	int num;
-	void *queue;
 	union {
 		struct vq_info_block s;
 		struct vq_info_block_legacy l;
@@ -423,7 +422,6 @@  static void virtio_ccw_del_vq(struct virtqueue *vq, struct ccw1 *ccw)
 	struct virtio_ccw_device *vcdev = to_vc_device(vq->vdev);
 	struct virtio_ccw_vq_info *info = vq->priv;
 	unsigned long flags;
-	unsigned long size;
 	int ret;
 	unsigned int index = vq->index;
 
@@ -461,8 +459,6 @@  static void virtio_ccw_del_vq(struct virtqueue *vq, struct ccw1 *ccw)
 			 ret, index);
 
 	vring_del_virtqueue(vq);
-	size = PAGE_ALIGN(vring_size(info->num, KVM_VIRTIO_CCW_RING_ALIGN));
-	free_pages_exact(info->queue, size);
 	kfree(info->info_block);
 	kfree(info);
 }
@@ -494,8 +490,9 @@  static struct virtqueue *virtio_ccw_setup_vq(struct virtio_device *vdev,
 	int err;
 	struct virtqueue *vq = NULL;
 	struct virtio_ccw_vq_info *info;
-	unsigned long size = 0; /* silence the compiler */
+	u64 queue;
 	unsigned long flags;
+	bool may_reduce;
 
 	/* Allocate queue. */
 	info = kzalloc(sizeof(struct virtio_ccw_vq_info), GFP_KERNEL);
@@ -516,33 +513,30 @@  static struct virtqueue *virtio_ccw_setup_vq(struct virtio_device *vdev,
 		err = info->num;
 		goto out_err;
 	}
-	size = PAGE_ALIGN(vring_size(info->num, KVM_VIRTIO_CCW_RING_ALIGN));
-	info->queue = alloc_pages_exact(size, GFP_KERNEL | __GFP_ZERO);
-	if (info->queue == NULL) {
-		dev_warn(&vcdev->cdev->dev, "no queue\n");
-		err = -ENOMEM;
-		goto out_err;
-	}
+	may_reduce = vcdev->revision > 0;
+	vq = vring_create_virtqueue(i, info->num, KVM_VIRTIO_CCW_RING_ALIGN,
+				    vdev, true, may_reduce, ctx,
+				    virtio_ccw_kvm_notify, callback, name);
 
-	vq = vring_new_virtqueue(i, info->num, KVM_VIRTIO_CCW_RING_ALIGN, vdev,
-				 true, ctx, info->queue, virtio_ccw_kvm_notify,
-				 callback, name);
 	if (!vq) {
 		/* For now, we fail if we can't get the requested size. */
 		dev_warn(&vcdev->cdev->dev, "no vq\n");
 		err = -ENOMEM;
 		goto out_err;
 	}
+	/* it may have been reduced */
+	info->num = virtqueue_get_vring_size(vq);
 
 	/* Register it with the host. */
+	queue = virtqueue_get_desc_addr(vq);
 	if (vcdev->revision == 0) {
-		info->info_block->l.queue = (__u64)info->queue;
+		info->info_block->l.queue = queue;
 		info->info_block->l.align = KVM_VIRTIO_CCW_RING_ALIGN;
 		info->info_block->l.index = i;
 		info->info_block->l.num = info->num;
 		ccw->count = sizeof(info->info_block->l);
 	} else {
-		info->info_block->s.desc = (__u64)info->queue;
+		info->info_block->s.desc = queue;
 		info->info_block->s.index = i;
 		info->info_block->s.num = info->num;
 		info->info_block->s.avail = (__u64)virtqueue_get_avail(vq);
@@ -572,8 +566,6 @@  static struct virtqueue *virtio_ccw_setup_vq(struct virtio_device *vdev,
 	if (vq)
 		vring_del_virtqueue(vq);
 	if (info) {
-		if (info->queue)
-			free_pages_exact(info->queue, size);
 		kfree(info->info_block);
 	}
 	kfree(info);