Re: [PATCH 24/43] xfs: implement zoned garbage collection

Christoph Hellwig
2025-02-13T05:22:25Z

On Fri, Feb 07, 2025 at 10:33:50AM -0800, Darrick J. Wong wrote:
> > + spin_lock_init(&zi->zi_used_buckets_lock);
> > + for (i = 0; i < XFS_ZONE_USED_BUCKETS; i++) {
> > + zi->zi_used_bucket_bitmap[i] =
> > + bitmap_zalloc(mp->m_sb.sb_rgcount, GFP_KERNEL);
>
> I wonder how long until this becomes a scalability problem, on my device
> with 131k zones, this is a 16k contiguous allocation.

This should probably be a kvmalloc allocation, I'll see if we want
to open code it or add a new helper. 16k should be fine at mount
time, but the devices aren't going get smaller in the next years.

> > + return false;
> > +
> > + xfs_info(mp, "reclaiming zone %d, used: %u/%u, bucket: %u",
> > + rtg_rgno(victim_rtg), rtg_rmap(victim_rtg)->i_used_blocks,
> > + rtg_blocks(victim_rtg), bucket);
>
> Tracepoint?
>
> > + trace_xfs_zone_reclaim(victim_rtg);

Here :), but yes, the printk is probably too noisy for the default
build even if it's really useful for debugging.