The commit is pushed to "branch-rh7-3.10.0-862.14.4.vz7.72.x-ovz" and will 
appear at https://src.openvz.org/scm/ovz/vzkernel.git
after rh7-3.10.0-862.14.4.vz7.72.11
------>
commit c322a6f3894906a47613166668ff63e4744b5439
Author: Andrey Ryabinin <aryabi...@virtuozzo.com>
Date:   Thu Oct 18 16:17:35 2018 +0300

    mm/tcache: rebalance tree if isolation failed
    
    tcache_lru_isolate() doesn't rebalance reclaim tree if isolation
    failed. If the first pool in tree is empty, without rebalancing it
    may stay first indefinitely long preventing reclaim.
    
    https://jira.sw.ru/browse/PSBM-89403
    Signed-off-by: Andrey Ryabinin <aryabi...@virtuozzo.com>
    Acked-by: Kirill Tkhai <ktk...@virtuozzo.com>
---
 mm/tcache.c | 5 +----
 1 file changed, 1 insertion(+), 4 deletions(-)

diff --git a/mm/tcache.c b/mm/tcache.c
index 960450bb825e..eb9c9dea4e51 100644
--- a/mm/tcache.c
+++ b/mm/tcache.c
@@ -1109,9 +1109,6 @@ tcache_lru_isolate(int nid, struct page **pages, int 
nr_to_isolate)
        spin_lock_irq(&pni->lock);
        nr_isolated = __tcache_lru_isolate(pni, pages, nr_to_isolate);
 
-       if (!nr_isolated)
-               goto unlock;
-
        if (!RB_EMPTY_NODE(rbn) || !list_empty(&pni->lru)) {
                spin_lock(&ni->lock);
                if (!RB_EMPTY_NODE(rbn))
@@ -1123,7 +1120,7 @@ tcache_lru_isolate(int nid, struct page **pages, int 
nr_to_isolate)
                update_ni_rb_first(ni);
                spin_unlock(&ni->lock);
        }
-unlock:
+
        spin_unlock_irq(&pni->lock);
        tcache_put_pool(pni->pool);
 out:

_______________________________________________
Devel mailing list
Devel@openvz.org
https://lists.openvz.org/mailman/listinfo/devel

Reply via email to