Re: request to revert libata-convert-to-block-tagging patches

From: Jens Axboe
Date: Mon Nov 10 2008 - 12:12:42 EST


On Mon, Nov 10 2008, Linus Torvalds wrote:
>
>
> On Mon, 10 Nov 2008, Jens Axboe wrote:
> > >
> > > Or we could just change the blk-tag.c logic to stop of
> > > find_first_zero_bit() returns >= some_value instead of starting at an
> > > offset? You don't need any extra locking for that.
> >
> > Something like the below.
>
> No, there were two reasons for doing it the way I did it, and this shows
> both. One trivial, one subtle.
>
> > + if (!rq_is_sync(rq))
> > + max_depth = 3 * max_depth / 4;
>
> The trivial one here is that you round down. Imagine what happens if
> "max_depth" was 1.
>
> The subtler one was that the 'use starting offset' means that async and
> sync can _share_ the tagspace, and while you limit async ones to a maximum
> outstanding number, you really cut down on them only when sync ones really
> have filled everything up.
>
> In contrast, limiting like the above means that it's much easier to be in
> the situation where you still have tags to use, but you've used them all
> for reads, and you refuse to start a single write.

Good point. I'll do a counting solution for this instead.

> Anyway, I'll do the revert, since -rc4 is too late to discuss these
> issues. I think we can easily re-do things when everybody is ok with the
> code.

OK, we'll get it into shape for 2.6.29 instead.

--
Jens Axboe

--
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/