[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: