... | @@ -80,7 +80,10 @@ This is done twice, using the two buffers available: |
... | @@ -80,7 +80,10 @@ This is done twice, using the two buffers available: |
|
echo vmalloc > /sys/zio/devices/zzero/cset0/current_buffer
|
|
echo vmalloc > /sys/zio/devices/zzero/cset0/current_buffer
|
|
echo kmalloc > /sys/zio/devices/zzero/cset0/current_buffer
|
|
echo kmalloc > /sys/zio/devices/zzero/cset0/current_buffer
|
|
|
|
|
|
And the result is plotted in the following figure.
|
|
And the result is plotted in the following figure.
|
|
|
|
|
|
|
|
![](/uploads/e6852a1feb41ad823e23c7d11dab9e02/zio-bench.png)
|
|
|
|
|
|
The first numbers obtained, for 1048576 reads of 16 bytes , are:
|
|
The first numbers obtained, for 1048576 reads of 16 bytes , are:
|
|
|
|
|
|
dd: 2.213750
|
|
dd: 2.213750
|
... | @@ -90,7 +93,7 @@ The first numbers obtained, for 1048576 reads of 16 bytes , are: |
... | @@ -90,7 +93,7 @@ The first numbers obtained, for 1048576 reads of 16 bytes , are: |
|
This means that the overhead of reading the full block (both
|
|
This means that the overhead of reading the full block (both
|
|
control and data) is .52 microseconds per block, while reading
|
|
control and data) is .52 microseconds per block, while reading
|
|
the control and accessing data with `mmap` is 0.37 microseconds
|
|
the control and accessing data with `mmap` is 0.37 microseconds
|
|
ober a plain read.
|
|
more than doing a plain `dd` read.
|
|
|
|
|
|
For large data sizes, the advantage of accessing data instead
|
|
For large data sizes, the advantage of accessing data instead
|
|
of reading it will be more of this per-block overhead. However,
|
|
of reading it will be more of this per-block overhead. However,
|
... | | ... | |