On Wed, Aug 12, 2020 at 06:23:01PM +0200, René Scharfe wrote: > > This seems to be related to setting SPATCH_BATCH_SIZE to "0". It used to make > > things go much faster (if you had enough memory), but now seems to just > > consume tons of CPU. Setting it to "1" finishes the whole thing in ~13 > > minutes of CPU (~2m wall-clock). > > This bit me as well, and I settled with SPATCH_BATCH_SIZE = 10. With > MAKEFLAGS += -j3 I get these number, which are quite similar to yours > (except I don't dare use more cores due to cooling issues..): > > real 4m12,393s > user 12m15,447s > sys 0m10,418s Interestingly, that was slower for me (2m47s wall-clock, with 27m of CPU). Using "2" is slightly faster than "1". But "3" is a little less fast, and "4" is slower than "1". So...no clue what is going on. > > So that's at least a path forward, but in general I have been frustrated > > with operational aspects of coccinelle like this. > > And I was a bit shocked when Coccinelle's testing package became > unmaintained for a while and I had to compile it from source. Yeah, I've had various issues with the packaging. For a long time they had 1.0.7 in experimental, but with no python support. I wonder if it's worth starting to use python scriptlets in our coccinelle rules, as described in 4d168e742a (coccinelle: use <...> for function exclusion, 2018-08-28). They're faster and IMHO easier to understand. Of course I tried it out and got some inscrutable errors: SPATCH contrib/coccinelle/object_id.cocci init_defs_builtins: /usr/bin/../lib/coccinelle/standard.h Python path configuration: PYTHONHOME = '/lib/x86_64-linux-gnu/..' PYTHONPATH = '/usr/bin/../lib/coccinelle/python' program name = 'python3' isolated = 0 environment = 1 user site = 1 import site = 1 sys._base_executable = '/usr/bin/python3' sys.base_prefix = '/lib/x86_64-linux-gnu/..' sys.base_exec_prefix = '/lib/x86_64-linux-gnu/..' sys.executable = '/usr/bin/python3' sys.prefix = '/lib/x86_64-linux-gnu/..' sys.exec_prefix = '/lib/x86_64-linux-gnu/..' sys.path = [ '/usr/bin/../lib/coccinelle/python', '/lib/x86_64-linux-gnu/../lib/python38.zip', '/lib/x86_64-linux-gnu/../lib/python3.8', '/lib/x86_64-linux-gnu/../lib/python3.8/lib-dynload', ] Fatal Python error: init_fs_encoding: failed to get the Python codec of the filesystem encoding Python runtime state: core initialized ModuleNotFoundError: No module named 'encodings' Fun. -Peff