Re: [PATCH] memcg: make threshold index in the right position

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

 



On Thu, Feb 02, 2012 at 07:08:44PM +0800, Sha Zhengju wrote:
> On 02/02/2012 06:54 PM, Sha Zhengju wrote:
> >On 02/02/2012 06:14 PM, Kirill A. Shutemov wrote:
> >>On Thu, Feb 02, 2012 at 05:45:19PM +0800, Sha Zhengju wrote:
> >>>From: Sha Zhengju<handai.szj@xxxxxxxxxx>
> >>>
> >>>Index current_threshold may point to threshold that just equal to
> >>>usage after __mem_cgroup_threshold is triggerd.
> >>I don't see it. Could you describe conditions?
> >>
> >It is because of the following code path in __mem_cgroup_threshold:
> >{
> >    ...
> >        i = t->current_threshold;
> >
> >        for (; i >= 0 && unlikely(t->entries[i].threshold > usage); i--)
> >                eventfd_signal(t->entries[i].eventfd, 1);
> >        i++;
> >
> >        for (; i < t->size && unlikely(t->entries[i].threshold <=
> >usage); i++)
> >                eventfd_signal(t->entries[i].eventfd, 1);
> >
> >        t->current_threshold = i - 1;
> >    ...
> >}
> >
> >For example:
> >now:
> >    threshold array:  3  5  7  9   (usage = 6)
> >                                   ^
> >                                index
> >
> >next turn:
> >    threshold array:  3  5  7  9   (usage = 7)
> >                                       ^
> >                                    index
> >
> >after registering a new event(threshold = 10):
> >    threshold array:  3  5  7  9  10 (usage = 7)
> >                                   ^
> >                                index
> Err.. Sorry for showing inaccurate index position... (may because of
> the mail format)
> 
> now:
>     threshold array:  3  [5]  7  9   (usage = 6, index = 5)
> 
> next turn:
>     threshold array:  3  5  [7]  9   (usage = 7, index = 7)
> 
> after registering a new event(threshold = 10):
>     threshold array:  3  [5]  7  9  10 (usage = 7, index = 5)

Good catch! Thank you.

Reviewed-by: Kirill A. Shutemov <kirill@xxxxxxxxxxxxx>

-- 
 Kirill A. Shutemov

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@xxxxxxxxx.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
Don't email: <a href=mailto:"dont@xxxxxxxxx";> email@xxxxxxxxx </a>


[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]