Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1649844 > unrolled thread

[PATCH] x86/timers: Move simple_udelay_calibration past init_hypervisor_platform

Started byJan Kiszka <jan.kiszka@siemens.com>
First post2017-05-24 20:10 +0200
Last post2017-05-28 18:50 +0200
Articles 5 — 4 participants

Back to article view | Back to linux.kernel


Contents

  [PATCH] x86/timers: Move simple_udelay_calibration past  init_hypervisor_platform Jan Kiszka <jan.kiszka@siemens.com> - 2017-05-24 20:10 +0200
    Re: [PATCH] x86/timers: Move simple_udelay_calibration past  init_hypervisor_platform Lu Baolu <baolu.lu@linux.intel.com> - 2017-05-25 03:40 +0200
    [tip:x86/urgent] x86/timers: Move simple_udelay_calibration past  init_hypervisor_platform tip-bot for Jan Kiszka <tipbot@zytor.com> - 2017-05-26 14:10 +0200
    Re: [PATCH] x86/timers: Move simple_udelay_calibration past init_hypervisor_platform Andy Shevchenko <andy.shevchenko@gmail.com> - 2017-05-27 03:40 +0200
      Re: [PATCH] x86/timers: Move simple_udelay_calibration past  init_hypervisor_platform Jan Kiszka <jan.kiszka@siemens.com> - 2017-05-28 18:50 +0200

#1649844 — [PATCH] x86/timers: Move simple_udelay_calibration past init_hypervisor_platform

FromJan Kiszka <jan.kiszka@siemens.com>
Date2017-05-24 20:10 +0200
Subject[PATCH] x86/timers: Move simple_udelay_calibration past init_hypervisor_platform
Message-ID<tKITo-5Hs-11@gated-at.bofh.it>
This ensures that adjustments to x86_platform done by the hypervisor
setup is already respected by this simple calibration.

