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.

Reply via email to