Am 05.04.2013 um 17:42 hat Paolo Bonzini geschrieben: > Il 05/04/2013 17:39, Kevin Wolf ha scritto: > >> > The solution could be to make bdrv_load_vmstate take an iov/iovcnt pair. > > Ah, so you're saying that instead of linearising the buffer it breaks up > > the requests in tiny pieces? > > Only for RAM (header/page/header/page...), because the page comes > straight from the guest memory. Device state is still buffered and fast.
And quite small in comparison. ;-) > > Implementing vectored bdrv_load/save_vmstate should be easy in theory. > > > >> > Alternatively, you can try the attached patch. I haven't yet tested it > >> > though, and won't be able to do so today. > > Attempted to write to buffer while read buffer is not empty > > > > Program received signal SIGABRT, Aborted. > > Second try. Okay, this doesn't seem to crash any more. Now I'm at 2.5s instead of 10s, which is obviously much better, but still worse than the initial 0.6s. The rest of the performance regression seems to come from a different patch, though, so I guess I should do another bisect. Kevin