Re: Only store revealed pids in bgpids data structure

2015-04-15 Thread John Fremlin
On 4/15/15, 6:35 PM, "Chet Ramey" wrote: >On 4/14/15 12:54 AM, John Fremlin wrote: >> Bash instances running in loops get slower over time, as the bgpids data >> structure grows. Here is a small patch to alleviate one issue :) >> >> The jobs.c:bgpids data structure is used as a cache for the wai

Re: Only store revealed pids in bgpids data structure

2015-04-15 Thread Chet Ramey
On 4/14/15 12:54 AM, John Fremlin wrote: > Bash instances running in loops get slower over time, as the bgpids data > structure grows. Here is a small patch to alleviate one issue :) > > The jobs.c:bgpids data structure is used as a cache for the wait syscall, > to store the status of dead process

[PATCH] circular buffer + hash for jobs.c:bgpids

2015-04-15 Thread John Fremlin
Over time, a long running bash process with ulimit –u set high (e.g. 100k) will gradually use more and more CPU. My last patch does not actually fix the problem in all cases, just stores fewer things in this structure. This second patch changes the bpgids structure to use a hash table pointing t