From 7deaafd937dcb828a4117bf50252417783640631 Mon Sep 17 00:00:00 2001 From: Andrew Morton Date: Fri, 23 Mar 2012 15:01:56 -0700 Subject: [PATCH] --- yaml --- r: 295155 b: refs/heads/master c: b60f796c4ca72545327a069f12938360d833cce7 h: refs/heads/master i: 295153: bae5bf1c119b10072ce6f5cf4d8e77e6a2583c1d 295151: 6145372cf2b6fbfc1cf83905a23e991e4d0d3144 v: v3 --- [refs] | 2 +- trunk/kernel/watchdog.c | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index 01ebbdb0a16b..ec7d5513fe46 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 4501980aae221ed8120dee3491f799ecd75187ad +refs/heads/master: b60f796c4ca72545327a069f12938360d833cce7 diff --git a/trunk/kernel/watchdog.c b/trunk/kernel/watchdog.c index a01cb03b045a..df30ee08bdd4 100644 --- a/trunk/kernel/watchdog.c +++ b/trunk/kernel/watchdog.c @@ -349,6 +349,10 @@ static int watchdog(void *unused) set_current_state(TASK_INTERRUPTIBLE); } + /* + * Drop the policy/priority elevation during thread exit to avoid a + * scheduling latency spike. + */ __set_current_state(TASK_RUNNING); sched_setscheduler(current, SCHED_NORMAL, ¶m); return 0;