From: Juan Quintela <quintela@redhat.com>
To: arei.gonglei@huawei.com
Cc: ChenLiang <chenliang88@huawei.com>,
weidong.huang@huawei.com, qemu-devel@nongnu.org,
owasserm@redhat.com, pbonzini@redhat.com
Subject: Re: [Qemu-devel] [PATCH 03/10] XBZRLE: optimize XBZRLE to decrease the cache missing
Date: Tue, 11 Mar 2014 21:34:09 +0100 [thread overview]
Message-ID: <87ob1c3266.fsf@elfo.mitica> (raw)
In-Reply-To: <1394542415-5152-4-git-send-email-arei.gonglei@huawei.com> (arei gonglei's message of "Tue, 11 Mar 2014 20:53:28 +0800")
<arei.gonglei@huawei.com> wrote:
> From: ChenLiang <chenliang88@huawei.com>
>
> Avoid the hot pages being replaced by others to remarkable decrease cache
> missing. The counter of updating dirty bitmap is used to indicate the cached
> page age.
>
> Signed-off-by: ChenLiang <chenliang88@huawei.com>
> Signed-off-by: Gonglei <arei.gonglei@huawei.com>
> /**
> * get_cached_data: Get the data cached for an addr
> @@ -60,13 +62,15 @@ uint8_t *get_cached_data(const PageCache *cache, uint64_t addr);
> * cache_insert: insert the page into the cache. the page cache
> * will dup the data on insert. the previous value will be overwritten
> *
> - * Returns -1 on error
> + * Returns -1 when the page isn't be inserted into cache
s/be//?
> *
> * @cache pointer to the PageCache struct
> * @addr: page address
> * @pdata: pointer to the page
> + * @current_age indicate the age of the page if the page is inserted into cache
missing colon.
* @current_age: current bitmap generation
> @@ -161,6 +171,11 @@ int cache_insert(PageCache *cache, uint64_t addr, const uint8_t *pdata)
> /* actual update of entry */
> it = cache_get_by_addr(cache, addr);
>
> + if ((it->it_data != NULL) && (it->it_age +
> + CACHED_PAGE_LIFETIME > current_age)) {
> + /* the cache page is fresh, don't replace it */
Should we add a counter for this "misses"? It is a question to know how
much it happens.
BTW, do you have any benchmark/numbers showing that this is a good idea?
Thanks, Juan.
next prev parent reply other threads:[~2014-03-11 20:34 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-03-11 12:53 [Qemu-devel] [PATCH 00/10] migration: Optimization the xbzrle and fix two corruption issues arei.gonglei
2014-03-11 12:53 ` [Qemu-devel] [PATCH 01/10] XBZRLE: Fix one XBZRLE " arei.gonglei
2014-03-11 20:26 ` Juan Quintela
2014-03-11 12:53 ` [Qemu-devel] [PATCH 02/10] migration: Add counters of updating the dirty bitmap arei.gonglei
2014-03-11 13:09 ` Eric Blake
2014-03-11 13:34 ` Gonglei (Arei)
2014-03-11 20:28 ` Juan Quintela
2014-03-11 12:53 ` [Qemu-devel] [PATCH 03/10] XBZRLE: optimize XBZRLE to decrease the cache missing arei.gonglei
2014-03-11 20:34 ` Juan Quintela [this message]
2014-03-18 12:20 ` Gonglei (Arei)
2014-03-11 20:52 ` Eric Blake
2014-03-11 12:53 ` [Qemu-devel] [PATCH 04/10] XBZRLE: rebuild the cache_is_cached function arei.gonglei
2014-03-11 13:11 ` Eric Blake
2014-03-11 20:37 ` Juan Quintela
2014-03-11 12:53 ` [Qemu-devel] [PATCH 05/10] migration: Fix the migrate auto converge process arei.gonglei
2014-03-11 20:48 ` Juan Quintela
2014-03-11 20:55 ` Eric Blake
2014-03-11 22:56 ` Chegu Vinod
2014-03-18 12:23 ` Gonglei (Arei)
2014-03-11 12:53 ` [Qemu-devel] [PATCH 06/10] migraion: optimiztion xbzrle by reducing data copy arei.gonglei
2014-03-11 20:56 ` Juan Quintela
2014-03-11 20:56 ` Juan Quintela
2014-03-11 20:58 ` Eric Blake
2014-03-11 12:53 ` [Qemu-devel] [PATCH 07/10] migraion: clear the death code arei.gonglei
2014-03-11 20:58 ` Juan Quintela
2014-03-11 20:59 ` Eric Blake
2014-03-11 12:53 ` [Qemu-devel] [PATCH 08/10] migration: s/uint64_t/int64_t the definitions of it_age arei.gonglei
2014-03-11 21:02 ` Eric Blake
2014-03-11 21:08 ` Juan Quintela
2014-03-11 12:53 ` [Qemu-devel] [PATCH 09/10] migration: expose the bitmap_sync_cnt to the end user arei.gonglei
2014-03-11 13:22 ` Eric Blake
2014-03-11 21:10 ` Juan Quintela
2014-03-11 12:53 ` [Qemu-devel] [PATCH 10/10] XBZRLE: update the doc of XBZRLE arei.gonglei
2014-03-11 21:09 ` 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=87ob1c3266.fsf@elfo.mitica \
--to=quintela@redhat.com \
--cc=arei.gonglei@huawei.com \
--cc=chenliang88@huawei.com \
--cc=owasserm@redhat.com \
--cc=pbonzini@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=weidong.huang@huawei.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.