Re: LVM write performance
On 08/14/2011 01:23 PM, Dion Kant wrote:
> Forget
> about the previous results, they will be wrong because of libgcc stream
> buffering and I did not check how these buffers are actually written to
> kernel space.
libgcc uses writev to write out an array of buffers to kernel space
User bs Actual bs
1 8191
2 8192
4 8192
8 8192
16 8192
32 8192
64 8192
128 8192
256 8192
512 8192
1024 1024
2048 2048
4096 4096
8192 8192
Except for writing single user bytes, libgcc does a good job in gathering the data into buffers with an integral buffer size of 8192 bytes. From a user bs of 1024 and further, it sticks to this buffer size for writing the data to kernel space. So that explains the results I obtained with the write method of ofstream. For all cases the kernel is addressed with a buffer size which is an integral multiple of 4096 the performance is good.
I think the one to less buffer size for the single byte case provides an option for improvement of libgcc.
Dion
Reply to: