Re: [PATCH Linux 2.6.12-rc2 00/04] blk: generic tag support fixes

2005-04-20 Thread Jens Axboe
On Wed, Apr 20 2005, Tejun Heo wrote:
>  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.

All patches look good, thanks!

-- 
Jens Axboe

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH Linux 2.6.12-rc2 00/04] blk: generic tag support fixes

2005-04-20 Thread Tejun Heo
 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 ]

01_blk_tag_map_use_find_first_zero_bit.patch
: 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.

02_blk_tag_map_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.

03_blk_tag_map_remove_BLK_TAGS_PER_LONG.patch
: remove BLK_TAGS_{PER_LONG|MASK}

Replace BLK_TAGS_PER_LONG with BITS_PER_LONG and remove unused
BLK_TAGS_MASK.

04_blk_tag_map_error_handling_cleanup.patch
: 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 [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH Linux 2.6.12-rc2 00/04] blk: generic tag support fixes

2005-04-20 Thread Tejun Heo
 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 ]

01_blk_tag_map_use_find_first_zero_bit.patch
: 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.

02_blk_tag_map_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.

03_blk_tag_map_remove_BLK_TAGS_PER_LONG.patch
: remove BLK_TAGS_{PER_LONG|MASK}

Replace BLK_TAGS_PER_LONG with BITS_PER_LONG and remove unused
BLK_TAGS_MASK.

04_blk_tag_map_error_handling_cleanup.patch
: 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 [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH Linux 2.6.12-rc2 00/04] blk: generic tag support fixes

2005-04-20 Thread Jens Axboe
On Wed, Apr 20 2005, Tejun Heo wrote:
  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.

All patches look good, thanks!

-- 
Jens Axboe

-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/