[lkml]   [2005]   [Apr]   [20]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
Subject[PATCH Linux 2.6.12-rc2 00/04] blk: generic tag support fixes
 Hello, Jens.

These are fixes to generic tag support in the blk layer. They all
compile okay and I've proof read it, but as I don't have any HBA which
uses generic tag support, I wasn't able to test directly. However,
all changes are fairly straight-forward.

[ Start of patch descriptions ]

: use find_first_zero_bit() in blk_queue_start_tag()

blk_queue_start_tag() hand-coded searching for the first zero
bit in the tag map. Replace it with find_first_zero_bit().
With this patch, blk_queue_star_tag() doesn't need to fill
remains of tag map with 1, thus allowing it to work properly
with the next remove_real_max_depth patch.

: remove blk_queue_tag->real_max_depth optimization

blk_queue_tag->real_max_depth was used to optimize out
unnecessary allocations/frees on tag resize. However, the
whole thing was very broken - tag_map was never allocated to
real_max_depth resulting in access beyond the end of the map,
bits in [max_depth..real_max_depth] were set when initializing
a map and copied when resizing resulting in pre-occupied tags.

As the gain of the optimization is very small, well, almost
nill, remove the whole thing.


Replace BLK_TAGS_PER_LONG with BITS_PER_LONG and remove unused

: cleanup generic tag support error messages

Add KERN_ERR and __FUNCTION__ to generic tag error messages,
and add a comment in blk_queue_end_tag() which explains the
silent failure path.

[ End of patch descriptions ]

Thanks a lot. :-)

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
More majordomo info at
Please read the FAQ at

 \ /
  Last update: 2005-04-20 13:46    [W:0.034 / U:7.760 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site