1. 13 Oct, 2016 1 commit
  2. 15 Jan, 2015 1 commit
    • 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: 's avatarChenLiang <chenliang88@huawei.com>
      Signed-off-by: 's avatarGonglei <arei.gonglei@huawei.com>
      Reviewed-by: 's avatarEric Blake <eblake@redhat.com>
      Signed-off-by: 's avatarAmit Shah <amit.shah@redhat.com>
      27af7d6e
  3. 08 Aug, 2012 1 commit