Il 26/11/2013 13:03, Lei Li ha scritto:
+ if (pending_size && pending_size >= max_size &&
+ !runstate_needs_reset()) {
qemu_savevm_state_iterate(s->file);
I'm not sure why you need this.
The adjustment here is to avoid the iteration stage for page flipping.
Because pending_size = ram_save_remaining() * TARGET_PAGE_SIZE which is
not 0 and pending_size > max_size (0) at start.
It's still not clear to me that avoiding the iteration stage is
necessary. I think it's just an optimization to avoid scanning the
bitmap, but:
(1) Juan's bitmap optimization will make this mostly unnecessary
(2) getting good downtime from page flipping will require postcopy anyway.
And you said 'This is a bit ugly but I understand the need. Perhaps "&&
!runstate_needs_reset()" like below?' :)
Oops. I might have said this before thinking about postcopy and/or
before seeing the benchmark results from Juan's patches. If this part
of the patch is just an optimization, I'd rather leave it out for now.