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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




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

--
To unsubscribe from this list: send the line "unsubscribe linux-ide" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Filesystems]     [Linux SCSI]     [Linux RAID]     [Git]     [Kernel Newbies]     [Linux Newbie]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Samba]     [Device Mapper]

  Powered by Linux