> Well, it's an interesting problem. How do we
> define "system load"?
But you defined it absolutely correctly!
System load is non-sense. Idle time is some meaningful quantity.
Ticks remaining to a process doing some work, not related to work
I use profiler to measure it. Your approach is more precise
and more aggressive. Probably, it is even too aggressive
to get good numbers, but it is surely closer to real life.
> May I ask: have you tried to do any quantitative performance
My approach in before-zerocopy time was much simpler.
Just saturate obscure Ys, but one, and look what remaining Y is.
Particularly, load must be 100%, no idle cycles, no cycles
spent to useless work. After this you measure throughput.
It is some stable number.
This approach failed with zerocopy, 100% load is not so easy
to achieve. Luckily, we still have valid throughput number with gige,
which is not saturated.
Actually, I suspect tcp (driver? scheduler?) still has some miracleous bug,
look f.e. at note of 001022 in README.zerocopy-sendfile.
Probably, your measurement will show 100% load in this case,
because all idle time can happen to be at entry-exit from idle task.
What's about nfs, I not only did not make any measurements, I even
compiled it only once to check that no silly misprints are made there.
(after Dave found that the first patch happened to swap arguments of
one functions. 8)) Pure saving one copy and not-0 order allocation
does not require any measurements to prove its importance.