From: Nicolai Stange <nicstange@gmail.com>
To: Thomas Gleixner <tglx@linutronix.de>
Cc: Nicolai Stange <nicstange@gmail.com>,
John Stultz <john.stultz@linaro.org>,
linux-kernel@vger.kernel.org
Subject: Re: [RFC v7 00/23] adapt clockevents frequencies to mono clock
Date: Wed, 21 Sep 2016 01:08:36 +0200 [thread overview]
Message-ID: <877fa641aj.fsf@gmail.com> (raw)
In-Reply-To: <alpine.DEB.2.20.1609202251290.5476@nanos> (Thomas Gleixner's message of "Tue, 20 Sep 2016 22:54:02 +0200 (CEST)")
Thomas Gleixner <tglx@linutronix.de> writes:
> On Fri, 16 Sep 2016, Nicolai Stange wrote:
>
>> Goal: avoid programming ced devices too early for large deltas, for
>> details, c.f. the description of [21/23].
>>
>> [21-23/23] Actually do the frequency adjustments.
>>
>> Tested on x86_64 and next-20160916.
>
> Have you ever measured the overhead of the extra work which has to be done
> in clockevents_adjust_all_freqs() ?
Not exactly, I had a look at its invocation frequency which seems to
decay exponentially with uptime, presumably because the NTP error
approaches zero.
However, I've just gathered a function_graph ftrace on my Intel
i7-4800MQ (Haswell, 8HTs):
# tracer: function_graph
#
# TIME CPU DURATION FUNCTION CALLS
# | | | | | | | |
85.287027 | 0) 0.899 us | clockevents_adjust_all_freqs();
85.288026 | 0) 0.759 us | clockevents_adjust_all_freqs();
85.289026 | 0) 0.735 us | clockevents_adjust_all_freqs();
85.290026 | 0) 0.671 us | clockevents_adjust_all_freqs();
149.503656 | 2) 2.477 us | clockevents_adjust_all_freqs();
149.507660 | 2) 2.308 us | clockevents_adjust_all_freqs();
149.511658 | 2) 2.651 us | clockevents_adjust_all_freqs();
149.545660 | 0) 2.268 us | clockevents_adjust_all_freqs();
149.564211 | 2) 2.321 us | clockevents_adjust_all_freqs();
214.351899 | 2) 1.520 us | clockevents_adjust_all_freqs();
214.354935 | 0) 1.053 us | clockevents_adjust_all_freqs();
279.026205 | 0) 2.289 us | clockevents_adjust_all_freqs();
279.030195 | 0) 2.190 us | clockevents_adjust_all_freqs();
279.034196 | 0) 2.381 us | clockevents_adjust_all_freqs();
279.047492 | 2) 2.390 us | clockevents_adjust_all_freqs();
344.250356 | 1) 2.727 us | clockevents_adjust_all_freqs();
408.879538 | 1) 2.235 us | clockevents_adjust_all_freqs();
473.125730 | 6) 1.513 us | clockevents_adjust_all_freqs();
473.129731 | 6) 1.650 us | clockevents_adjust_all_freqs();
538.387891 | 3) 2.305 us | clockevents_adjust_all_freqs();
538.391890 | 3) 2.300 us | clockevents_adjust_all_freqs();
668.257162 | 3) 2.691 us | clockevents_adjust_all_freqs();
668.261162 | 3) 2.306 us | clockevents_adjust_all_freqs();
733.459261 | 0) 1.066 us | clockevents_adjust_all_freqs();
733.463261 | 0) 1.233 us | clockevents_adjust_all_freqs();
733.467263 | 1) 1.382 us | clockevents_adjust_all_freqs();
863.398561 | 2) 2.218 us | clockevents_adjust_all_freqs();
863.402552 | 2) 2.792 us | clockevents_adjust_all_freqs();
1122.210001 | 3) 2.259 us | clockevents_adjust_all_freqs();
1122.214004 | 3) 2.165 us | clockevents_adjust_all_freqs();
1381.283287 | 2) 1.944 us | clockevents_adjust_all_freqs();
1895.664008 | 2) 1.940 us | clockevents_adjust_all_freqs();
1895.668009 | 2) 2.041 us | clockevents_adjust_all_freqs();
2930.385388 | 0) 1.067 us | clockevents_adjust_all_freqs();
2930.386390 | 5) 1.208 us | clockevents_adjust_all_freqs();
Thanks,
Nicolai
next prev parent reply other threads:[~2016-09-20 23:08 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-09-16 20:08 [RFC v7 00/23] adapt clockevents frequencies to mono clock Nicolai Stange
2016-09-16 20:08 ` [RFC v7 01/23] clocksource: sh_cmt: compute rate before registration again Nicolai Stange
2016-09-16 20:08 ` [RFC v7 02/23] clocksource: sh_tmu: " Nicolai Stange
2016-09-16 20:08 ` [RFC v7 03/23] clocksource: em_sti: split clock prepare and enable steps Nicolai Stange
2016-09-16 20:08 ` [RFC v7 04/23] clocksource: em_sti: compute rate before registration Nicolai Stange
2016-09-16 20:08 ` [RFC v7 05/23] clocksource: h8300_timer8: don't reset rate in ->set_state_oneshot() Nicolai Stange
2016-09-16 20:08 ` [RFC v7 06/23] clockevents: make clockevents_config() static Nicolai Stange
2016-09-16 20:08 ` [RFC v7 07/23] many clockevent drivers: set ->min_delta_ticks and ->max_delta_ticks Nicolai Stange
2016-09-16 20:08 ` [RFC v7 08/23] arch/s390/kernel/time: " Nicolai Stange
2016-09-16 20:08 ` [RFC v7 09/23] arch/x86/platform/uv/uv_time: " Nicolai Stange
2016-09-16 20:08 ` [RFC v7 10/23] arch/tile/kernel/time: " Nicolai Stange
2016-09-16 20:08 ` [RFC v7 11/23] clockevents: always initialize ->min_delta_ns and ->max_delta_ns Nicolai Stange
2016-09-16 20:11 ` [RFC v7 12/23] many clockevent drivers: don't set " Nicolai Stange
2016-09-16 20:11 ` [RFC v7 13/23] clockevents: introduce CLOCK_EVT_FEAT_NO_ADJUST flag Nicolai Stange
2016-09-16 20:11 ` [RFC v7 14/23] clockevents: decouple ->max_delta_ns from ->max_delta_ticks Nicolai Stange
2016-09-16 20:11 ` [RFC v7 15/23] clockevents: do comparison of delta against minimum in terms of cycles Nicolai Stange
2016-09-16 20:11 ` [RFC v7 16/23] clockevents: clockevents_program_min_delta(): don't set ->next_event Nicolai Stange
2016-09-16 20:11 ` [RFC v7 17/23] clockevents: use ->min_delta_ticks_adjusted to program minimum delta Nicolai Stange
2016-09-16 20:11 ` [RFC v7 18/23] clockevents: min delta increment: calculate min_delta_ns from ticks Nicolai Stange
2016-09-16 20:12 ` [RFC v7 19/23] timer_list: print_tickdevice(): calculate ->min_delta_ns dynamically Nicolai Stange
2016-09-16 20:12 ` [RFC v7 20/23] clockevents: purge ->min_delta_ns Nicolai Stange
2016-09-16 20:12 ` [RFC v7 21/23] clockevents: initial support for mono to raw time conversion Nicolai Stange
2016-09-16 20:12 ` [RFC v7 22/23] clockevents: make setting of ->mult and ->mult_adjusted atomic Nicolai Stange
2016-09-16 20:27 ` [RFC v7 23/23] timekeeping: inform clockevents about freq adjustments Nicolai Stange
2016-09-20 20:54 ` [RFC v7 00/23] adapt clockevents frequencies to mono clock Thomas Gleixner
2016-09-20 23:08 ` Nicolai Stange [this message]
2016-09-20 23:36 ` Thomas Gleixner
2016-09-21 14:06 ` Nicolai Stange
2016-09-22 21:39 ` Thomas Gleixner
2016-09-22 22:39 ` Nicolai Stange
2016-09-26 10:15 ` Nicolai Stange
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=877fa641aj.fsf@gmail.com \
--to=nicstange@gmail.com \
--cc=john.stultz@linaro.org \
--cc=linux-kernel@vger.kernel.org \
--cc=tglx@linutronix.de \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.