[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <cover.1401902905.git.luto@amacapital.net>
Date: Wed, 4 Jun 2014 10:31:13 -0700
From: Andy Lutomirski <luto@...capital.net>
To: Peter Zijlstra <peterz@...radead.org>, umgwanakikbuti@...il.com
Cc: mingo@...nel.org, tglx@...utronix.de, nicolas.pitre@...aro.org,
daniel.lezcano@...aro.org, linux-kernel@...r.kernel.org,
Andy Lutomirski <luto@...capital.net>
Subject: [PATCH v2 0/5] sched: Cleanup and improve polling idle loops
This series reduces the number of IPIs on my workload by something like
99%. It's down from many hundreds per second to very few.
The basic idea behind this series is to make TIF_POLLING_NRFLAG be a
reliable indication that the idle task is polling. Once that's done,
the rest is reasonably straightforward.
Patches 1 and 2 are related improvements: patch 1 teaches the cpuidle
polling loop how to poll, and patch 2 adds tracepoints so that avoided
IPIs are visible. Patch 3 is the main semantic change, patch 4 is
cleanup, and patch 5 is peterz's code, rebased on top of my stuff, and
fixed up a bit.
Changes from v1:
- Squashed the two idle loop rearrangement patches.
- Improved comments.
Andy Lutomirski (4):
cpuidle: Set polling in poll_idle
sched,trace: Add a tracepoint for IPI-less remote wakeups
sched,idle: Clear polling before descheduling the idle thread
sched,idle: Simplify wake_up_idle_cpu
Peter Zijlstra (1):
sched: Optimize ttwu IPI
drivers/cpuidle/driver.c | 7 ++--
include/trace/events/sched.h | 20 +++++++++++
kernel/sched/core.c | 79 +++++++++++++++++++++++++++++---------------
kernel/sched/idle.c | 30 ++++++++++++++++-
kernel/sched/sched.h | 6 ++++
5 files changed, 113 insertions(+), 29 deletions(-)
--
1.9.3
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists