From: Arun R Bharadwaj <arun@linux.vnet.ibm.com>
To: linux-kernel@vger.kernel.org, linux-pm@lists.linux-foundation.org
Cc: a.p.zijlstra@chello.nl, ego@in.ibm.com, tglx@linutronix.de,
mingo@elte.hu, andi@firstfloor.org,
venkatesh.pallipadi@intel.com, vatsa@linux.vnet.ibm.com,
arjan@infradead.org, svaidy@linux.vnet.ibm.com,
arun@linux.vnet.ibm.com
Subject: [v3 PATCH 0/4] timers: Framework for migration of timers
Date: Mon, 16 Mar 2009 16:40:45 +0530 [thread overview]
Message-ID: <20090316111045.GA4686@linux.vnet.ibm.com> (raw)
Hi,
In an SMP system, tasks are scheduled on different CPUs by the
scheduler, interrupts are managed by irqbalancer daemon, but timers
are still stuck to the CPUs that they have been initialised. Timers
queued by tasks gets re-queued on the CPU where the task gets to run
next, but timers from IRQ context like the ones in device drivers are
still stuck on the CPU they were initialised. This framework will
help move all 'movable timers' using a sysctl interface.
Iteration v2 of this patch can be found at
http://lkml.org/lkml/2009/3/4/130
Changelog: v2->v3
-removed the sysfs interface for enabling timer migration
and instead created a /proc/sys sysctl, which can turn off
timer_migration when CONFIG_SCHED_DEBUG =y.(as suggested by Ingo)
-modified the interface to identify pinned regular timers,
made it cleaner and simpler to understand.(as suggested by Oleg)
The following patches are included:
PATCH 1/4 - framework to identify pinned timers.
PATCH 2/4 - identifying the existing pinned hrtimers.
PATCH 3/4 - /proc/sys sysctl hook to enable timer migration.
PATCH 4/4 - logic to enable timer migration.
The patchset is based on the latest tip/master.
Timer migration is enabled by default as suggested by Ingo.
It can be turned off when CONFIG_SCHED_DEBUG=y by
echo 0 > /proc/sys/kernel/timer_migration
Benchmark tested: Kernbench
Kernbench results on an 2-socket, quad-core machine
Averaged over 3 iterations.
sched_mc_power_savings = 2
------------------------------------------------------------------------
|No. of Time taken(s) Time Taken(s) Time Taken(s) |
|Threads Patch Not Applied (Migration Disabled) (Migration Enabled) |
| |
| 32 64.02 64.05 63.73 |
| 16 63.31 63.71 62.91 |
| 8 67.20 67.38 67.32 |
| 4 115.67 114.72 114.54 |
| 2 222.21 220.63 218.13 |
------------------------------------------------------------------------
TODO:
-Yet to implement Oleg's comment on my previous post PATCH 4/4.
Current code seems to be working fine. Working on it to implement
what has been suggested.
Please let me know your comments.
--arun
next reply other threads:[~2009-03-16 11:11 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-03-16 11:10 Arun R Bharadwaj [this message]
2009-03-16 11:12 ` [v3 PATCH 1/4] timers: Framework for identifying pinned timers Arun R Bharadwaj
2009-03-16 11:13 ` [v3 PATCH 2/4] timers: Identifying the existing " Arun R Bharadwaj
2009-03-17 13:07 ` Thomas Gleixner
2009-03-18 4:36 ` Arun R Bharadwaj
2009-03-16 11:14 ` [v3 PATCH 3/4] timers: /proc/sys sysctl hook to enable timer migration Arun R Bharadwaj
2009-03-16 15:29 ` Alexey Dobriyan
2009-03-17 10:13 ` Ingo Molnar
2009-03-16 11:15 ` [v3 PATCH 4/4] timers: logic to move non pinned timers Arun R Bharadwaj
2009-03-17 10:22 ` Thomas Gleixner
2009-03-17 11:45 ` Arun R Bharadwaj
2009-03-17 13:01 ` Thomas Gleixner
2009-03-30 5:00 ` Arun R Bharadwaj
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20090316111045.GA4686@linux.vnet.ibm.com \
--to=arun@linux.vnet.ibm.com \
--cc=a.p.zijlstra@chello.nl \
--cc=andi@firstfloor.org \
--cc=arjan@infradead.org \
--cc=ego@in.ibm.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pm@lists.linux-foundation.org \
--cc=mingo@elte.hu \
--cc=svaidy@linux.vnet.ibm.com \
--cc=tglx@linutronix.de \
--cc=vatsa@linux.vnet.ibm.com \
--cc=venkatesh.pallipadi@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).