lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [day] [month] [year] [list]
Message-ID: <4A96FF44.8060208@codeaurora.org>
Date:	Thu, 27 Aug 2009 17:48:52 -0400
From:	Ashwin Chaugule <ashwinc@...eaurora.org>
To:	linux-kernel@...r.kernel.org, mingo@...hat.com, tglx@...utronix.de
Subject: [RFC] [PATCH 0/1] hrtimers: Remove unnecessary clock events device
 programming


hrtimer_force_reprogram() was being called quite often unnecessarily. 
The following patch caches the hrtimer that causes the 
cpu_base->expires_next value to change. This way, we force the reprogram 
only when remove_hrtimer() finds that its going to remove an hrtimer 
which was about expire next. IOW, we forgo reprogramming the clock 
events device, if the current timer to be removed isn't at the root of 
the expires tree.

Also removed the hrtimer_is_queued check from remove_hrtimer and made 
appropriate changes to all callers. That check seemed redundant.


Results:

Shows ~60% reduction in the following calls to program clock events device.
-  tick_nohz_restart_sched_tick (tick_sched_timer)
-  hrtimer_start (tick_sched_timer)

I haven't traced all the callers yet, this was from a hack to 
timer_stats. If you guys have a better way to test this, I'll give that 
a go.

Tested on v2.6.29 on an ARM based embedded device.

Cheers,
Ashwin
--
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

Powered by Openwall GNU/*/Linux Powered by OpenVZ