Il 20/11/2013 06:28, Wangting (Kathy) ha scritto: > Hi Paolo and Stefan, > > I am really sorry for my email before that I didn't say clearly about > the bug fix. > > f->bytes_xfer means the number of bytes which is send from source to > destination during the migration. It is limited by the f->xfer_limit > which is converted from bandwidth. That means if bytes_xfer is larger > than the limit, the current iteration will not do block and memory > migration util the next iteration. > > But in function qemu_put_buffer, the statistics is wrong. The size of > block migration is 1MB for each block, but the buffer size for > sending is IO_BUF_SIZE(32768bytes). When it need to be send, 1MB > block will be divided into small trunks, so f->bytes_xfer should be > increased by the size of the small trunks every time which is > actually send, in function qemu_put_buffer it should be the variable > "l". > > Otherwise, f->bytes_xfer will be increased by (small trunks number * > 1MB) while sending 1MB block, it is much larger than the size which > is actually send, and it will soon be reached to the size of > f->xfer_limit, so the current iteration will send less data blocks > than expected. > > If you have any questions, please let me know, thank you very much.
Thank you very much. Juan, I guess you need to prepare another pull request. Paolo