• ChenLiang's avatar
    xbzrle: optimize XBZRLE to decrease the cache misses · 27af7d6e
    ChenLiang authored
    
    
    Avoid hot pages being replaced by others to remarkably decrease cache
    misses
    
    Sample results with the test program which quote from xbzrle.txt ran in
    vm:(migrate bandwidth:1GE and xbzrle cache size 8MB)
    
    the test program:
    
    include <stdlib.h>
    include <stdio.h>
    int main()
     {
            char *buf = (char *) calloc(4096, 4096);
            while (1) {
                int i;
                for (i = 0; i < 4096 * 4; i++) {
                    buf[i * 4096 / 4]++;
                }
                printf(".");
            }
     }
    
    before this patch:
    virsh qemu-monitor-command test_vm '{"execute": "query-migrate"}'
    {"return":{"expected-downtime":1020,"xbzrle-cache":{"bytes":1108284,
    "cache-size":8388608,"cache-miss-rate":0.987013,"pages":18297,"overflow":8,
    "cache-miss":1228737},"status":"active","setup-time":10,"total-time":52398,
    "ram":{"total":12466991104,"remaining":1695744,"mbps":935.559472,
    "transferred":5780760580,"dirty-sync-counter":271,"duplicate":2878530,
    "dirty-pages-rate":29130,"skipped":0,"normal-bytes":5748592640,
    "normal":1403465}},"id":"libvirt-706"}
    
    18k pages sent compressed in 52 seconds.
    cache-miss-rate is 98.7%, totally miss.
    
    after optimizing:
    virsh qemu-monitor-command test_vm '{"execute": "query-migrate"}'
    {"return":{"expected-downtime":2054,"xbzrle-cache":{"bytes":5066763,
    "cache-size":8388608,"cache-miss-rate":0.485924,"pages":194823,"overflow":0,
    "cache-miss":210653},"status":"active","setup-time":11,"total-time":18729,
    "ram":{"total":12466991104,"remaining":3895296,"mbps":937.663549,
    "transferred":1615042219,"dirty-sync-counter":98,"duplicate":2869840,
    "dirty-pages-rate":58781,"skipped":0,"normal-bytes":1588404224,
    "normal":387794}},"id":"libvirt-266"}
    
    194k pages sent compressed in 18 seconds.
    The value of cache-miss-rate decrease to 48.59%.
    
    Signed-off-by: default avatarChenLiang <chenliang88@huawei.com>
    Signed-off-by: default avatarGonglei <arei.gonglei@huawei.com>
    Reviewed-by: default avatarEric Blake <eblake@redhat.com>
    Signed-off-by: default avatarAmit Shah <amit.shah@redhat.com>
    27af7d6e