On 7/30/2016 7:54 AM, Akinobu Mita wrote:
> 2016-07-28 22:18 GMT+09:00 Khan, Imran <kim...@codeaurora.org>:
>>
>> Hi,
>>
>> Recently we have observed some increased latency in CPU hotplug
>> event in CPU online path. For online latency we see that block
>> layer is executing notification handler for CPU_UP_PREPARE event
>> and this in turn waits for RCU grace period resulting (sometimes)
>> in an execution time of 15-20 ms for this notification handler.
>> This change was not there in 3.18 kernel but is present in 4.4
>> kernel and was introduced by following commit:
>>
>>
>> commit 5778322e67ed34dc9f391a4a5cbcbb856071ceba
>> Author: Akinobu Mita <akinobu.m...@gmail.com>
>> Date:   Sun Sep 27 02:09:23 2015 +0900
>>
>>     blk-mq: avoid inserting requests before establishing new mapping
> 
> ...
> 
>> Upon reverting this commit I could see an improvement of 15-20 ms in
>> online latency. So I am looking for some help in analyzing the effects
>> of reverting this or should some other approach to reduce the online
>> latency must be taken.
> 
> Can you observe the difference in online latency by removing
> get_online_cpus() and put_online_cpus() pair in blk_mq_init_allocated_queue()
> instead of full reverting the commit?
> 
Hi Akinobu,
I tried your suggestion but could not achieve any improvement. Actually the 
snippet that is causing the change in latency is the following one :

list_for_each_entry(q, &all_q_list, all_q_node) {
                blk_mq_freeze_queue_wait(q);

                /*
                 * timeout handler can't touch hw queue during the
                 * reinitialization
                 */
                del_timer_sync(&q->timeout);
 }

I understand that this is getting executed now for CPU_UP_PREPARE as well 
resulting in 
increased latency in the cpu online path. I am trying to reduce this latency 
while keeping the 
purpose of this commit intact. I would welcome further suggestions/feedback in 
this regard.

-- 
Imran Khan
QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a\nmember of 
the Code Aurora Forum, hosted by The Linux Foundation

Reply via email to