Re: SATA-performance: Linux vs. FreeBSD

Stefan Richter
2007-02-12T18:19:10Z

Martin A. Fink wrote:
> This means, that the CPU is only 7.3 of 52.8 seconds working.
...
> It looks like
> the SATA driver simply blocks the CPU while doing whatever...

The system sleeps while waiting for the disk (actually, for the SATA
host port) to be done with its work.

As Andi explained, if the system gives the disk a small task, waits for
the task to be completed, then gives it a next task and so on, latencies
add up and eat into effective bandwidth. Give the disk a whole set of
tasks so that
- it has immediately something new to do when it finished one task,
- deep pipes are not mostly empty due to "bubbles" in the pipe,
- tasks can be reordered to be executed in optimized manner for good
bandwidth utilization (if software/ firmware/ hardware is present
which supports this; e.g. the Linux kernel itself),
etc.
Also make each task large so that the ratio of protocol overhead to net
data payload stays minimal.
--
Stefan Richter
-=====-=-=== --=- -==--