From 5e8c7c54a9b297dae0081dd19a7bb94e23040a3d Mon Sep 17 00:00:00 2001 From: Joshua Lock Date: Tue, 18 May 2010 14:51:13 +0100 Subject: linux-moblin: add 2.6.33.2 kernel from MeeGo 1.0 Signed-off-by: Joshua Lock --- .../linux-2.6.34-ondemand-fix-3-7.patch | 62 ++++++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100644 meta-moblin/packages/linux/linux-moblin-2.6.33.2/linux-2.6.34-ondemand-fix-3-7.patch (limited to 'meta-moblin/packages/linux/linux-moblin-2.6.33.2/linux-2.6.34-ondemand-fix-3-7.patch') diff --git a/meta-moblin/packages/linux/linux-moblin-2.6.33.2/linux-2.6.34-ondemand-fix-3-7.patch b/meta-moblin/packages/linux/linux-moblin-2.6.33.2/linux-2.6.34-ondemand-fix-3-7.patch new file mode 100644 index 000000000..56c09f7bf --- /dev/null +++ b/meta-moblin/packages/linux/linux-moblin-2.6.33.2/linux-2.6.34-ondemand-fix-3-7.patch @@ -0,0 +1,62 @@ +>From 60851b131900af03bf013afef69f3bcdbb04f1d6 Mon Sep 17 00:00:00 2001 +From: Arjan van de Ven +Date: Sun, 18 Apr 2010 10:41:30 -0700 +Subject: [PATCH 3/7] sched: update the idle statistics in get_cpu_idle_time_us() +Patch-mainline: in -mm tree as of 19 Apr 2010 + +Right now, get_cpu_idle_time_us() only reports the idle statistics +upto the point the CPU entered last idle; not what is valid right now. + +This patch adds an update of the idle statistics to get_cpu_idle_time_us(), +so that calling this function always returns statistics that are accurate +at the point of the call. + +This includes resetting the start of the idle time for accounting purposes +to avoid double accounting. + +Signed-off-by: Arjan van de Ven +--- + kernel/time/tick-sched.c | 7 ++++++- + 1 files changed, 6 insertions(+), 1 deletions(-) + +diff --git a/kernel/time/tick-sched.c b/kernel/time/tick-sched.c +index ca2211d..7dbad2f 100644 +--- a/kernel/time/tick-sched.c ++++ b/kernel/time/tick-sched.c +@@ -161,6 +161,7 @@ static void update_ts_time_stats(struct tick_sched *ts, ktime_t now) + if (ts->idle_active) { + delta = ktime_sub(now, ts->idle_entrytime); + ts->idle_sleeptime = ktime_add(ts->idle_sleeptime, delta); ++ ts->idle_entrytime = now; + } + } + +@@ -205,14 +206,18 @@ static ktime_t tick_nohz_start_idle(struct tick_sched *ts) + u64 get_cpu_idle_time_us(int cpu, u64 *last_update_time) + { + struct tick_sched *ts = &per_cpu(tick_cpu_sched, cpu); ++ ktime_t now; + + if (!tick_nohz_enabled) + return -1; + ++ now = ktime_get(); ++ update_ts_time_stats(ts, now); ++ + if (ts->idle_active) + *last_update_time = ktime_to_us(ts->idle_lastupdate); + else +- *last_update_time = ktime_to_us(ktime_get()); ++ *last_update_time = ktime_to_us(now); + + return ktime_to_us(ts->idle_sleeptime); + } +-- +1.6.2.5 + +-- +To unsubscribe from this list: send the line "unsubscribe linux-kernel" in +the body of a message to majordomo@vger.kernel.org +More majordomo info at http://vger.kernel.org/majordomo-info.html +Please read the FAQ at http://www.tux.org/lkml/ + -- cgit v1.2.3