diff options
| author | KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com> | 2010-03-05 13:41:39 -0800 | 
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2010-03-06 11:26:23 -0800 | 
| commit | d559db086ff5be9bcc259e5aa50bf3d881eaf1d1 (patch) | |
| tree | aa968c8a4093234e4623a34c0415bf9d8683671c /include/linux/sched.h | |
| parent | 19b629f581320999ddb9f6597051b79cdb53459c (diff) | |
| download | olio-linux-3.10-d559db086ff5be9bcc259e5aa50bf3d881eaf1d1.tar.xz olio-linux-3.10-d559db086ff5be9bcc259e5aa50bf3d881eaf1d1.zip  | |
mm: clean up mm_counter
Presently, per-mm statistics counter is defined by macro in sched.h
This patch modifies it to
  - defined in mm.h as inlinf functions
  - use array instead of macro's name creation.
This patch is for reducing patch size in future patch to modify
implementation of per-mm counter.
Signed-off-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
Reviewed-by: Minchan Kim <minchan.kim@gmail.com>
Cc: Christoph Lameter <cl@linux-foundation.org>
Cc: Lee Schermerhorn <lee.schermerhorn@hp.com>
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/sched.h')
| -rw-r--r-- | include/linux/sched.h | 54 | 
1 files changed, 0 insertions, 54 deletions
diff --git a/include/linux/sched.h b/include/linux/sched.h index 4b1753f7e48..cbeafa49a53 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h @@ -396,60 +396,6 @@ extern void arch_unmap_area_topdown(struct mm_struct *, unsigned long);  static inline void arch_pick_mmap_layout(struct mm_struct *mm) {}  #endif -#if USE_SPLIT_PTLOCKS -/* - * The mm counters are not protected by its page_table_lock, - * so must be incremented atomically. - */ -#define set_mm_counter(mm, member, value) atomic_long_set(&(mm)->_##member, value) -#define get_mm_counter(mm, member) ((unsigned long)atomic_long_read(&(mm)->_##member)) -#define add_mm_counter(mm, member, value) atomic_long_add(value, &(mm)->_##member) -#define inc_mm_counter(mm, member) atomic_long_inc(&(mm)->_##member) -#define dec_mm_counter(mm, member) atomic_long_dec(&(mm)->_##member) - -#else  /* !USE_SPLIT_PTLOCKS */ -/* - * The mm counters are protected by its page_table_lock, - * so can be incremented directly. - */ -#define set_mm_counter(mm, member, value) (mm)->_##member = (value) -#define get_mm_counter(mm, member) ((mm)->_##member) -#define add_mm_counter(mm, member, value) (mm)->_##member += (value) -#define inc_mm_counter(mm, member) (mm)->_##member++ -#define dec_mm_counter(mm, member) (mm)->_##member-- - -#endif /* !USE_SPLIT_PTLOCKS */ - -#define get_mm_rss(mm)					\ -	(get_mm_counter(mm, file_rss) + get_mm_counter(mm, anon_rss)) -#define update_hiwater_rss(mm)	do {			\ -	unsigned long _rss = get_mm_rss(mm);		\ -	if ((mm)->hiwater_rss < _rss)			\ -		(mm)->hiwater_rss = _rss;		\ -} while (0) -#define update_hiwater_vm(mm)	do {			\ -	if ((mm)->hiwater_vm < (mm)->total_vm)		\ -		(mm)->hiwater_vm = (mm)->total_vm;	\ -} while (0) - -static inline unsigned long get_mm_hiwater_rss(struct mm_struct *mm) -{ -	return max(mm->hiwater_rss, get_mm_rss(mm)); -} - -static inline void setmax_mm_hiwater_rss(unsigned long *maxrss, -					 struct mm_struct *mm) -{ -	unsigned long hiwater_rss = get_mm_hiwater_rss(mm); - -	if (*maxrss < hiwater_rss) -		*maxrss = hiwater_rss; -} - -static inline unsigned long get_mm_hiwater_vm(struct mm_struct *mm) -{ -	return max(mm->hiwater_vm, mm->total_vm); -}  extern void set_dumpable(struct mm_struct *mm, int value);  extern int get_dumpable(struct mm_struct *mm);  |