[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <alpine.DEB.2.02.1307291146060.4089@ionos.tec.linutronix.de>
Date: Mon, 29 Jul 2013 12:18:11 +0200 (CEST)
From: Thomas Gleixner <tglx@...utronix.de>
To: "ethan.zhao" <ethan.kernel@...il.com>
cc: Ingo Molnar <mingo@...nel.org>,
LKML <linux-kernel@...r.kernel.org>, johlstei@...eaurora.org,
yinghai@...nel.org, joe.jin@...cle.com,
Peter Zijlstra <peterz@...radead.org>
Subject: Re: [PATCH V3]hrtimer: Fix a performance regression by disable
reprogramming in remove_hrtimer
On Sat, 27 Jul 2013, ethan.kernel@...il.com wrote:
> commit 968320b hrtimer: Fix extra wakeups from __remove_hrtimer()
> introduced a significant scheduler performance regression,
> following is the test:
This is not a commit in Linus tree. Which kernel version are you
talking about?
> We found the performance has 1.87775S(average value) down introduced
> by commit 968320b hrtimer: Fix extra wakeups from
> __remove_hrtimer(). That is more than -35% !
The test case does not involve anything hrtimer related. Do you have
CONFIG_SCHED_HRTICK enabled?
> So reprogramming in remove_hrtimer() is not necessary-----If I am
> wrong, just point out.
The reason why we want to do that is:
timer expiry time
A 100us -> programmed hardware event
B 2000us
Restart timer A with an expiry time of 3000us without reprogramming:
timer expiry time
NONE 100us -> programmed hardware event
B 2000us
A 3000us
We take an extra wakeup for reprogramming the hardware, which is
counterproductive for power saving. So disabling it blindly will cause
a regresssion for other people. We need to be smarter than that.
First of all we want to know, which particular hrtimer is causing that
issue. If it is the hrtick one, then I really have to ask why you want
to use it at all in such a high performance scenario.
Thanks,
tglx
--
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