On Thu, 2018-03-01 at 09:51 +0100, Johannes Thumshirn wrote: > On Wed, Feb 28, 2018 at 11:28:16AM -0800, Bart Van Assche wrote: > > static bool blk_poll_stats_enable(struct request_queue *q) > > { > > - if (test_bit(QUEUE_FLAG_POLL_STATS, &q->queue_flags) || > > - test_and_set_bit(QUEUE_FLAG_POLL_STATS, &q->queue_flags)) > > + if (blk_queue_flag_test_and_set(QUEUE_FLAG_POLL_STATS, q)) > > Is this one really needed or just for symmetry? Even if something > would change the queue_flags after the first test_bit() call, the > test_and_set_bit() would still do the right thing, wouldn't it? Hello Johannes, Since blk_poll_stats_enable() is called from the hot path (polling code) I think we need the optimization of calling test_bit() before calling test_and_set_bit(). I will restore the test_bit() call. Bart.