From: Juan Quintela <quintela@redhat.com>
To: Gavin Shan <gshan@redhat.com>
Cc: qemu-arm@nongnu.org, qemu-devel@nongnu.org,
pbonzini@redhat.com, peter.maydell@linaro.org,
peterx@redhat.com, david@redhat.com, philmd@linaro.org,
mst@redhat.com, cohuck@redhat.com, dgilbert@redhat.com,
maz@kernel.org, zhenyzha@redhat.com, shan.gavin@gmail.com
Subject: Re: [PATCH RFCv1 4/8] kvm: Introduce secondary dirty bitmap
Date: Wed, 08 Feb 2023 23:07:42 +0100 [thread overview]
Message-ID: <87k00r95g1.fsf@secure.mitica> (raw)
In-Reply-To: <20230206112010.99871-5-gshan@redhat.com> (Gavin Shan's message of "Mon, 6 Feb 2023 19:20:06 +0800")
Gavin Shan <gshan@redhat.com> wrote:
> When dirty ring is enabled on ARM64, the backup bitmap may be used
> to track the dirty pages in no-running-vcpu situations. The original
> bitmap is the primary one, used for the dirty ring buffer. We need
> the secondary bitmap to collect the backup bitmap for ARM64.
>
> No functional change intended.
>
> Signed-off-by: Gavin Shan <gshan@redhat.com>
> ---
> accel/kvm/kvm-all.c | 50 ++++++++++++++++++++++++++++++----------
> include/sysemu/kvm_int.h | 1 +
> 2 files changed, 39 insertions(+), 12 deletions(-)
>
> diff --git a/accel/kvm/kvm-all.c b/accel/kvm/kvm-all.c
> index 01a6a026af..1a93985574 100644
> --- a/accel/kvm/kvm-all.c
> +++ b/accel/kvm/kvm-all.c
> @@ -553,13 +553,29 @@ static void kvm_log_stop(MemoryListener *listener,
> }
> }
>
> +static unsigned long *kvm_slot_dirty_bitmap(KVMSlot *slot, bool primary)
> +{
> + if (primary) {
> + return slot->dirty_bmap;
> + }
> +
> + return slot->dirty_bmap +
> + slot->dirty_bmap_size / sizeof(slot->dirty_bmap[0]);
> +}
Why?
Just use two bitmaps and call it a day.
Later, Juan.
next prev parent reply other threads:[~2023-02-08 22:08 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-02-06 11:20 [PATCH RFCv1 0/8] hw/arm/virt: Support dirty ring Gavin Shan
2023-02-06 11:20 ` [PATCH RFCv1 1/8] linux-headers: Update for " Gavin Shan
2023-02-06 11:20 ` [PATCH RFCv1 2/8] memory: Add last stage indicator to global dirty log synchronization Gavin Shan
2023-02-09 19:48 ` Peter Xu
2023-02-10 4:57 ` Gavin Shan
2023-02-06 11:20 ` [PATCH RFCv1 3/8] migration: " Gavin Shan
2023-02-06 11:20 ` [PATCH RFCv1 4/8] kvm: Introduce secondary dirty bitmap Gavin Shan
2023-02-08 22:07 ` Juan Quintela [this message]
2023-02-09 9:42 ` Gavin Shan
2023-02-06 11:20 ` [PATCH RFCv1 5/8] kvm: Synchronize secondary bitmap in last stage Gavin Shan
2023-02-06 11:20 ` [PATCH RFCv1 6/8] kvm: Add helper kvm_dirty_ring_init() Gavin Shan
2023-02-08 22:11 ` Juan Quintela
2023-02-09 9:43 ` Gavin Shan
2023-02-06 11:20 ` [PATCH RFCv1 7/8] hw/arm/virt: Enable backup bitmap for dirty ring Gavin Shan
2023-02-08 22:14 ` Juan Quintela
2023-02-06 11:20 ` [PATCH RFCv1 8/8] kvm: Enable dirty ring for arm64 Gavin Shan
2023-02-08 22:15 ` Juan Quintela
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87k00r95g1.fsf@secure.mitica \
--to=quintela@redhat.com \
--cc=cohuck@redhat.com \
--cc=david@redhat.com \
--cc=dgilbert@redhat.com \
--cc=gshan@redhat.com \
--cc=maz@kernel.org \
--cc=mst@redhat.com \
--cc=pbonzini@redhat.com \
--cc=peter.maydell@linaro.org \
--cc=peterx@redhat.com \
--cc=philmd@linaro.org \
--cc=qemu-arm@nongnu.org \
--cc=qemu-devel@nongnu.org \
--cc=shan.gavin@gmail.com \
--cc=zhenyzha@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.