Am 31.07.2014 um 20:19 hat Slava Pestov geschrieben: > Why are you guys merging requests in qemu at all? Just submit them to the > kernel and let the kernel do it.
Because the kernel generally isn't the next one seeing the requests. You might be right for the special case of using only raw images with cache=none,aio=native, where we would theoretically have a chance to submit all requests in a batch with a single syscall and then let the kernel merge them. It just isn't what everyone is running. An important case is requests going to non-raw image format drivers, where many small writes on sparse images are inefficient because they cause a lot of unnecessary COW activity. Another case are backends that don't even send the requests to the kernel, but use e.g. a network protocol as their backend. Kevin