[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v4 4/6] vhost: add regions to temporary list
From: |
Paolo Bonzini |
Subject: |
Re: [Qemu-devel] [PATCH v4 4/6] vhost: add regions to temporary list |
Date: |
Wed, 13 Dec 2017 22:31:10 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.5.0 |
On 13/12/2017 19:08, Dr. David Alan Gilbert (git) wrote:
> + if (dev->tmp_mem->nregions) {
> + /* Since we already have at least one region, lets see if
> + * this extends it; since we're scanning in order, we only
> + * have to look at the last one, and the FlatView that calls
> + * us shouldn't have overlaps.
> + */
> + struct vhost_memory_region *prev_vmr = dev->tmp_mem->regions +
> + (dev->tmp_mem->nregions - 1);
> + uint64_t prev_gpa_start = prev_vmr->guest_phys_addr;
> + uint64_t prev_gpa_end = range_get_last(prev_gpa_start,
> + prev_vmr->memory_size);
> + uint64_t prev_host_start = prev_vmr->userspace_addr;
> + uint64_t prev_host_end = range_get_last(prev_host_start,
> + prev_vmr->memory_size);
> +
> + if (prev_gpa_end + 1 == mrs_gpa &&
> + prev_host_end + 1 == mrs_host &&
> + (!dev->vhost_ops->vhost_backend_can_merge ||
> + dev->vhost_ops->vhost_backend_can_merge(dev,
> + mrs_host, mrs_size,
> + prev_host_start, prev_vmr->memory_size))) {
> + /* The two regions abut */
> + need_add = false;
> + mrs_size = mrs_size + prev_vmr->memory_size;
> + prev_vmr->memory_size = mrs_size;
> + trace_vhost_region_add_tmp_abut(section->mr->name, mrs_size);
> + }
> + }
Interesting, in which cases does this actually trigger?
Paolo
- Re: [Qemu-devel] [PATCH v4 1/6] vhost: Move log_dirty check, (continued)
[Qemu-devel] [PATCH v4 2/6] vhost: Simplify ring verification checks, Dr. David Alan Gilbert (git), 2017/12/13
[Qemu-devel] [PATCH v4 3/6] vhost: Add temporary memory structure, Dr. David Alan Gilbert (git), 2017/12/13
[Qemu-devel] [PATCH v4 4/6] vhost: add regions to temporary list, Dr. David Alan Gilbert (git), 2017/12/13
[Qemu-devel] [PATCH v4 5/6] vhost: compare and flip in new memory region list, Dr. David Alan Gilbert (git), 2017/12/13
[Qemu-devel] [PATCH v4 6/6] vhost: Clean out old vhost_set_memory and friends, Dr. David Alan Gilbert (git), 2017/12/13