qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH v6 0/4] migration: UFFD write-tracking migration/snapshots


From: Andrey Gruzdev
Subject: Re: [PATCH v6 0/4] migration: UFFD write-tracking migration/snapshots
Date: Thu, 17 Dec 2020 10:50:34 +0300
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.10.0

On 17.12.2020 00:02, Peter Xu wrote:
On Tue, Dec 15, 2020 at 10:53:13PM +0300, Andrey Gruzdev wrote:
First are series of runs without scan-rate-limiting.patch.
Windows 10:

     msecs               : count     distribution
         0 -> 1          : 131913   |****************************************|
         2 -> 3          : 106      |                                        |
         4 -> 7          : 362      |                                        |
         8 -> 15         : 619      |                                        |
        16 -> 31         : 28       |                                        |
        32 -> 63         : 1        |                                        |
        64 -> 127        : 2        |                                        |


     msecs               : count     distribution
         0 -> 1          : 199273   |****************************************|
         2 -> 3          : 190      |                                        |
         4 -> 7          : 425      |                                        |
         8 -> 15         : 927      |                                        |
        16 -> 31         : 69       |                                        |
        32 -> 63         : 3        |                                        |
        64 -> 127        : 16       |                                        |
       128 -> 255        : 2        |                                        |

Ubuntu 20.04:

     msecs               : count     distribution
         0 -> 1          : 104954   |****************************************|
         2 -> 3          : 9        |                                        |

     msecs               : count     distribution
         0 -> 1          : 147159   |****************************************|
         2 -> 3          : 13       |                                        |
         4 -> 7          : 0        |                                        |
         8 -> 15         : 0        |                                        |
        16 -> 31         : 0        |                                        |
        32 -> 63         : 0        |                                        |
        64 -> 127        : 1        |                                        |


Here are runs with scan-rate-limiting.patch.
Windows 10:

     msecs               : count     distribution
         0 -> 1          : 234492   |****************************************|
         2 -> 3          : 66       |                                        |
         4 -> 7          : 219      |                                        |
         8 -> 15         : 109      |                                        |
        16 -> 31         : 0        |                                        |
        32 -> 63         : 0        |                                        |
        64 -> 127        : 1        |                                        |

     msecs               : count     distribution
         0 -> 1          : 183171   |****************************************|
         2 -> 3          : 109      |                                        |
         4 -> 7          : 281      |                                        |
         8 -> 15         : 444      |                                        |
        16 -> 31         : 3        |                                        |
        32 -> 63         : 1        |                                        |

Ubuntu 20.04:

     msecs               : count     distribution
         0 -> 1          : 92224    |****************************************|
         2 -> 3          : 9        |                                        |
         4 -> 7          : 0        |                                        |
         8 -> 15         : 0        |                                        |
        16 -> 31         : 1        |                                        |
        32 -> 63         : 0        |                                        |
        64 -> 127        : 1        |                                        |

     msecs               : count     distribution
         0 -> 1          : 97021    |****************************************|
         2 -> 3          : 7        |                                        |
         4 -> 7          : 0        |                                        |
         8 -> 15         : 0        |                                        |
        16 -> 31         : 0        |                                        |
        32 -> 63         : 0        |                                        |
        64 -> 127        : 0        |                                        |
       128 -> 255        : 1        |                                        |

So, initial variant of rate-limiting makes some positive effect, but not very
noticible. Interesting is the case of Windows guest, why the difference is so large,
compared to Linux. The reason (theoretically) might be some of virtio or QXL drivers,
hard to say. At least Windows VM has been configured with a set of Hyper-V
enlightments, there's nothing to improve in domain config.

For Linux guests latencies are good enough without any additional efforts.
Interesting...

Also, I've missed some code to deal with snapshotting of suspended guest, so I'll made
v7 series with the fix and also try to add more effective solution to reduce millisecond-grade
latencies.

And yes, I've used bpftrace-like tool - BCC from iovisor with python frontend. Seems a bit more
friendly then bpftrace.
Do you think it's a good idea to also include your measurement script when
posting v7?  It could be a well fit for scripts/, I think.

Seems 6.0 dev window is open; hopefully Dave or Juan would have time to look at
this series soon.

Thanks,

Yes, I think it's good to have this script in the same tree.

Nice news about 6.0! For v7, I've added a fix for suspended guest since previously we'd finish
in assert() on invalid runstate transition when doing initial vm_stop_force_state(RUN_STATE_PAUSED)).
Also disabled dirty page logging and log syncing for background snapshots.

Thanks,
-- 
Andrey Gruzdev, Principal Engineer
Virtuozzo GmbH  +7-903-247-6397
                virtuzzo.com

reply via email to

[Prev in Thread] Current Thread [Next in Thread]