On Thu, Mar 21, 2013 at 06:44:14PM +0100, Juan Quintela wrote: > "Michael S. Tsirkin" <[email protected]> wrote: > > On Thu, Mar 21, 2013 at 06:27:42PM +0200, Orit Wasserman wrote: > >> On 03/21/2013 06:16 PM, Michael S. Tsirkin wrote: > >> > On Thu, Mar 21, 2013 at 06:05:40PM +0200, Orit Wasserman wrote: > >> >> This way we send one big buffer instead of many small ones > >> >> > >> >> Signed-off-by: Orit Wasserman <[email protected]> > >> > > >> > Why does this happen BTW? > >> > >> It happens in the last phase when we send the device state that > >> consists of a lot > >> bytes and int field that are written using qemu_put_byte/be16/... > >> > > > > Confused I thought device_state does not use _nocopy? > > My idea of using vmsplice relies exactly on this: > > we can not splice device state ... > > > As it is today, I am not sure that we can use vmsplice() because we > are sending: > > > <header> > <page> > <header> > <page> > <header> > <page> > > We can optimize at some pount to write a bigger/different header and > sent a bunch of pages together, but just now we don't have that code. > > Later, Juan.
Sending the page can do vmsplice, can't it? Multipage is likely a good idea anyway, e.g. RDMA wants to do this too.
