blk-rq-qos.c (e791ee6885f7e9e32c3e551cadea8bc6effaae1e) | blk-rq-qos.c (11c7aa0ddea8611007768d3e6b58d45dc60a19e1) |
---|---|
1// SPDX-License-Identifier: GPL-2.0 2 3#include "blk-rq-qos.h" 4 5/* 6 * Increment 'v', if 'v' is below 'below'. Returns true if we succeeded, 7 * false if 'v' + 1 would be bigger than 'below'. 8 */ --- 252 unchanged lines hidden (view full) --- 261 .private_data = private_data, 262 }; 263 bool has_sleeper; 264 265 has_sleeper = wq_has_sleeper(&rqw->wait); 266 if (!has_sleeper && acquire_inflight_cb(rqw, private_data)) 267 return; 268 | 1// SPDX-License-Identifier: GPL-2.0 2 3#include "blk-rq-qos.h" 4 5/* 6 * Increment 'v', if 'v' is below 'below'. Returns true if we succeeded, 7 * false if 'v' + 1 would be bigger than 'below'. 8 */ --- 252 unchanged lines hidden (view full) --- 261 .private_data = private_data, 262 }; 263 bool has_sleeper; 264 265 has_sleeper = wq_has_sleeper(&rqw->wait); 266 if (!has_sleeper && acquire_inflight_cb(rqw, private_data)) 267 return; 268 |
269 prepare_to_wait_exclusive(&rqw->wait, &data.wq, TASK_UNINTERRUPTIBLE); 270 has_sleeper = !wq_has_single_sleeper(&rqw->wait); | 269 has_sleeper = !prepare_to_wait_exclusive(&rqw->wait, &data.wq, 270 TASK_UNINTERRUPTIBLE); |
271 do { 272 /* The memory barrier in set_task_state saves us here. */ 273 if (data.got_token) 274 break; 275 if (!has_sleeper && acquire_inflight_cb(rqw, private_data)) { 276 finish_wait(&rqw->wait, &data.wq); 277 278 /* --- 26 unchanged lines hidden --- | 271 do { 272 /* The memory barrier in set_task_state saves us here. */ 273 if (data.got_token) 274 break; 275 if (!has_sleeper && acquire_inflight_cb(rqw, private_data)) { 276 finish_wait(&rqw->wait, &data.wq); 277 278 /* --- 26 unchanged lines hidden --- |