On 1/19/23 10:47, Keith Busch wrote:
I think the potential performance sacrifice was done on purpose in order
to guarantee all tagset subscribers can have at least one unblocked
access to the pool, otherwise one LUN could starve all the others by
tying up all the tags in long-running operations. Is anyone actually
benefiting from the current sharing, though? I really do not know, so
I'm having trouble weighing in on removing it.
Hi Keith,
Hmm ... does reserving tags for one logical unit / namespace really help
if long-running operations are active on another logical unit or
namespace? For storage devices where the storage medium is shared across
logical units or namespaces reserving tags won't help if the storage
controller is not able to interrupt ongoing medium accesses. For storage
devices with multiple "spindles" (e.g. a NAS) the tag fairness algorithm
may help but this is not guaranteed.
How about making it configurable (request queue flag?) whether the tag
fairness algorithm is active and leaving this algorithm disabled by default?
Thanks,
Bart.