Re: [v3 1/2] sched/clock: interface to allow timestamps early in boot

From: Dou Liyang
Date: Tue Aug 15 2017 - 05:27:28 EST


Hi Pasha,

At 08/14/2017 11:44 PM, Pasha Tatashin wrote:
Hi Dou,

Thank you for your comments:

{
x86_init.timers.timer_init();
tsc_init();
+ tsc_early_fini();

tsc_early_fini() is defined in patch 2, I guess you may miss it
when you split your patches.

Indeed, I will move it to patch 2.

+static DEFINE_STATIC_KEY_TRUE(__use_sched_clock_early);
+static bool __read_mostly sched_clock_early_running;
+

In my opinion, these two parameters are repetitive, I suggest remove
one.

eg. remove sched_clock_early_running like below
First, static DEFINE_STATIC_KEY_FALSE(__use_sched_clock_early);

We can't change the static branches before jump_label_init() is called,
and we start early boot timestamps before that


I understood, I was wrong, thanks for your explanation.

Thanks
dou.

This is why having two booleans is appropriate: one that can be changed
early in boot, and another to patch the hotcode in order to keep good
performance after boot.

I will update comment before __use_sched_clock_early explaining the
reason why we need two of them.

Thank you,
Pasha