On 1/23/24 09:34, Jens Axboe wrote:
If we're entering request dispatch but someone else is already dispatching, then just skip this dispatch. We know IO is inflight and this will trigger another dispatch event for any completion. This will potentially cause slightly lower queue depth for contended cases, but those are slowed down anyway and this should not cause an issue. By itself, this patch doesn't help a whole lot, as the dispatch lock contention reduction is just eating up by the same dd->lock now
^^^^^^^^ Does this perhaps need to be modified into bfqd->lock?
struct bfq_data { + struct { + spinlock_t lock; + } ____cacheline_aligned_in_smp;
Hmm ... why is the spinlock surrounded with a struct { }? This is not clear to me. Otherwise this patch looks good to me. Thanks, Bart.