From 2ca88ad6d52a8a4882eb8e8b5c532a56813a6eb4 Mon Sep 17 00:00:00 2001 From: "Luis R. Rodriguez" Date: Tue, 15 Apr 2014 19:28:38 +0000 Subject: [PATCH] backports: Use Coccinelle --relax-include-path This will provide wider coverage on include paths for our Coccinelle rule interpretation, at a very lower cost incurred, about 1 second, for code generation. Coccinelle makes an effort to infer types but with a wider coverage of header files it can do a better job at that. You want to use both --recursive-includes (which we already enable) and --relax-include-path to get the most possible type information. You will want at least Coccinelle 1.0.0-rc20 which had an increase of performance of over 30% when using both --recursive-includes and --relax-include path. 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 1m15.370s user 10m47.232s sys 0m36.980s Cc: Peter Senna Cc: Julia Lawall Cc: Gilles Muller Signed-off-by: Luis R. Rodriguez --- lib/bpcoccinelle.py | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/bpcoccinelle.py b/lib/bpcoccinelle.py index bd276c7371df..75a0b37eba88 100644 --- a/lib/bpcoccinelle.py +++ b/lib/bpcoccinelle.py @@ -33,6 +33,7 @@ def spatch(cocci_file, outdir, max_threads, thread_id, temp_dir, ret_q, extra_args=[]): cmd = ['spatch', '--sp-file', cocci_file, '--in-place', '--recursive-includes', + '--relax-include-path', '--use-coccigrep', '--backup-suffix', '.cocci_backup', '--dir', '.'] -- 2.30.2