Re: [RFC PATCH v1 15/17] blk-cgroup: remove blkg radix tree preloading

Christoph Hellwig <[email protected]> Thu, 9 Jul 2026 08:18:37 +0200
Newsgroups org.kernel.vger.linux-bcache,dev.linux.lists.dm-devel,org.infradead.lists.linux-nvme,org.kernel.vger.cgroups,org.kernel.vger.linux-block
Message-ID <[email protected]>
On Sun, Jul 05, 2026 at 03:51:22AM +0800, Yu Kuai wrote:
> From: Yu Kuai <[email protected]>
> 
> blkg creation is now serialized by q->blkcg_mutex and no longer runs
> under q->queue_lock.  The radix tree is initialized with GFP_NOWAIT, so
> radix_tree_insert() cannot sleep while blkcg->lock is held and the old
> preload dance is no longer needed.
> 
> Remove the preload calls and the associated unwind path.

Isn't the GFP_NOWAIT a bit of a problem because it can fail way too
easy?

What about converting both the radix tree and list to an xarray
using the internal xarray to deal with sleeping allocations?