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

Steven Schveighoffer schveiguy at
Mon Nov 9 15:39:13 UTC 2020

On 11/9/20 8:41 AM, Vladimir Panteleev wrote:
> 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.

It would still help I think, because for instance, the UI is probably 
not running ioctls, and so it wouldn't pause while you are waiting for 
the ioctle-running threads to finish.


More information about the Digitalmars-d mailing list