Re: [PATCH 01/14] blk-mq: kill q->mq_map

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

 




On 10/29/18 10:02 AM, jianchao.wang wrote:
> Hi Jens
> 
> On 10/28/18 12:52 AM, Jens Axboe wrote:
>> On 10/27/18 10:48 AM, Jens Axboe wrote:
>>> On 10/27/18 8:19 AM, jianchao.wang wrote:
>>>> Hi Jens
>>>>
>>>> On 10/26/18 5:16 AM, Jens Axboe wrote:
>>>>> It's just a pointer to set->mq_map, use that instead.
>>>> Instead of using the set->mq_map and then a two-dimensional set->mq_map,
>>>> how about migrate the mq_map from per-set to per-cpuctx ?
>>>> something like:
>>>> q->queue_hw_ctx[ctx->map[type]]
>>>
>>> I think the current series is pretty clean in that regard, it goes
>>> from members -> map -> map array. I'd be willing to look at a
>>> conversion on top of that, if it makes things cleaner.
>>
>> On top of that, this:
>>
>> q->queue_hw_ctx[set->map[type].mq_map[cpu]]
>>
>> is one less pointer dereference, so more efficient.
>>
> 
> Saving the blk_mq_hw_ctx into blk_mq_ctx direclty maybe more direct and efficient.
> something like,
> 
>    ctx->map_hctxs[type]
> 
> all of the memory accessing is local.
> 
> What we need to pay for this is do mapping for every request_queue.

Actually not, this could be done in blk_mq_map_swqueue.

> 
> Thanks
> Jianchao
> 
> 
> 



[Index of Archives]     [Linux RAID]     [Linux SCSI]     [Linux ATA RAID]     [IDE]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Device Mapper]

  Powered by Linux