btdu - a sampling disk usage profiler for btrfs (written in D)

Vladimir Panteleev thecybershadow.lists at gmail.com
Mon Nov 9 13:41:08 UTC 2020


On Monday, 9 November 2020 at 13:33:50 UTC, matheus wrote:
> I read about GC issues like this very often and my question is: 
> Can't GC be set just to run without collecting anything, and 
> manually set it to collect after a process is finished?

You can disable the GC and you can run it manually, but this 
wouldn't help in this case, because the ioctls are run across 
threads in an overlapping way. It would be possible if the 
program was designed such that every once in a while, the main 
thread tells all worker threads "OK, let's do a GC so nobody 
start any new ioctls for now", and when the last ioctl finishes 
run the GC and then let worker threads start ioctls again, but 
this means that up to all but one worker threads are idle and 
waiting for the last ioctl to finish. ioctl duration varies from 
milliseconds to seconds in this case, so it would noticeably 
affect throughput.



More information about the Digitalmars-d mailing list