[Date Prev][Date Next] [Thread Prev][Thread Next]
[Thread Index]
[Date Index]
[Author Index]
Re: [dm-devel] [PATCH 2/2] block: Avoid deadlocks with bio allocation by stacking drivers
- From: Kent Overstreet <koverstreet google com>
- To: Tejun Heo <tj kernel org>
- Cc: axboe kernel dk, dm-devel redhat com, david fromorbit com, linux-kernel vger kernel org, linux-bcache vger kernel org, Mikulas Patocka <mpatocka redhat com>, bharrosh panasas com, Vivek Goyal <vgoyal redhat com>
- Subject: Re: [dm-devel] [PATCH 2/2] block: Avoid deadlocks with bio allocation by stacking drivers
- Date: Mon, 10 Sep 2012 14:33:49 -0700
On Mon, Sep 10, 2012 at 01:40:10PM -0700, Tejun Heo wrote:
> 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.
"Simpler" isn't really an objective thing though. To me the goto version
is more obvious/idiomatic.
Eh. I'll do it your way, but consider this a formal objection :p
[Date Prev][Date Next] [Thread Prev][Thread Next]
[Thread Index]
[Date Index]
[Author Index]