Thread (7 messages) 7 messages, 3 authors, 2012-02-03

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

From: Kirill A. Shutemov <hidden>
Date: 2012-02-02 12:26:54
Also in: linux-mm

On Thu, Feb 02, 2012 at 07:08:44PM +0800, Sha Zhengju wrote:
On 02/02/2012 06:54 PM, Sha Zhengju wrote:
quoted
On 02/02/2012 06:14 PM, Kirill A. Shutemov wrote:
quoted
On Thu, Feb 02, 2012 at 05:45:19PM +0800, Sha Zhengju wrote:
quoted
From: Sha Zhengju<redacted>

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 <redacted>

-- 
 Kirill A. Shutemov
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help