aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--include/linux/swap.h70
1 files changed, 38 insertions, 32 deletions
diff --git a/include/linux/swap.h b/include/linux/swap.h
index 83b95f343ab1..c2bd163a5e7e 100644
--- a/include/linux/swap.h
+++ b/include/linux/swap.h
@@ -350,39 +350,7 @@ extern void check_move_unevictable_pages(struct page **, int nr_pages);
350 350
351extern int kswapd_run(int nid); 351extern int kswapd_run(int nid);
352extern void kswapd_stop(int nid); 352extern void kswapd_stop(int nid);
353#ifdef CONFIG_MEMCG
354static inline int mem_cgroup_swappiness(struct mem_cgroup *memcg)
355{
356 /* root ? */
357 if (mem_cgroup_disabled() || !memcg->css.parent)
358 return vm_swappiness;
359
360 return memcg->swappiness;
361}
362 353
363#else
364static inline int mem_cgroup_swappiness(struct mem_cgroup *mem)
365{
366 return vm_swappiness;
367}
368#endif
369#ifdef CONFIG_MEMCG_SWAP
370extern void mem_cgroup_swapout(struct page *page, swp_entry_t entry);
371extern int mem_cgroup_try_charge_swap(struct page *page, swp_entry_t entry);
372extern void mem_cgroup_uncharge_swap(swp_entry_t entry);
373#else
374static inline void mem_cgroup_swapout(struct page *page, swp_entry_t entry)
375{
376}
377static inline int mem_cgroup_try_charge_swap(struct page *page,
378 swp_entry_t entry)
379{
380 return 0;
381}
382static inline void mem_cgroup_uncharge_swap(swp_entry_t entry)
383{
384}
385#endif
386#ifdef CONFIG_SWAP 354#ifdef CONFIG_SWAP
387/* linux/mm/page_io.c */ 355/* linux/mm/page_io.c */
388extern int swap_readpage(struct page *); 356extern int swap_readpage(struct page *);
@@ -561,5 +529,43 @@ static inline swp_entry_t get_swap_page(void)
561} 529}
562 530
563#endif /* CONFIG_SWAP */ 531#endif /* CONFIG_SWAP */
532
533#ifdef CONFIG_MEMCG
534static inline int mem_cgroup_swappiness(struct mem_cgroup *memcg)
535{
536 /* root ? */
537 if (mem_cgroup_disabled() || !memcg->css.parent)
538 return vm_swappiness;
539
540 return memcg->swappiness;
541}
542
543#else
544static inline int mem_cgroup_swappiness(struct mem_cgroup *mem)
545{
546 return vm_swappiness;
547}
548#endif
549
550#ifdef CONFIG_MEMCG_SWAP
551extern void mem_cgroup_swapout(struct page *page, swp_entry_t entry);
552extern int mem_cgroup_try_charge_swap(struct page *page, swp_entry_t entry);
553extern void mem_cgroup_uncharge_swap(swp_entry_t entry);
554#else
555static inline void mem_cgroup_swapout(struct page *page, swp_entry_t entry)
556{
557}
558
559static inline int mem_cgroup_try_charge_swap(struct page *page,
560 swp_entry_t entry)
561{
562 return 0;
563}
564
565static inline void mem_cgroup_uncharge_swap(swp_entry_t entry)
566{
567}
568#endif
569
564#endif /* __KERNEL__*/ 570#endif /* __KERNEL__*/
565#endif /* _LINUX_SWAP_H */ 571#endif /* _LINUX_SWAP_H */