mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH Linux 2.6.12-rc2 00/04] blk: generic tag support fixes
@ 2005-04-20 11:41 Tejun Heo
  2005-04-20 11:41 ` [PATCH Linux 2.6.12-rc2 01/04] blk: use find_first_zero_bit() in blk_queue_start_tag() Tejun Heo
                   ` (4 more replies)
  0 siblings, 5 replies; 6+ messages in thread
From: Tejun Heo @ 2005-04-20 11:41 UTC (permalink / raw)
  To: axboe; +Cc: linux-kernel

 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. :-)


^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2005-04-20 11:56 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2005-04-20 11:41 [PATCH Linux 2.6.12-rc2 00/04] blk: generic tag support fixes Tejun Heo
2005-04-20 11:41 ` [PATCH Linux 2.6.12-rc2 01/04] blk: use find_first_zero_bit() in blk_queue_start_tag() Tejun Heo
2005-04-20 11:41 ` [PATCH Linux 2.6.12-rc2 02/04] blk: remove blk_queue_tag->real_max_depth optimization Tejun Heo
2005-04-20 11:41 ` [PATCH Linux 2.6.12-rc2 03/04] blk: remove BLK_TAGS_{PER_LONG|MASK} Tejun Heo
2005-04-20 11:41 ` [PATCH Linux 2.6.12-rc2 04/04] blk: cleanup generic tag support error messages Tejun Heo
2005-04-20 11:55 ` [PATCH Linux 2.6.12-rc2 00/04] blk: generic tag support fixes Jens Axboe

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

Powered by JetHome