> By the time you consider the different combinations of targets & hosts, > most of the opportunities for zero copy are eliminated anyway. Byte > ordering and structure packing amd content differences mean that we can't > do zero-copy except in the rare circumstance that the host & target > match is all of these respects. The read & write buffers would still > benefit from zero copy, but nearly everything else has to be touched > anyway.
If you're not careful you get double-copying. Once copying the struct from guest to host space, and then again when converting layout/endianess. I've no idea whether this overhead is important in practice though. Paul