[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20080922043425.21118.24172.sendpatchset@localhost.localdomain>
Date: Mon, 22 Sep 2008 10:04:25 +0530
From: Krishna Kumar <krkumar2@...ibm.com>
To: linux-kernel@...r.kernel.org
Cc: Andrew Morton <akpm@...ux-foundation.org>,
Krishna Kumar <krkumar2@...ibm.com>
Subject: [RFC] [PATCH 0/1] timers: add_timer should never be called if pending
From: Krishna Kumar <krkumar2@...ibm.com>
(Hopefully this is not something that has been suggested earlier and rejected).
add_timer should never be called on a pending timer - such bugs should be
caught by reports generated by debug kernels. It is the responsibility of the
subsystem users to ensure that timers are not added twice. Using the
add_timer_on interface reduces the code that checks if the timer is pending,
the timer_base change, updating 'expires' two times, etc.
1. Single CPU, Single Timer: Add the same timer serially on one CPU - do this
many times.
Laptop (2 way Xeon): Saves 10.8%
ORG: Time: 35359
NEW: Time: 31527
Server (4 way x86-64): Saves 7.9%
ORG: Time: 4520
NEW: Time: 4164
2. Single CPU, Multiple Timer: Add different timers serially on one CPU - do
this many times.
Laptop (2 way Xeon): Saves 7.7%
ORG: Time: 133728
NEW: Time: 144822
Server (4 way x86-64): Saves 15.7%
ORG: Time: 69012
NEW: Time: 58186
3. Many CPU's, Single Timer: Add the same timer in parallel on all CPUs - do
this many times.
Laptop (2 way Xeon): Saves 14%
ORG: Time: 69845
NEW: Time: 60067
Server (4 way x86-64): Saves 21.8%
ORG: Time: 18047
NEW: Time: 14116
4. Many CPU's, Multiple Timer: Add different timers in parallel on all CPUs -
do this many times.
Laptop (2 way Xeon): Saves 47.1%
ORG: Time: 292173
NEW: Time: 154485
Server (4 way x86-64): Saves 8.23
ORG: Time: 319129
NEW: Time: 292842
--
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