block: move bio_associate_blkg_from_page to mm/page_io.c
bio_associate_blkg_from_page is a special purpose helper for swap bios that doesn't need access to bio internals. Move it to the swap code instead of having it in bio.c. Acked-by: Tejun Heo <tj@kernel.org> Reviewed-by: Johannes Thumshirn <johannes.thumshirn@wdc.com> Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Jens Axboe <axboe@kernel.dk>
This commit is contained in:

committed by
Jens Axboe

parent
2badf06cf9
commit
a18b9b1590
17
mm/page_io.c
17
mm/page_io.c
@@ -277,6 +277,23 @@ static inline void count_swpout_vm_event(struct page *page)
|
||||
count_vm_events(PSWPOUT, hpage_nr_pages(page));
|
||||
}
|
||||
|
||||
#if defined(CONFIG_MEMCG) && defined(CONFIG_BLK_CGROUP)
|
||||
static void bio_associate_blkg_from_page(struct bio *bio, struct page *page)
|
||||
{
|
||||
struct cgroup_subsys_state *css;
|
||||
|
||||
if (!page->mem_cgroup)
|
||||
return;
|
||||
|
||||
rcu_read_lock();
|
||||
css = cgroup_e_css(page->mem_cgroup->css.cgroup, &io_cgrp_subsys);
|
||||
bio_associate_blkg_from_css(bio, css);
|
||||
rcu_read_unlock();
|
||||
}
|
||||
#else
|
||||
#define bio_associate_blkg_from_page(bio, page) do { } while (0)
|
||||
#endif /* CONFIG_MEMCG && CONFIG_BLK_CGROUP */
|
||||
|
||||
int __swap_writepage(struct page *page, struct writeback_control *wbc,
|
||||
bio_end_io_t end_write_func)
|
||||
{
|
||||
|
Reference in New Issue
Block a user