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 <stefa...@linux.vnet.ibm.com>
>>     
>
> 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


Reply via email to