Re: [PATCH] http.c: clear the 'finished' member once we are done with it
- From
Junio C Hamano <gitster@pobox.com>
- Date
- May 25, 2022, 16:40 UTC
- Message-ID
- <xmqqr14h8t10.fsf@gitster.g>
- In-Reply-To
- <nycvar.QRO.7.76.6.2205251111300.352@tvgsbejvaqbjf.bet>
Johannes Schindelin <Johannes.Schindelin@gmx.de> writes:
> This same analysis, of course, also puts a nail into the coffin of the > `reserved_for_use` idea because while it would fix the reuse bug, it would > unnecessarily squat on slots that might well be needed.
It is like that an in-kernel structure that represents a process has to stay around in the zombie state until its exit status is culled. With s/reserved_for_use/zombie/ the name of the new member would make more sense ;-)
With the "slot->finished" trick, compared to the approach to delay the reuse, we can reuse them a bit earlier, but because I do not think we accumulate unbounded number of these zombie requests, and when we run out the active slots in the active queue, and because get_active_slot() will allocate a new one, the wastage might not be too bad.
So, I am not sure if it is that bad to be called a nail in the coffin.
In any case, https://github.com/git/git/actions/runs/2381379417 is the run with the single liner "clear slot->finished before leaving" with your other 3 gcc12 fixes. The tests are not clean because we have linux-leaks complaining on ds/bundle-uri-more RFC patches and win test (9) seems to have issues with t7527 (fsmonitor), but I am taking the fact that any of the "win test" jobs even start as an evidence that we have pleased gcc12 enough to get there?
Thanks.