backports: use --use-coccigrep for Coccinelle
authorLuis R. Rodriguez <mcgrof@do-not-panic.com>
Tue, 15 Apr 2014 19:01:17 +0000 (19:01 +0000)
committerLuis R. Rodriguez <mcgrof@do-not-panic.com>
Thu, 17 Apr 2014 23:23:08 +0000 (16:23 -0700)
commit7269e5dc8cff1e29af8af64475ceda50887c2865
tree4c43140e76090d632617b6889990ca8d0f59332c
parent05d44557c6a83b4ecb935cb6306f62c742eb7bbf
backports: use --use-coccigrep for Coccinelle

This uses --use-coccigrep on our Cocccinelle library and removes
the CPU adjustments depending on whether we are testing or not.
The flag --use-coccigrep will tell Coccinelle to only kick off a
worker on a file until it has determined that a rule being
evaluated applies to a file. This does however mean that all files
on its bucket list will be evaluated first, but this yields better
CPU usage without having us to ramp up on the number of threads
depending on the situation. Without this patch we were kicking off
more threads to account for the fact that a Coccinelle thread will
stop working on a file if it had little or nothing to do on a file.

Possible work improvement: see how we can do away with tmp files
for Coccinelle output and just use memory to for the ouput, or
perhaps even disregard the stdout and only care for it if
--debug-cocci is provided.

mcgrof@drvbp1 ~/backports (git::master)$ time ./gentree.py --clean
/home/mcgrof/linux-next /home/mcgrof/build/next-20140411
Copy original source files ...
Apply patches ...
Modify Kconfig tree ...
Rewrite Makefiles and Kconfig files ...
Done!

real    1m14.880s
user    10m47.824s
sys     0m36.796s

Cc: Peter Senna <peter.senna@gmail.com>
Cc: Julia Lawall <julia.lawall@lip6.fr>
Cc: Gilles Muller <Gilles.Muller@lip6.fr>
Signed-off-by: Luis R. Rodriguez <mcgrof@do-not-panic.com>
gentree.py
lib/bpcoccinelle.py