The current user of this, introduced by 1b5aeebf3a92 ("x86/earlyprintk:
Add support for earlyprintk via USB3 debug port"), comes much later
into play.

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
---
 arch/x86/kernel/setup.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c
index 0b4d3c686b1e..f81823695014 100644
--- a/arch/x86/kernel/setup.c
+++ b/arch/x86/kernel/setup.c
@@ -980,8 +980,6 @@ void __init setup_arch(char **cmdline_p)
 	 */
 	x86_configure_nx();
 
-	simple_udelay_calibration();
-
 	parse_early_param();
 
 #ifdef CONFIG_MEMORY_HOTPLUG
@@ -1041,6 +1039,8 @@ void __init setup_arch(char **cmdline_p)
 	 */
 	init_hypervisor_platform();
 
+	simple_udelay_calibration();
+
 	x86_init.resources.probe_roms();
 
 	/* after parse_early_param, so could debug it */

[toc] | [next] | [standalone]


#1650104

FromLu Baolu <baolu.lu@linux.intel.com>
Date2017-05-25 03:40 +0200
Message-ID<tKPUR-1xw-1@gated-at.bofh.it>
In reply to#1649844

On 05/25/2017 02:04 AM, Jan Kiszka wrote:
> This ensures that adjustments to x86_platform done by the hypervisor
> setup is already respected by this simple calibration.
>
> The current user of this, introduced by 1b5aeebf3a92 ("x86/earlyprintk:
> Add support for earlyprintk via USB3 debug port"), comes much later
> into play.

Acked-by: Lu Baolu <baolu.lu@linux.intel.com>

>
> Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
> ---
>  arch/x86/kernel/setup.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c
> index 0b4d3c686b1e..f81823695014 100644
> --- a/arch/x86/kernel/setup.c
> +++ b/arch/x86/kernel/setup.c
> @@ -980,8 +980,6 @@ void __init setup_arch(char **cmdline_p)
>  	 */
>  	x86_configure_nx();
>  
> -	simple_udelay_calibration();
> -
>  	parse_early_param();
>  
>  #ifdef CONFIG_MEMORY_HOTPLUG
> @@ -1041,6 +1039,8 @@ void __init setup_arch(char **cmdline_p)
>  	 */
>  	init_hypervisor_platform();
>  
> +	simple_udelay_calibration();
> +
>  	x86_init.resources.probe_roms();
>  
>  	/* after parse_early_param, so could debug it */
>

[toc] | [prev] | [next] | [standalone]


#1651345 — [tip:x86/urgent] x86/timers: Move simple_udelay_calibration past init_hypervisor_platform

Fromtip-bot for Jan Kiszka <tipbot@zytor.com>
Date2017-05-26 14:10 +0200
Subject[tip:x86/urgent] x86/timers: Move simple_udelay_calibration past init_hypervisor_platform
Message-ID<tLme5-5KW-1@gated-at.bofh.it>
In reply to#1649844
Commit-ID:  702644ec1cab10ffefcebb4060d4da46d4ef2c7f
Gitweb:     http://git.kernel.org/tip/702644ec1cab10ffefcebb4060d4da46d4ef2c7f
Author:     Jan Kiszka <jan.kiszka@siemens.com>
AuthorDate: Wed, 24 May 2017 20:04:41 +0200
Committer:  Thomas Gleixner <tglx@linutronix.de>
CommitDate: Fri, 26 May 2017 13:04:09 +0200

x86/timers: Move simple_udelay_calibration past init_hypervisor_platform

This ensures that adjustments to x86_platform done by the hypervisor
setup is already respected by this simple calibration.

The current user of this, introduced by 1b5aeebf3a92 ("x86/earlyprintk:
Add support for earlyprintk via USB3 debug port"), comes much later
into play.

Fixes: dd759d93f4dd ("x86/timers: Add simple udelay calibration")
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Acked-by: Lu Baolu <baolu.lu@linux.intel.com>
Link: http://lkml.kernel.org/r/5e89fe60-aab3-2c1c-aba8-32f8ad376189@siemens.com

---
 arch/x86/kernel/setup.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c
index 0b4d3c6..f818236 100644
--- a/arch/x86/kernel/setup.c
+++ b/arch/x86/kernel/setup.c
@@ -980,8 +980,6 @@ void __init setup_arch(char **cmdline_p)
 	 */
 	x86_configure_nx();
 
-	simple_udelay_calibration();
-
 	parse_early_param();
 
 #ifdef CONFIG_MEMORY_HOTPLUG
@@ -1041,6 +1039,8 @@ void __init setup_arch(char **cmdline_p)
 	 */
 	init_hypervisor_platform();
 
+	simple_udelay_calibration();
+
 	x86_init.resources.probe_roms();
 
 	/* after parse_early_param, so could debug it */

[toc] | [prev] | [next] | [standalone]


#1651705 — Re: [PATCH] x86/timers: Move simple_udelay_calibration past init_hypervisor_platform

FromAndy Shevchenko <andy.shevchenko@gmail.com>
Date2017-05-27 03:40 +0200
SubjectRe: [PATCH] x86/timers: Move simple_udelay_calibration past init_hypervisor_platform
Message-ID<tLyRZ-4YN-41@gated-at.bofh.it>
In reply to#1649844
+Cc Mathias

On Wed, May 24, 2017 at 9:04 PM, Jan Kiszka <jan.kiszka@siemens.com> wrote:
> This ensures that adjustments to x86_platform done by the hypervisor
> setup is already respected by this simple calibration.
>
> The current user of this, introduced by 1b5aeebf3a92 ("x86/earlyprintk:
> Add support for earlyprintk via USB3 debug port"), comes much later
> into play.
>

Can you elaborate a bit what is the issue you are experience?

> Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
> ---
>  arch/x86/kernel/setup.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c
> index 0b4d3c686b1e..f81823695014 100644
> --- a/arch/x86/kernel/setup.c
> +++ b/arch/x86/kernel/setup.c
> @@ -980,8 +980,6 @@ void __init setup_arch(char **cmdline_p)
>          */
>         x86_configure_nx();
>
> -       simple_udelay_calibration();
> -
>         parse_early_param();
>
>  #ifdef CONFIG_MEMORY_HOTPLUG
> @@ -1041,6 +1039,8 @@ void __init setup_arch(char **cmdline_p)
>          */
>         init_hypervisor_platform();
>
> +       simple_udelay_calibration();
> +
>         x86_init.resources.probe_roms();
>
>         /* after parse_early_param, so could debug it */



-- 
With Best Regards,
Andy Shevchenko

[toc] | [prev] | [next] | [standalone]


#1652174

FromJan Kiszka <jan.kiszka@siemens.com>
Date2017-05-28 18:50 +0200
Message-ID<tM9y9-4t4-1@gated-at.bofh.it>
In reply to#1651705
On 2017-05-27 01:04, Andy Shevchenko wrote:
> +Cc Mathias
> 
> On Wed, May 24, 2017 at 9:04 PM, Jan Kiszka <jan.kiszka@siemens.com> wrote:
>> This ensures that adjustments to x86_platform done by the hypervisor
>> setup is already respected by this simple calibration.
>>
>> The current user of this, introduced by 1b5aeebf3a92 ("x86/earlyprintk:
>> Add support for earlyprintk via USB3 debug port"), comes much later
>> into play.
>>
> 
> Can you elaborate a bit what is the issue you are experience?

I stumbled over this while rebasing the patches to boot Linux over the
Jailhouse hypervisor (as non-root cell). Those come with hypervisor
setup code that changes relevant callbacks because Jailhouse does not
virtualize most of the platform devices and simply denies access.

While these patches are still out-of-tree (will propose later this
year), the issue seen here is conceptual: e.g., calibration is pointless
if the hypervisor has a PV channel to report the required parameters -
like vmware.

Jan

-- 
Siemens AG, Corporate Technology, CT RDA ITP SES-DE
Corporate Competence Center Embedded Linux

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web