[dm-devel] [PATCH 2/2] block: Avoid deadlocks with bio allocation by stacking drivers
Tejun Heo
tj at kernel.org
Mon Sep 10 20:40:10 UTC 2012
Hello, Kent.
On Mon, Sep 10, 2012 at 01:24:35PM -0700, Kent Overstreet wrote:
> And at that point, why duplicate that line of code? It doesn't matter that
> much, but IMO a goto retry better labels what's actually going on (it's
> something that's not uncommon in the kernel and if I see a retry label
> in a function I pretty immediately have an idea of what's going on).
>
> So we could do
>
> retry:
> p = mempool_alloc(bs->bio_pool, gfp_mask);
> if (!p && gfp_mask != saved_gfp) {
> punt_bios_to_rescuer(bs);
> gfp_mask = saved_gfp;
> goto retry;
> }
Yes, we do retry loops if that makes the code simpler. Doing that to
save one extra alloc call, I don't think so.
Thanks.
--
tejun
More information about the dm-devel
mailing list