On 2013-08-26(Mon) at 11:53(+0200), Jiri Denemark wrote: > On Mon, Aug 26, 2013 at 15:30:33 +0800, Li Wei wrote: > > Since commit 6cfdeaac("qemu: Migrate at unlimited speed by default"), > > we set an unlimited migration bandwidth unconditionally, this change will > > cause problem when doing "--copy-storage-all" migration, qemu will > > submit as much block aio request as bandwidth allowed and use too much > > memory and finally killed by the oom-killer. > > > > Actually, we should only set migration speed when user specified it, > > otherwise, we let qemu use its default settings. > > I don't think this is a good idea. QEMU's default migration bandwidth is > very low and IMHO anyone doing migration expects it to run at wire speed > unless they explicitly limit the bandwidth. If it doesn't work with > storage migration (is it using NBD or not?), we may add special handling > for that. No NBD, just plain img file. Yes, migrate at wire speed is a good thing, but QEMU's block migration doesn't work that way, QEMU's block migration separated to two parts, one submit block read request as bandwidth allowed, the other send data to socket(or fd) in the callback of read request. The second part may be limited by the socket send speed, but the first part only limited by the bandwidth we set. So, with an unlimited bandwidth, QEMU will submit too much read request. Maybe I am missing something, now I have no good idea to add any special handling for that. Thanks, Wei -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list