|
From: | Yoshiaki Tamura |
Subject: | [Qemu-devel] Re: [PATCH v4 0/4] Introduce bit-based phys_ram_dirty, and bit-based dirty page checker. |
Date: | Mon, 26 Apr 2010 19:43:46 +0900 |
User-agent: | Mozilla/5.0 (Windows; U; Windows NT 5.1; ja; rv:1.9.1.9) Gecko/20100317 Thunderbird/3.0.4 |
Hi, Here are some numbers on bit-based phys_ram_dirty. Test Environment: CPU: 4x Intel Xeon Quad Core 2.66GHz Mem size: 96GB Host OS: CentOS (kernel 2.6.33) Guest OS: Debian/GNU Linux lenny (kernel 2.6.26) Guest Mem size: 512MB Conditions of experiments are as follows: Cond1: Guest OS periodically makes the 256MB continuous dirty pages. Cond2: Guest OS periodically makes the 256MB dirty pages and non-dirty pages in turn. Cond3: Guest OS read 1GB file, which is bigger than memory. Cond4: Guest OS write 1GB file, which is bigger than memory. Experimental results: Cond1: 5 ~ 83 times speed up Cond2: 5 ~ 52 times speed up Cond3: 5 ~ 132 times speed up Cond4: 5 ~ 57 times speed up The speed up grows when the number of rows, whose contents are 0, gets larger. Thanks, Yoshi Avi Kivity wrote:
On 04/20/2010 06:40 AM, Yoshiaki Tamura wrote:The dirty and non-dirty pages are checked one by one. When most of the memory is not dirty, checking the dirty and non-dirty pages by multiple page size should be much faster than checking them one by one. We introduced bit-based phys_ram_dirty for VGA, CODE, MIGRATION, MASTER, and cpu_physical_memory_get_dirty_range() for this purpose.Looks good.
[Prev in Thread] | Current Thread | [Next in Thread] |