diff options
| author | Justus Winter <4winter@informatik.uni-hamburg.de> | 2015-01-23 02:27:03 +0100 |
|---|---|---|
| committer | Justus Winter <4winter@informatik.uni-hamburg.de> | 2015-01-23 02:27:03 +0100 |
| commit | 8c81fffffb020bb632f701a155c280415b7027da (patch) | |
| tree | 759f83422c02e55d92298b1056fbf7a2f526c2c1 /debian/patches | |
| parent | 08e734472280d6f87a2de15684b1b1b97d1d8920 (diff) | |
add patch series
Diffstat (limited to 'debian/patches')
| -rw-r--r-- | debian/patches/0001-kern-fix-the-scheduler.patch | 47 | ||||
| -rw-r--r-- | debian/patches/series | 1 |
2 files changed, 48 insertions, 0 deletions
diff --git a/debian/patches/0001-kern-fix-the-scheduler.patch b/debian/patches/0001-kern-fix-the-scheduler.patch new file mode 100644 index 0000000..eb7cc28 --- /dev/null +++ b/debian/patches/0001-kern-fix-the-scheduler.patch @@ -0,0 +1,47 @@ +From 8cad221b598a9d5621d5d37b2a97ecd0ba47c61c Mon Sep 17 00:00:00 2001 +From: Justus Winter <4winter@informatik.uni-hamburg.de> +Date: Fri, 23 Jan 2015 02:22:18 +0100 +Subject: [PATCH gnumach] kern: fix the scheduler + +id:87tx46m4ls.fsf@schwinge.name + +As a normal user: + + $ rpctrace -o /tmp/expect.$$.rpctrace -s 99999 /usr/bin/expect + panic: thread_invoke: thread e19dc7e8 has unexpected state 14 + Debugger invoked: panic + [...] + +0x14 is TH_RUN|TH_HALTED. TH_RUN means a thread is running or on a +run queue, TH_HALTED means a thread is halted at a clean point. That +does sound reasonable. + +* kern/sched_prim.c (thread_invoke): Handle TH_RUN|TH_HALTED. +(thread_dispatch): Likewise. +--- + kern/sched_prim.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/kern/sched_prim.c b/kern/sched_prim.c +index 376217a..023bffb 100644 +--- a/kern/sched_prim.c ++++ b/kern/sched_prim.c +@@ -667,6 +667,7 @@ boolean_t thread_invoke( + switch (old_thread->state) { + case TH_RUN | TH_SUSP: + case TH_RUN | TH_SUSP | TH_HALTED: ++ case TH_RUN | TH_HALTED: + case TH_RUN | TH_WAIT | TH_SUSP: + /* + * Suspend the thread +@@ -924,6 +925,7 @@ void thread_dispatch( + switch (thread->state &~ TH_SWAP_STATE) { + case TH_RUN | TH_SUSP: + case TH_RUN | TH_SUSP | TH_HALTED: ++ case TH_RUN | TH_HALTED: + case TH_RUN | TH_WAIT | TH_SUSP: + /* + * Suspend the thread +-- +2.1.4 + diff --git a/debian/patches/series b/debian/patches/series index 102e3c8..7b52438 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -7,3 +7,4 @@ Add-some-padding-to-make-objects-fit-a-single-cache-.patch vm_cache_policy.patch task-load.patch +0001-kern-fix-the-scheduler.patch |
