git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH 0/11] renaming argv_array

From
Jeff King <peff@peff.net>
Date
Aug 12, 2020, 17:08 UTC
Message-ID
<20200812170849.GA43566@coredump.intra.peff.net>
In-Reply-To
<045ea49b-7165-0f45-e670-a24bf648f880@web.de>
On Wed, Aug 12, 2020 at 06:23:01PM +0200, René Scharfe wrote:
Show 12 quoted lines
> > 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.

Show 5 quoted lines
> > 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
Previous: René ScharfeNext: René Scharfe
Message 44 of 46 in “renaming argv_array”
  1. 0/11 renaming argv_arrayJeff King, Jul 28, 2020
  2. 01/11 argv-array: use size_t for count and allocJeff King, Jul 28, 2020
  3. 02/11 argv-array: rename to strvecJeff King, Jul 28, 2020
  4. 03/11 strvec: rename files from argv-array to strvecJeff King, Jul 28, 2020
  5. 04/11 quote: rename sq_dequote_to_argv_array to mention strvecJeff King, Jul 28, 2020
  6. 05/11 strvec: convert builtin/ callers away from argv_array nameJeff King, Jul 28, 2020
  7. 06/11 strvec: convert more callers away from argv_array nameJeff King, Jul 28, 2020
  8. 07/11 strvec: convert remaining callers away from argv_array nameJeff King, Jul 28, 2020
  9. 08/11 strvec: fix indentation in renamed callsJeff King, Jul 28, 2020
  10. Jacob KellerJul 28, 2020
  11. Junio C HamanoJul 28, 2020
  12. 09/11 strvec: update documention to avoid argv_arrayJeff King, Jul 28, 2020
  13. 10/11 strvec: drop argv_array compatibility layerJeff King, Jul 28, 2020
  14. Junio C HamanoJul 28, 2020
  15. Jeff KingJul 29, 2020
  16. Jeff KingJul 29, 2020
  17. Jeff KingJul 29, 2020
  18. Junio C HamanoJul 29, 2020
  19. Derrick StoleeJul 29, 2020
  20. Junio C HamanoJul 29, 2020
  21. Jeff KingJul 29, 2020
  22. 11/11 strvec: rename struct fieldsJeff King, Jul 28, 2020
  23. Junio C HamanoJul 28, 2020
  24. Junio C HamanoJul 28, 2020
  25. Christian CouderJul 29, 2020
  26. Jeff KingJul 29, 2020
  27. Junio C HamanoJul 29, 2020
  28. Jeff KingJul 28, 2020
  29. Jacob KellerJul 28, 2020
  30. Jeff KingJul 29, 2020
  31. Christian CouderJul 29, 2020
  32. Christian CouderJul 29, 2020
  33. Eric SunshineJul 29, 2020
  34. Jeff KingJul 29, 2020
  35. René ScharfeAug 11, 2020
  36. Taylor BlauAug 11, 2020
  37. Junio C HamanoAug 11, 2020
  38. Jacob KellerAug 11, 2020
  39. Junio C HamanoAug 11, 2020
  40. Johannes SchindelinAug 12, 2020
  41. Jeff KingAug 12, 2020
  42. Jeff KingAug 12, 2020
  43. René ScharfeAug 12, 2020
  44. Jeff KingAug 12, 2020
  45. René ScharfeAug 12, 2020
  46. Jeff KingAug 12, 2020

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.