RHEL Engineering is moving the tracking of its product development work on RHEL 6 through RHEL 9 to Red Hat Jira (issues.redhat.com). If you're a Red Hat customer, please continue to file support cases via the Red Hat customer portal. If you're not, please head to the "RHEL project" in Red Hat Jira and file new tickets here. Individual Bugzilla bugs in the statuses "NEW", "ASSIGNED", and "POST" are being migrated throughout September 2023. Bugs of Red Hat partners with an assigned Engineering Partner Manager (EPM) are migrated in late September as per pre-agreed dates. Bugs against components "kernel", "kernel-rt", and "kpatch" are only migrated if still in "NEW" or "ASSIGNED". If you cannot log in to RH Jira, please consult article #7032570. That failing, please send an e-mail to the RH Jira admins at rh-issues@redhat.com to troubleshoot your issue as a user management inquiry. The email creates a ServiceNow ticket with Red Hat. Individual Bugzilla bugs that are migrated will be moved to status "CLOSED", resolution "MIGRATED", and set with "MigratedToJIRA" in "Keywords". The link to the successor Jira issue will be found under "Links", have a little "two-footprint" icon next to it, and direct you to the "RHEL project" in Red Hat Jira (issue links are of type "https://issues.redhat.com/browse/RHEL-XXXX", where "X" is a digit). This same link will be available in a blue banner at the top of the page informing you that that bug has been migrated.
Bug 916968 - migration with page compression (xbzrle) on sometimes can not finish (remaining ram: 4 kbytes)
Summary: migration with page compression (xbzrle) on sometimes can not finish (remaini...
Keywords:
Status: CLOSED DUPLICATE of bug 893350
Alias: None
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: qemu-kvm
Version: 7.0
Hardware: Unspecified
OS: Unspecified
medium
medium
Target Milestone: rc
: ---
Assignee: Virtualization Maintenance
QA Contact: Virtualization Bugs
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2013-03-01 10:25 UTC by Shaolong Hu
Modified: 2013-03-01 10:32 UTC (History)
7 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2013-03-01 10:32:01 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)

Description Shaolong Hu 2013-03-01 10:25:24 UTC
Description of problem:
--------------------------
Migration with page compression (xbzrle) on sometimes can not finish (remaining ram: 4 kbytes).


Version-Release number of selected component (if applicable):
--------------------------------------------------------------
qemu-kvm-1.3.0-5.el7


How reproducible:
------------------
1/1

Steps to Reproduce:
---------------------
1.on both src host and des host
(qemu) migrate_set_cache_size 1G
(qemu) migrate_set_capability xbzrle on

2.in guest, add stress with code:

#include <stdlib.h>
#include <stdio.h>
#include <signal.h>
int main()
{
     void wakeup();
     signal(SIGALRM,wakeup);
     alarm(300);
     char *buf = (char *) calloc(40960, 4096);
     while (1) {
        int i;
        for (i = 0; i < 40960 * 4; i++) {
            buf[i * 4096 / 4]++;
        }
        printf(".");
     }
}
void wakeup()
{
    exit(0);
}

3.after step 2, start migration immediately and set speed limit to 10M:
(qemu) migrate -d tcp:0:5555
(qemu) migrate_set_speed 10M

4.migration never ends, get stuck at "remaining ram: 4 kbytes":

(qemu) info migrate
capabilities: xbzrle: on 
Migration status: active
total time: 341779 milliseconds
expected downtime: 638 milliseconds
transferred ram: 1399902 kbytes
remaining ram: 4 kbytes
total ram: 2105728 kbytes
duplicate: 542060 pages
normal: 214521 pages
normal bytes: 858084 kbytes
dirty pages rate: 102946 pages
cache size: 1073741824 bytes
xbzrle transferred: 541289 kbytes
xbzrle pages: 30596884 pages
xbzrle cache miss: 214497
xbzrle overflow : 24

5.purpose to run the special stress in step 2 and set migration speed to 10M is: to create approximate a quota of dirty page with the code (run 300s then exit), due to dirty page generates quickly enough and migration speed limit, before the code exits, migration won't converge and after codes exits migration converges immediately for there is no more workload, i planed to compare the performance of xbzrle=on/off with this method, however run into this problem, i think with common stress the issue can also be reproduced. 

6.if turn off xbzrle, won't hit the problem.

Comment 1 Shaolong Hu 2013-03-01 10:32:01 UTC

*** This bug has been marked as a duplicate of bug 893350 ***


Note You need to log in before you can comment on or make changes to this bug.