|
From: | Alexander Graf |
Subject: | Re: [Qemu-devel] [PATCH] virtio-blk: Avoid zeroing every request structure |
Date: | Tue, 18 May 2010 18:26:13 +0200 |
User-agent: | Thunderbird 2.0.0.23 (X11/20090817) |
Jes Sorensen wrote: > On 05/14/10 23:52, Stefan Hajnoczi wrote: > >> The VirtIOBlockRequest structure is about 40 KB in size. This patch >> avoids zeroing every request by only initializing fields that are read. >> The other fields are either written to or may not be used at all. >> >> Oprofile shows about 10% of CPU samples in memset called by >> virtio_blk_alloc_request(). The workload is >> dd if=/dev/vda of=/dev/null iflag=direct bs=8k running concurrently 4 >> times. This patch makes memset disappear to the bottom of the profile. >> >> Signed-off-by: Stefan Hajnoczi <address@hidden> >> > > Great catch! > > I ran some benchmarks using a ramdisk passed to the guest as a virtio > device and with this patch I saw improvements ranging from 5-20%. I > believe the fluctuations are due to not being able to numa bind it due > to limited memory. > > However a win all the way round! > It looks like a fairly small change with a huge win. Sounds like a perfect candidate for 0.12.5 to me. Alex
[Prev in Thread] | Current Thread | [Next in Thread] |