Paolo Ornati wrote: > On Mon, 23 Jan 2006 11:49:33 +1100 > Peter Williams wrote: > > >>>However, in spite of the above, the fairness mechanism should have been >>>able to generate enough bonus points to get dd's priority back to less >>>than 34. I'm still investigating why this didn't happen. >> >>Problem solved. It was a scaling issue during the calculation of >>expected delay. The attached patch should fix both the CPU hog problem >>and the fairness problem. Could you give it a try? >> > > > Mmmm... it doesn't work: > > PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND > 5516 paolo 34 0 115m 18m 2432 S 87.5 3.7 0:23.72 transcode > 5530 paolo 34 0 51000 4472 1872 S 8.0 0.9 0:02.29 tcdecode > 5523 paolo 34 0 19840 1088 880 R 2.0 0.2 0:00.21 tcdemux > 5522 paolo 34 0 22156 1204 972 R 0.7 0.2 0:00.02 tccat > 5539 paolo 34 0 4952 1468 372 D 0.7 0.3 0:00.04 dd > 5350 root 28 0 167m 16m 3228 S 0.3 3.4 0:03.64 X > > PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND > 5456 paolo 34 0 115m 18m 2432 D 63.9 3.7 0:48.21 transcode > 5470 paolo 37 0 50996 4472 1872 R 6.2 0.9 0:05.20 tcdecode > 5493 paolo 34 0 4952 1472 372 R 1.5 0.3 0:00.22 dd > 5441 paolo 28 0 86656 21m 15m S 0.2 4.4 0:00.77 konsole > 5468 paolo 34 0 19840 1088 880 S 0.2 0.2 0:00.23 tcdemux > I know that I've said this before but I've found the problem. Embarrassingly, it was a basic book keeping error (recently introduced and equivalent to getting nr_running wrong for each CPU) in the gathering of the statistics that I use. :-( The attached patch (applied on top of the PlugSched patch) should fix things. Could you test it please? Thanks Peter -- Peter Williams pwil3058@bigpond.net.au "Learning, n. The kind of ignorance distinguishing the studious." -- Ambrose Bierce