summaryrefslogtreecommitdiff
path: root/debian
diff options
context:
space:
mode:
authorJustus Winter <4winter@informatik.uni-hamburg.de>2015-01-23 02:27:03 +0100
committerJustus Winter <4winter@informatik.uni-hamburg.de>2015-01-23 02:27:03 +0100
commit8c81fffffb020bb632f701a155c280415b7027da (patch)
tree759f83422c02e55d92298b1056fbf7a2f526c2c1 /debian
parent08e734472280d6f87a2de15684b1b1b97d1d8920 (diff)
add patch series
Diffstat (limited to 'debian')
-rw-r--r--debian/patches/0001-kern-fix-the-scheduler.patch47
-rw-r--r--debian/patches/series1
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