[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20180529211724.4531-6-josef@toxicpanda.com>
Date: Tue, 29 May 2018 17:17:16 -0400
From: Josef Bacik <josef@...icpanda.com>
To: axboe@...nel.dk, kernel-team@...com, linux-block@...r.kernel.org,
akpm@...ux-foundation.org, linux-mm@...ck.org, hannes@...xchg.org,
linux-kernel@...r.kernel.org, tj@...nel.org,
linux-fsdevel@...r.kernel.org
Subject: [PATCH 05/13] swap,blkcg: issue swap io with the appropriate context
From: Tejun Heo <tj@...nel.org>
For backcharging we need to know who the page belongs to when swapping
it out.
Signed-off-by: Tejun Heo <tj@...nel.org>
Signed-off-by: Josef Bacik <jbacik@...com>
---
mm/page_io.c | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/mm/page_io.c b/mm/page_io.c
index a552cb37e220..61e1268e5dbc 100644
--- a/mm/page_io.c
+++ b/mm/page_io.c
@@ -339,6 +339,16 @@ int __swap_writepage(struct page *page, struct writeback_control *wbc,
goto out;
}
bio->bi_opf = REQ_OP_WRITE | REQ_SWAP | wbc_to_write_flags(wbc);
+#if defined(CONFIG_MEMCG) && defined(CONFIG_BLK_CGROUP)
+ if (page->mem_cgroup) {
+ struct cgroup_subsys_state *blkcg_css;
+
+ blkcg_css = cgroup_get_e_css(page->mem_cgroup->css.cgroup,
+ &io_cgrp_subsys);
+ bio_associate_blkcg(bio, blkcg_css);
+ css_put(blkcg_css);
+ }
+#endif
count_swpout_vm_event(page);
set_page_writeback(page);
unlock_page(page);
--
2.14.3
Powered by blists - more mailing lists