[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