On Fri, 2008-12-12 at 13:12 +0100, Peter Zijlstra wrote:On Thu, 2008-12-11 at 16:25 -0700, Ma, Chinang wrote:We are evaluating the CFS OLTP performance with 2.6.28-c7 kernel. InIs this better or the same than nice-0 ?
this workload once a database foreground process commit a transaction
it will signal the log writer process to write to the log file.
Foreground processes will wait until log writer finish writing and
wake them up. With hundreds of foreground process running in the
system, it is important that the log writer get to run as soon as data
is available.
Here are the experiments we have done with 2.6.28-rc7.
1. Increase log writer priority "renice -20 <log writer pid>" while
keeping all other processes running in default CFS priority. We get a
baseline performance with log latency (scheduling + i/o) at 7 ms.
2. To reduce log latency, we set log writer to SCHED_RR with higher
priority. We tried "chrt -p 49 <log writer pid>" and got 0.7% boost
in performance with log latency reduced to 6.4 ms.
BTW, 6.4ms schedule latency sounds insanely long for a RR task, are you
running a PREEMPT=n kernel or something?
How would you characterize the log tasks behaviour?
- does it run long/short (any quantization)
- does it sleep long/short - how does it compare to its runtime?
- does it wake others?
- if so, always the one who woke it, or multiple others?