Re: [PATCH 2/2] block: Avoid deadlocks with bio allocation bystacking drivers

From: Tejun Heo
Date: Mon Sep 10 2012 - 16:40:11 EST


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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/