diff options
author | Pavel Emelianov <xemul@openvz.org> | 2008-02-07 03:13:51 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2008-02-07 11:42:18 -0500 |
commit | 78fb74669e80883323391090e4d26d17fe29488f (patch) | |
tree | 9154b703510415ae87bdae8750c1054e79710c61 /include/linux/memcontrol.h | |
parent | 8cdea7c05454260c0d4d83503949c358eb131d17 (diff) |
Memory controller: accounting setup
Basic setup routines, the mm_struct has a pointer to the cgroup that
it belongs to and the the page has a page_cgroup associated with it.
Signed-off-by: Pavel Emelianov <xemul@openvz.org>
Signed-off-by: Balbir Singh <balbir@linux.vnet.ibm.com>
Cc: Paul Menage <menage@google.com>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: "Eric W. Biederman" <ebiederm@xmission.com>
Cc: Nick Piggin <nickpiggin@yahoo.com.au>
Cc: Kirill Korotaev <dev@sw.ru>
Cc: Herbert Poetzl <herbert@13thfloor.at>
Cc: David Rientjes <rientjes@google.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'include/linux/memcontrol.h')
-rw-r--r-- | include/linux/memcontrol.h | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/include/linux/memcontrol.h b/include/linux/memcontrol.h index 3f121b27677a..7d1f119c796e 100644 --- a/include/linux/memcontrol.h +++ b/include/linux/memcontrol.h | |||
@@ -3,6 +3,9 @@ | |||
3 | * Copyright IBM Corporation, 2007 | 3 | * Copyright IBM Corporation, 2007 |
4 | * Author Balbir Singh <balbir@linux.vnet.ibm.com> | 4 | * Author Balbir Singh <balbir@linux.vnet.ibm.com> |
5 | * | 5 | * |
6 | * Copyright 2007 OpenVZ SWsoft Inc | ||
7 | * Author: Pavel Emelianov <xemul@openvz.org> | ||
8 | * | ||
6 | * This program is free software; you can redistribute it and/or modify | 9 | * This program is free software; you can redistribute it and/or modify |
7 | * it under the terms of the GNU General Public License as published by | 10 | * it under the terms of the GNU General Public License as published by |
8 | * the Free Software Foundation; either version 2 of the License, or | 11 | * the Free Software Foundation; either version 2 of the License, or |
@@ -17,5 +20,38 @@ | |||
17 | #ifndef _LINUX_MEMCONTROL_H | 20 | #ifndef _LINUX_MEMCONTROL_H |
18 | #define _LINUX_MEMCONTROL_H | 21 | #define _LINUX_MEMCONTROL_H |
19 | 22 | ||
23 | struct mem_cgroup; | ||
24 | struct page_cgroup; | ||
25 | |||
26 | #ifdef CONFIG_CGROUP_MEM_CONT | ||
27 | |||
28 | extern void mm_init_cgroup(struct mm_struct *mm, struct task_struct *p); | ||
29 | extern void mm_free_cgroup(struct mm_struct *mm); | ||
30 | extern void page_assign_page_cgroup(struct page *page, | ||
31 | struct page_cgroup *pc); | ||
32 | extern struct page_cgroup *page_get_page_cgroup(struct page *page); | ||
33 | |||
34 | #else /* CONFIG_CGROUP_MEM_CONT */ | ||
35 | static inline void mm_init_cgroup(struct mm_struct *mm, | ||
36 | struct task_struct *p) | ||
37 | { | ||
38 | } | ||
39 | |||
40 | static inline void mm_free_cgroup(struct mm_struct *mm) | ||
41 | { | ||
42 | } | ||
43 | |||
44 | static inline void page_assign_page_cgroup(struct page *page, | ||
45 | struct page_cgroup *pc) | ||
46 | { | ||
47 | } | ||
48 | |||
49 | static inline struct page_cgroup *page_get_page_cgroup(struct page *page) | ||
50 | { | ||
51 | return NULL; | ||
52 | } | ||
53 | |||
54 | #endif /* CONFIG_CGROUP_MEM_CONT */ | ||
55 | |||
20 | #endif /* _LINUX_MEMCONTROL_H */ | 56 | #endif /* _LINUX_MEMCONTROL_H */ |
21 | 57 | ||