diff options
| author | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-12-20 14:53:41 -0500 |
|---|---|---|
| committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-12-20 14:53:41 -0500 |
| commit | faa4877f023bafa35239d411b160955dc0629fe9 (patch) | |
| tree | 786e746ad7a1e8485b17b33d9865e0128d51f6cc | |
| parent | 17eb2c3b56afe72f76330b5db657c8b4fc98aa39 (diff) | |
| parent | 2c3b20e91fe3a083c5d9bc79437c485866ea251c (diff) | |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/mingo/linux-2.6-sched
* git://git.kernel.org/pub/scm/linux/kernel/git/mingo/linux-2.6-sched:
debug: add end-of-oops marker
sched: rt: account the cpu time during the tick
| -rw-r--r-- | kernel/panic.c | 18 | ||||
| -rw-r--r-- | kernel/sched_rt.c | 2 |
2 files changed, 20 insertions, 0 deletions
diff --git a/kernel/panic.c b/kernel/panic.c index 6f6e03e915..da4d6bac27 100644 --- a/kernel/panic.c +++ b/kernel/panic.c | |||
| @@ -19,6 +19,7 @@ | |||
| 19 | #include <linux/nmi.h> | 19 | #include <linux/nmi.h> |
| 20 | #include <linux/kexec.h> | 20 | #include <linux/kexec.h> |
| 21 | #include <linux/debug_locks.h> | 21 | #include <linux/debug_locks.h> |
| 22 | #include <linux/random.h> | ||
| 22 | 23 | ||
| 23 | int panic_on_oops; | 24 | int panic_on_oops; |
| 24 | int tainted; | 25 | int tainted; |
| @@ -266,12 +267,29 @@ void oops_enter(void) | |||
| 266 | } | 267 | } |
| 267 | 268 | ||
| 268 | /* | 269 | /* |
| 270 | * 64-bit random ID for oopses: | ||
| 271 | */ | ||
| 272 | static u64 oops_id; | ||
| 273 | |||
| 274 | static int init_oops_id(void) | ||
| 275 | { | ||
| 276 | if (!oops_id) | ||
| 277 | get_random_bytes(&oops_id, sizeof(oops_id)); | ||
| 278 | |||
| 279 | return 0; | ||
| 280 | } | ||
| 281 | late_initcall(init_oops_id); | ||
| 282 | |||
| 283 | /* | ||
| 269 | * Called when the architecture exits its oops handler, after printing | 284 | * Called when the architecture exits its oops handler, after printing |
| 270 | * everything. | 285 | * everything. |
| 271 | */ | 286 | */ |
| 272 | void oops_exit(void) | 287 | void oops_exit(void) |
| 273 | { | 288 | { |
| 274 | do_oops_enter_exit(); | 289 | do_oops_enter_exit(); |
| 290 | init_oops_id(); | ||
| 291 | printk(KERN_WARNING "---[ end trace %016llx ]---\n", | ||
| 292 | (unsigned long long)oops_id); | ||
| 275 | } | 293 | } |
| 276 | 294 | ||
| 277 | #ifdef CONFIG_CC_STACKPROTECTOR | 295 | #ifdef CONFIG_CC_STACKPROTECTOR |
diff --git a/kernel/sched_rt.c b/kernel/sched_rt.c index ee9c8b6529..9ba3daa034 100644 --- a/kernel/sched_rt.c +++ b/kernel/sched_rt.c | |||
| @@ -208,6 +208,8 @@ move_one_task_rt(struct rq *this_rq, int this_cpu, struct rq *busiest, | |||
| 208 | 208 | ||
| 209 | static void task_tick_rt(struct rq *rq, struct task_struct *p) | 209 | static void task_tick_rt(struct rq *rq, struct task_struct *p) |
| 210 | { | 210 | { |
| 211 | update_curr_rt(rq); | ||
| 212 | |||
| 211 | /* | 213 | /* |
| 212 | * RR tasks need a special form of timeslice management. | 214 | * RR tasks need a special form of timeslice management. |
| 213 | * FIFO tasks have no timeslices. | 215 | * FIFO tasks have no timeslices. |
