On 3/22/19 9:04 AM, Peter Zijlstra wrote:
> On Fri, Mar 22, 2019 at 04:01:16PM +0100, Peter Zijlstra wrote:
>> On Fri, Mar 22, 2019 at 10:48:17PM +0800, Yufen Yu wrote:
>>> @@ -2710,7 +2710,7 @@ static struct blk_mq_hw_ctx 
>>> *blk_mq_alloc_and_init_hctx(
>>>             return NULL;
>>>     }
>>>  
>>> -   atomic_set(&hctx->nr_active, 0);
>>> +   refcount_set(&hctx->nr_active, 0);
>>>     hctx->numa_node = node;
>>>     hctx->queue_num = hctx_idx;
>>>  
>>
>> That looks bogus, refcount_t cannot inc-from-zero.
> 
> I also don't see a single dec_and_test in that patch, which leads me to
> believe nr_active is not in fact a refcount.

It isn't a refcount at all, it's just a count of how many queues are
active in a shared tag map scenario.

-- 
Jens Axboe

Reply via email to