On Tue, May 07, 2019 at 01:52:32PM +0900, Junio C Hamano wrote: > Jeff King <peff@xxxxxxxx> writes: > > > Yes, 2^31-1 is probably a better number, but it's harder to write out. :) > > > > Here's what a patch might look like to implement "0". By still using > > xargs in the unlimited code path, it's not too bad. I dunno. > > As somebody who is too used to run "diff -U999" and be happy, I > cannot claim that I care enough, but the result does not look > too bad. OK. With two "not too bad" comments (plus my own similar feeling), let's just do it. Here it is as a patch on top. It can also be squashed into the tip of jk/cocci-batch, but then we should probably s/999/0/ in the commit message. :) -- >8 -- Subject: [PATCH] coccicheck: make batch size of 0 mean "unlimited" If you have the memory to handle it, the ideal case is to run a single spatch invocation with all of the source files. But the only way to do so now is to pick an arbitrarily large batch size. Let's make "0" do this, which is a little friendlier (and doesn't otherwise have a useful meaning). Signed-off-by: Jeff King <peff@xxxxxxxx> --- Makefile | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/Makefile b/Makefile index daba958b8f..9cea614523 100644 --- a/Makefile +++ b/Makefile @@ -1176,6 +1176,7 @@ SP_EXTRA_FLAGS = # For the 'coccicheck' target; setting SPATCH_BATCH_SIZE higher will # usually result in less CPU usage at the cost of higher peak memory. +# Setting it to 0 will feed all files in a single spatch invocation. SPATCH_FLAGS = --all-includes --patch . SPATCH_BATCH_SIZE = 1 @@ -2792,7 +2793,12 @@ endif %.cocci.patch: %.cocci $(COCCI_SOURCES) @echo ' ' SPATCH $<; \ - if ! echo $(COCCI_SOURCES) | xargs -n $(SPATCH_BATCH_SIZE) \ + if test $(SPATCH_BATCH_SIZE) = 0; then \ + limit=; \ + else \ + limit='-n $(SPATCH_BATCH_SIZE)'; \ + fi; \ + if ! echo $(COCCI_SOURCES) | xargs $$limit \ $(SPATCH) --sp-file $< $(SPATCH_FLAGS) \ >$@+ 2>$@.log; \ then \ -- 2.21.0.1314.g224b191707