aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHugh Dickins <hugh@veritas.com>2005-10-29 21:16:19 -0400
committerLinus Torvalds <torvalds@g5.osdl.org>2005-10-30 00:40:39 -0400
commitf449952bc8bde7fbc73c6d20dff92b627a21f8b9 (patch)
tree2d7dc4b7381274b1111c76e436b4a81d119f656a
parent365e9c87a982c03d0af3886e29d877f581b59611 (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.h19
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
330struct sighand_struct { 329struct sighand_struct {