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

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

Reply via email to