lkml.org 
[lkml]   [2008]   [Nov]   [10]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: request to revert libata-convert-to-block-tagging patches


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.

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.

Linus



\
 
 \ /
  Last update: 2008-11-10 17:03    [W:0.312 / U:0.036 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site