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 11:00 AM, Jens Axboe wrote:
> 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.
> 

Yes, got it.
Thanks for your kindly response.

Sincerely
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