compat: add ionice to ckmake again
authorLuis R. Rodriguez <mcgrof@do-not-panic.com>
Thu, 20 Dec 2012 00:36:38 +0000 (16:36 -0800)
committerLuis R. Rodriguez <mcgrof@do-not-panic.com>
Thu, 20 Dec 2012 00:39:53 +0000 (16:39 -0800)
commit976e8703b3f0f94c94e9eecf3b64c90f1406d462
treefc18f1ea19d6cd93320258fbf3a00b95291d4721
parenta3fad85cce070c0f8a296d4fdb35926e67ea7b6d
compat: add ionice to ckmake again

This adds back the ionice settings on the make
call. The copying of content on the thread is not
yet reniced and although Python has utilities to
modify niceness and ionice there are privileged
requirements on the levels we want and I'm not too
sure yet how to resolve this in a reasonable way.

This for example fails:

p = psutil.Process(os.getpid())
delta = -20 - os.nice(0)
p.set_nice(delta)
p.set_ionice(psutil.IOPRIO_CLASS_RT)

This improves perfomance by about 1 minute.

real    17m53.079s
user    446m12.733s
sys     66m13.372s

Since ckmake is multithreaded now though it meant that
we had to copy the content of the code that we want to
compile for each kernel on a new directory. This work
is not reprioritized as it is nice so the best thing
I can think of is we renice the ckmake process our
ourselves and therefore children would properly inherit
the priority.

ionice -c 3 nice -n 20 ckmake

Can we do better without networking the solution ?

Signed-off-by: Luis R. Rodriguez <mcgrof@do-not-panic.com>
bin/ckmake