Bug 634100
| Summary: | migrate_cancel under STRESS caused guest to hang | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| Product: | Red Hat Enterprise Linux 6 | Reporter: | Keqin Hong <khong> | ||||||
| Component: | kernel | Assignee: | Marcelo Tosatti <mtosatti> | ||||||
| Status: | CLOSED ERRATA | QA Contact: | Red Hat Kernel QE team <kernel-qe> | ||||||
| Severity: | high | Docs Contact: | |||||||
| Priority: | high | ||||||||
| Version: | 6.1 | CC: | alex.williamson, arozansk, bcao, gcosta, gleb, knoel, lihuang, michen, mkenneth, mtosatti, tburke, virt-maint | ||||||
| Target Milestone: | rc | ||||||||
| Target Release: | 6.1 | ||||||||
| Hardware: | All | ||||||||
| OS: | Linux | ||||||||
| Whiteboard: | |||||||||
| Fixed In Version: | kernel-2.6.32-112.el6 | Doc Type: | Bug Fix | ||||||
| Doc Text: | Story Points: | --- | |||||||
| Clone Of: | Environment: | ||||||||
| Last Closed: | 2011-05-23 20:52:23 UTC | Type: | --- | ||||||
| Regression: | --- | Mount Type: | --- | ||||||
| Documentation: | --- | CRM: | |||||||
| Verified Versions: | Category: | --- | |||||||
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||||
| Cloudforms Team: | --- | Target Upstream Version: | |||||||
| Embargoed: | |||||||||
| Bug Depends On: | |||||||||
| Bug Blocks: | 580951 | ||||||||
| Attachments: |
|
||||||||
|
Description
Keqin Hong
2010-09-15 08:52:34 UTC
This seems to be related to enabling and disabling dirty tracking. I added these monitor commands for testing: dirtytrack -> cpu_physical_memory_set_dirty_tracking(1) nodirtytrack -> cpu_physical_memory_set_dirty_tracking(0) Toggling this on and off seems to produce a similar hang with similar frequency to starting and stopping migration. I also tested that if we don't disable dirty tracking when ram_save_live is called with -1, I can't cause a failure. Still investigating. Created attachment 469450 [details]
kvm_trace log
In this trace, the guest starts hung. I've found that it can get un-hung by restarting the migration or, as in this case, re-issuing cpu_physical_memory_set_dirty_tracking(1). The guest then starts working again, but after a few more cycles of togging dirty tracking, gets hung again.
Created attachment 469451 [details]
dirty tracking patch
crude debug patch for allowing toggling dirty tracking independent of migration.
Adding some kernel-side experts since this seems to be happening as a result of toggling dirty page tracking via a kvm ioctl. Marclo has posted a patch upstream that seems to resolve this in my testing. Re-assigning. Patch(es) available on kernel-2.6.32-112.el6 Reproduced on kernel-2.6.32-94.el6 Verified on kernel-2.6.32-113.el6. Following the steps in comment #0,Guest not hang after migration_cancel This issue has been fixed. Based on above ,Change status to VERIFIED. An advisory has been issued which should help the problem described in this bug report. This report is therefore being closed with a resolution of ERRATA. For more information on therefore solution and/or where to find the updated files, please follow the link below. You may reopen this bug report if the solution does not work for you. http://rhn.redhat.com/errata/RHSA-2011-0542.html |