lkml.org 
[lkml]   [2014]   [Mar]   [25]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH 1/2] nohz: use seqlock to avoid race on idle time stats
On 03/24/2014 01:51 PM, Hidetoshi Seto wrote:
> (2014/03/24 16:45), Preeti Murthy wrote:
>> Hi Hidetoshi,
>>
>> The patch looks good to me except the comments around the monotonicity
>> of the return value of the idle stats observer. I am unable to relate them
>> to the dependency on nr_iowait_cpu.
>>
>> I see that when the reader queries for the idle stats and calls
>> get_cpu_idle_time_us(), the nr_iowait_cpu might be 0. When he later
>> queries get_cpu_iowait_time_us(), it may be >0 . Hence we will be
>> accounting for the idle time in both idle time and iowait time. This
>> is definitely a problem. But I do not understand what this has got to
>> do with the monotonicity of the time
>> returned. This is just for my understanding.
>
> Thank you for your comment!
>
> Ah yes, I think I could write better comments around here to clarify
> the monotonicity problem. (It will be happy if someone can give me
> such better sentence for here :-D)
>
> One important point is that readers do not update idle stats when they
> use these function. i.e.
>
> given:
> idle stats: idle=1000, iowait=100
> stamp at idle entry: entry=50
> nr tasks waiting io: nr_iowait=1
>
> 1st reader:
> query @ now=60
> idle=1000
> iowait=110 (=100+(60-50))
>
> (here nr_iowait changed to 0)
>
> 2nd reader:
> query @ now=70
> idle=1020 (=1000+(70-50))
> iowait=100
>
> So you will see iowait is decreased from 110 to 100.

Ah ok! I get it. Please do add my Reviewed-by to it.

>
> I hope this short story helps you.

Thanks!

Regards
Preeti U Murthy
>
> Thanks,
> H.Seto
>



\
 
 \ /
  Last update: 2014-03-25 07:21    [W:2.069 / U:0.020 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site