diff options
author | Hugh Dickins <hugh@veritas.com> | 2005-10-29 21:16:19 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2005-10-30 00:40:39 -0400 |
commit | f449952bc8bde7fbc73c6d20dff92b627a21f8b9 (patch) | |
tree | 2d7dc4b7381274b1111c76e436b4a81d119f656a | |
parent | 365e9c87a982c03d0af3886e29d877f581b59611 (diff) |
[PATCH] mm: mm_struct hiwaters moved
Slight and timid rearrangement of mm_struct: hiwater_rss and hiwater_vm were
tacked on the end, but it seems better to keep them near _file_rss, _anon_rss
and total_vm, in the same cacheline on those arches verified.
There are likely to be more profitable rearrangements, but less obvious (is it
good or bad that saved_auxv[AT_VECTOR_SIZE] isolates cpu_vm_mask and context
from many others?), needing serious instrumentation.
Signed-off-by: Hugh Dickins <hugh@veritas.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-rw-r--r-- | include/linux/sched.h | 19 |
1 files changed, 9 insertions, 10 deletions
diff --git a/include/linux/sched.h b/include/linux/sched.h index a9c0b7d26303..292cb57ce38f 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h | |||
@@ -291,16 +291,19 @@ struct mm_struct { | |||
291 | * by mmlist_lock | 291 | * by mmlist_lock |
292 | */ | 292 | */ |
293 | 293 | ||
294 | unsigned long start_code, end_code, start_data, end_data; | ||
295 | unsigned long start_brk, brk, start_stack; | ||
296 | unsigned long arg_start, arg_end, env_start, env_end; | ||
297 | unsigned long total_vm, locked_vm, shared_vm; | ||
298 | unsigned long exec_vm, stack_vm, reserved_vm, def_flags, nr_ptes; | ||
299 | |||
300 | /* Special counters protected by the page_table_lock */ | 294 | /* Special counters protected by the page_table_lock */ |
301 | mm_counter_t _file_rss; | 295 | mm_counter_t _file_rss; |
302 | mm_counter_t _anon_rss; | 296 | mm_counter_t _anon_rss; |
303 | 297 | ||
298 | unsigned long hiwater_rss; /* High-watermark of RSS usage */ | ||
299 | unsigned long hiwater_vm; /* High-water virtual memory usage */ | ||
300 | |||
301 | unsigned long total_vm, locked_vm, shared_vm, exec_vm; | ||
302 | unsigned long stack_vm, reserved_vm, def_flags, nr_ptes; | ||
303 | unsigned long start_code, end_code, start_data, end_data; | ||
304 | unsigned long start_brk, brk, start_stack; | ||
305 | unsigned long arg_start, arg_end, env_start, env_end; | ||
306 | |||
304 | unsigned long saved_auxv[AT_VECTOR_SIZE]; /* for /proc/PID/auxv */ | 307 | unsigned long saved_auxv[AT_VECTOR_SIZE]; /* for /proc/PID/auxv */ |
305 | 308 | ||
306 | unsigned dumpable:2; | 309 | unsigned dumpable:2; |
@@ -320,11 +323,7 @@ struct mm_struct { | |||
320 | /* aio bits */ | 323 | /* aio bits */ |
321 | rwlock_t ioctx_list_lock; | 324 | rwlock_t ioctx_list_lock; |
322 | struct kioctx *ioctx_list; | 325 | struct kioctx *ioctx_list; |
323 | |||
324 | struct kioctx default_kioctx; | 326 | struct kioctx default_kioctx; |
325 | |||
326 | unsigned long hiwater_rss; /* High-water RSS usage */ | ||
327 | unsigned long hiwater_vm; /* High-water virtual memory usage */ | ||
328 | }; | 327 | }; |
329 | 328 | ||
330 | struct sighand_struct { | 329 | struct sighand_struct { |