Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752988AbdHNPpz (ORCPT ); Mon, 14 Aug 2017 11:45:55 -0400 Received: from userp1040.oracle.com ([156.151.31.81]:38910 "EHLO userp1040.oracle.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752938AbdHNPpy (ORCPT ); Mon, 14 Aug 2017 11:45:54 -0400 Subject: Re: [v3 1/2] sched/clock: interface to allow timestamps early in boot To: Dou Liyang , x86@kernel.org, linux-kernel@vger.kernel.org, mingo@redhat.com, peterz@infradead.org, tglx@linutronix.de, hpa@zytor.com References: <1502477455-314781-1-git-send-email-pasha.tatashin@oracle.com> <1502477455-314781-2-git-send-email-pasha.tatashin@oracle.com> <966f910e-f6be-f4df-2600-37133075dbde@cn.fujitsu.com> From: Pasha Tatashin Message-ID: <2043c873-1d94-8897-bbaa-bd1b82640652@oracle.com> Date: Mon, 14 Aug 2017 11:44:56 -0400 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.2.1 MIME-Version: 1.0 In-Reply-To: <966f910e-f6be-f4df-2600-37133075dbde@cn.fujitsu.com> Content-Type: text/plain; charset=gbk; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit X-Source-IP: userv0021.oracle.com [156.151.31.71] Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 998 Lines: 36 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