Re: [PATCH 12/15] blkcg: cleanup and make blk_get_rl use blkg_lookup_create

From: Tejun Heo
Date: Fri Aug 31 2018 - 20:29:06 EST


On Thu, Aug 30, 2018 at 09:53:53PM -0400, Dennis Zhou wrote:
> From: "Dennis Zhou (Facebook)" <dennisszhou@xxxxxxxxx>
>
> blk_get_rl is responsible for identifying which request_list a request
> should be allocated to. Try get logic was added earlier, but
> semantically the logic was not changed.
>
> This patch makes better use of the bio already having a reference to the
> blkg in the hot path. The cold path uses a better fallback of
> blkg_lookup_create rather than just blkg_lookup and then falling back to
> the q->root_rl. If lookup_create fails with anything but -ENODEV, it
> falls back to q->root_rl.
>
> A clarifying comment is added to explain why q->root_rl is used rather
> than the root blkg's rl.
>
> Signed-off-by: Dennis Zhou <dennisszhou@xxxxxxxxx>

Acked-by: Tejun Heo <tj@xxxxxxxxxx>

We're replicating that retry busy loop a lot. It'd be really great to
factor that out and document what it's doing.

Thanks.

--
tejun