Re: [PATCH 3/5] xfs_scrub: fix threadcount estimates for phase 6

Darrick J. Wong
2024-03-26T16:30:07Z

On Mon, Mar 25, 2024 at 10:15:18PM -0700, Christoph Hellwig wrote:
> On Mon, Mar 25, 2024 at 08:21:37PM -0700, Darrick J. Wong wrote:
> > From: Darrick J. Wong <djwong@kernel.org>
> >
> > If a filesystem has a realtime device or an external log device, the
> > media scan can start up a separate readverify controller (and workqueue)
> > to handle that. Each of those controllers can call progress_add, so we
> > need to bump up nr_threads so that the progress reports controller knows
> > to make its ptvar big enough to handle all these threads.
>
> Maybe add a comment to the code stating this?

/*
* Each read-verify pool starts a thread pool, and each worker thread
* can contribute to the progress counter. Hence we need to set
* nr_threads appropriately to handle that many threads.
*/
*nr_threads = disk_heads(ctx->datadev);
if (ctx->rtdev)
*nr_threads += disk_heads(ctx->rtdev);
if (ctx->logdev)
*nr_threads += disk_heads(ctx->logdev);

--D