|
From: | Yoshiaki Tamura |
Subject: | [Qemu-devel] Re: [RFC PATCH 05/20] Introduce put_vector() and get_vector to QEMUFile and qemu_fopen_ops(). |
Date: | Mon, 26 Apr 2010 19:43:52 +0900 |
User-agent: | Mozilla/5.0 (Windows; U; Windows NT 5.1; ja; rv:1.9.1.9) Gecko/20100317 Thunderbird/3.0.4 |
Anthony Liguori wrote:
On 04/22/2010 10:37 PM, Yoshiaki Tamura wrote:Anthony Liguori wrote:On 04/21/2010 12:57 AM, Yoshiaki Tamura wrote:QEMUFile currently doesn't support writev(). For sending multiple data, such as pages, using writev() should be more efficient. Signed-off-by: Yoshiaki Tamura<address@hidden>Is there performance data that backs this up? Since QEMUFile uses a linear buffer for most operations that's limited to 16k, I suspect you wouldn't be able to observe a difference in practice.I currently don't have data, but I'll prepare it. There were two things I wanted to avoid. 1. Pages to be copied to QEMUFile buf through qemu_put_buffer. 2. Calling write() everytime even when we want to send multiple pages at once. I think 2 may be neglectable. But 1 seems to be problematic if we want make to the latency as small as possible, no?Copying often has strange CPU characteristics depending on whether the data is already in cache. It's better to drive these sort of optimizations through performance measurement because changes are not always obvious.
I agree.
[Prev in Thread] | Current Thread | [Next in Thread] |