The commit is pushed to "branch-rh7-3.10.0-229.7.2-ovz" and will appear at 
https://src.openvz.org/scm/ovz/vzkernel.git
after rh7-3.10.0-229.7.2.vz7.6.7
------>
commit 27d43fe0e073f5e40d5289ab336aae21990b53fc
Author: Vladimir Davydov <[email protected]>
Date:   Mon Sep 7 14:15:47 2015 +0400

    fs: account anon pipe buffers to memcg/kmem
    
    https://jira.sw.ru/browse/PSBM-39052
    
    Signed-off-by: Vladimir Davydov <[email protected]>
    Reviewed-by: Kirill Tkhai <[email protected]>
---
 fs/pipe.c | 13 ++++++++-----
 1 file changed, 8 insertions(+), 5 deletions(-)

diff --git a/fs/pipe.c b/fs/pipe.c
index 46f1ab264a4c..a09175176e37 100644
--- a/fs/pipe.c
+++ b/fs/pipe.c
@@ -223,9 +223,12 @@ static void anon_pipe_buf_release(struct pipe_inode_info 
*pipe,
         * temporary page, let's keep track of it as a one-deep
         * allocation cache. (Otherwise just release our reference to it)
         */
-       if (page_count(page) == 1 && !pipe->tmp_page)
-               pipe->tmp_page = page;
-       else
+       if (page_count(page) == 1) {
+               if (!pipe->tmp_page)
+                       pipe->tmp_page = page;
+               else
+                       __free_kmem_pages(page, 0);
+       } else
                page_cache_release(page);
 }
 
@@ -585,7 +588,7 @@ redo1:
                        size_t remaining;
 
                        if (!page) {
-                               page = alloc_page(GFP_HIGHUSER);
+                               page = alloc_kmem_pages(GFP_HIGHUSER, 0);
                                if (unlikely(!page)) {
                                        ret = ret ? : -ENOMEM;
                                        break;
@@ -822,7 +825,7 @@ void free_pipe_info(struct pipe_inode_info *pipe)
                        buf->ops->release(pipe, buf);
        }
        if (pipe->tmp_page)
-               __free_page(pipe->tmp_page);
+               __free_kmem_pages(pipe->tmp_page, 0);
        kfree(pipe->bufs);
        kfree(pipe);
 }
_______________________________________________
Devel mailing list
[email protected]
https://lists.openvz.org/mailman/listinfo/devel

Reply via email to