qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH] vhost: Allow abutting regions


From: Dr. David Alan Gilbert
Subject: Re: [Qemu-devel] [PATCH] vhost: Allow abutting regions
Date: Fri, 23 Mar 2018 14:53:38 +0000
User-agent: Mutt/1.9.2 (2017-12-15)

* Michael S. Tsirkin (address@hidden) wrote:
> On Fri, Mar 23, 2018 at 12:46:37PM +0000, Dr. David Alan Gilbert (git) wrote:
> > From: "Dr. David Alan Gilbert" <address@hidden>
> > 
> > My rework of section adding combines overlapping or abutting regions,
> > but checks they're actually the same underlying RAM block.
> > Fix the case where two blocks abut but don't overlap; that new region
> > should get added (but not combined), but my previous patch was disallowing 
> > it.
> > 
> > Fixes: c1ece84e7c9
> > 
> > Reported-by: Alex Williamson <address@hidden>
> > Signed-off-by: Dr. David Alan Gilbert <address@hidden>
> 
> Can we replace abutting with adjacent pls?

Sure; do you want to fix that in commit?

Dave

> > ---
> >  hw/virtio/vhost.c | 13 +++++++++----
> >  1 file changed, 9 insertions(+), 4 deletions(-)
> > 
> > diff --git a/hw/virtio/vhost.c b/hw/virtio/vhost.c
> > index 250f886acb..fc9062a89f 100644
> > --- a/hw/virtio/vhost.c
> > +++ b/hw/virtio/vhost.c
> > @@ -595,10 +595,15 @@ static void vhost_region_add_section(struct vhost_dev 
> > *dev,
> >                                          
> > prev_sec->offset_within_address_space,
> >                                          prev_sec->offset_within_region);
> >              } else {
> > -                error_report("%s: Overlapping but not coherent sections "
> > -                             "at %"PRIx64,
> > -                             __func__, mrs_gpa);
> > -                return;
> > +                /* abutting regions are fine, but overlapping ones with
> > +                 * different blocks/offsets shouldn't happen
> > +                 */
> > +                if (mrs_gpa != prev_gpa_end + 1) {
> > +                    error_report("%s: Overlapping but not coherent 
> > sections "
> > +                                 "at %"PRIx64,
> > +                                 __func__, mrs_gpa);
> > +                    return;
> > +                }
> >              }
> >          }
> >      }
> > -- 
> > 2.14.3
--
Dr. David Alan Gilbert / address@hidden / Manchester, UK



reply via email to

[Prev in Thread] Current Thread [Next in Thread]