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

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

 



On 10/28/18 8:40 PM, jianchao.wang wrote:
> 
> 
> 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.

I'm not interested in pursuing this for this series. If you want
to work on it on top and have it tested and evaluated separately,
then that's obviously fine. But there's no point in mixing it
up with these changes, as it's an orthogonal change.

-- 
Jens Axboe




[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