diff options
author | Ingo Molnar <mingo@elte.hu> | 2009-07-18 15:50:22 +0200 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2009-07-18 15:50:40 +0200 |
commit | 5304d5fc74a269cc6c3e70f9713684ca729abdf0 (patch) | |
tree | 6a5db62915abd260241a2b9aee34086c93293ca6 /include/linux/sched.h | |
parent | 54d35f29f49224d86b994acb6e5969b9ba09022d (diff) | |
parent | 78af08d90b8f745044b1274430bc4bc6b2b27aca (diff) | |
download | blackbird-op-linux-5304d5fc74a269cc6c3e70f9713684ca729abdf0.tar.gz blackbird-op-linux-5304d5fc74a269cc6c3e70f9713684ca729abdf0.zip |
Merge branch 'linus' into sched/core
Merge reason: branch had an old upstream base (-rc1-ish), but also
merge to avoid a conflict.
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'include/linux/sched.h')
-rw-r--r-- | include/linux/sched.h | 25 |
1 files changed, 23 insertions, 2 deletions
diff --git a/include/linux/sched.h b/include/linux/sched.h index 5ba2c377bb5a..9bada20e2b23 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h @@ -351,8 +351,20 @@ extern int mutex_spin_on_owner(struct mutex *lock, struct thread_info *owner); struct nsproxy; struct user_namespace; -/* Maximum number of active map areas.. This is a random (large) number */ -#define DEFAULT_MAX_MAP_COUNT 65536 +/* + * Default maximum number of active map areas, this limits the number of vmas + * per mm struct. Users can overwrite this number by sysctl but there is a + * problem. + * + * When a program's coredump is generated as ELF format, a section is created + * per a vma. In ELF, the number of sections is represented in unsigned short. + * This means the number of sections should be smaller than 65535 at coredump. + * Because the kernel adds some informative sections to a image of program at + * generating coredump, we need some margin. The number of extra sections is + * 1-3 now and depends on arch. We use "5" as safe margin, here. + */ +#define MAPCOUNT_ELF_CORE_MARGIN (5) +#define DEFAULT_MAX_MAP_COUNT (USHORT_MAX - MAPCOUNT_ELF_CORE_MARGIN) extern int sysctl_max_map_count; @@ -488,6 +500,15 @@ struct task_cputime { .sum_exec_runtime = 0, \ } +/* + * Disable preemption until the scheduler is running. + * Reset by start_kernel()->sched_init()->init_idle(). + * + * We include PREEMPT_ACTIVE to avoid cond_resched() from working + * before the scheduler is active -- see should_resched(). + */ +#define INIT_PREEMPT_COUNT (1 + PREEMPT_ACTIVE) + /** * struct thread_group_cputimer - thread group interval timer counts * @cputime: thread group interval timers. |