Re: [PATCH 4/8] blk-mq: Facilitate a shared sbitmap per tagset

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 11/26/19 2:59 PM, John Garry wrote:
> 
>> +        blk_mq_free_tags(tags);
>>   }
>>     struct blk_mq_tags *blk_mq_alloc_rq_map(struct blk_mq_tag_set *set,
>>                       unsigned int hctx_idx,
>>                       unsigned int nr_tags,
>> -                    unsigned int reserved_tags)
>> +                    unsigned int reserved_tags,
>> +                    bool shared_tags)
>>   {
>>       struct blk_mq_tags *tags;
>>       int node;
>> @@ -2096,8 +2098,9 @@ struct blk_mq_tags *blk_mq_alloc_rq_map(struct
>> blk_mq_tag_set *set,
>>       if (node == NUMA_NO_NODE)
>>           node = set->numa_node;
>>   -    tags = blk_mq_init_tags(nr_tags, reserved_tags, node,
>> -                BLK_MQ_FLAG_TO_ALLOC_POLICY(set->flags));
>> +    tags = blk_mq_init_tags(set, nr_tags, reserved_tags, node,
>> +                BLK_MQ_FLAG_TO_ALLOC_POLICY(set->flags),
>> +                shared_tags);
>>       if (!tags)
>>           return NULL;
>>   @@ -2105,7 +2108,8 @@ struct blk_mq_tags *blk_mq_alloc_rq_map(struct
>> blk_mq_tag_set *set,
>>                    GFP_NOIO | __GFP_NOWARN | __GFP_NORETRY,
>>                    node);
>>       if (!tags->rqs) {
>> -        blk_mq_free_tags(tags);
>> +        if (!blk_mq_is_sbitmap_shared(set))
>> +            blk_mq_free_tags(tags);
> 
> Don't we still need to free the tags memory but not have the
> blk_mq_free_tags()->sbitmap_queue_free() calls in case of shared tags?
> 

Ah, indeed, you are right.
Oh, well, another round.

Cheers,

Hannes
-- 
Dr. Hannes Reinecke		      Teamlead Storage & Networking
hare@xxxxxxx			                  +49 911 74053 688
SUSE Software Solutions Germany GmbH, Maxfeldstr. 5, 90409 Nürnberg
HRB 36809 (AG Nürnberg), GF: Felix Imendörffer



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [SCSI Target Devel]     [Linux SCSI Target Infrastructure]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Samba]     [Device Mapper]

  Powered by Linux