Re: RFC: Enable delayed responses to Git clean/smudge filter requests
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Nov 16, 2016, 19:19 UTC
- Message-ID
- <xmqqk2c3p70a.fsf@gitster.mtv.corp.google.com>
- In-Reply-To
- <2F93C9B4-157C-4F5C-9BD5-A67AA519757A@gmail.com>
Lars Schneider <larsxschneider@gmail.com> writes:
Show 22 quoted lines
>> On 16 Nov 2016, at 19:15, Junio C Hamano <gitster@pobox.com> wrote: >> >> Lars Schneider <larsxschneider@gmail.com> writes: >> >>>> * You'd need to rein in the maximum parallelism somehow, as you do >>>> not want to see hundreds of competing filter processes starting >>>> only to tell the main loop over an index with hundreds of entries >>>> that they are delayed checkouts. >>> >>> I intend to implement this feature only for the new long running filter >>> process protocol. OK with you? >> >> Do you mean that a long-running filter process interacting with >> convert_to_worktree() called from checkout_entry() will be the only >> codepath that will spawn multiple processes or threads? >> >> That is fine, but it does not change the fact that you still need to >> limit the maximum parallelism there. > > Filters using the long running protocol are spawned only once by Git. > The filter process would get all the smudge requests via the pipe > protocol and is supposed to manage the parallelism on its own.
Yes, I think we are on the same page. You need to be careful not to let the filter process go berserk spawning too many threads or processes.