From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932674AbbFIJGI (ORCPT ); Tue, 9 Jun 2015 05:06:08 -0400 Received: from cantor2.suse.de ([195.135.220.15]:38136 "EHLO mx2.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932167AbbFIJFt (ORCPT ); Tue, 9 Jun 2015 05:05:49 -0400 Date: Tue, 9 Jun 2015 11:05:43 +0200 From: Borislav Petkov To: Huang Rui Cc: Andy Lutomirski , Thomas Gleixner , Peter Zijlstra , "Rafael J. Wysocki" , Len Brown , John Stultz , =?utf-8?B?RnLDqWTDqXJpYw==?= Weisbecker , linux-kernel@vger.kernel.org, x86@kernel.org, Fengguang Wu , Aaron Lu , Suravee Suthikulanit , Tony Li , Ken Xue Subject: Re: [PATCH v2 2/4] x86, mwaitt: make delay method configurable Message-ID: <20150609090543.GA22105@pd.tnic> References: <1433819621-15093-1-git-send-email-ray.huang@amd.com> <1433819621-15093-3-git-send-email-ray.huang@amd.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <1433819621-15093-3-git-send-email-ray.huang@amd.com> User-Agent: Mutt/1.5.23 (2014-03-12) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, Jun 09, 2015 at 11:13:39AM +0800, Huang Rui wrote: > This patch introduces a kernel parameter (delay), user is able to configure > it at boot loader to choose different types of delay method. > > Default schema is to use TSC delay. This update can be more flexiable to > add new delay method. > > Suggested-by: Suravee Suthikulanit > Signed-off-by: Huang Rui > --- > arch/x86/include/asm/delay.h | 7 +++++++ > arch/x86/kernel/setup.c | 19 +++++++++++++++++++ > arch/x86/lib/delay.c | 12 +++++++++++- > 3 files changed, 37 insertions(+), 1 deletion(-) > > diff --git a/arch/x86/include/asm/delay.h b/arch/x86/include/asm/delay.h > index 9b3b4f2..99873ec 100644 > --- a/arch/x86/include/asm/delay.h > +++ b/arch/x86/include/asm/delay.h > @@ -5,4 +5,11 @@ > > void use_tsc_delay(void); > > +extern unsigned long boot_option_delay; > + > +enum delay_type { > + DELAY_LOOP=0, > + DELAY_TSC, > +}; > + > #endif /* _ASM_X86_DELAY_H */ > diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c > index 0b10698..cc2886d 100644 > --- a/arch/x86/kernel/setup.c > +++ b/arch/x86/kernel/setup.c > @@ -111,6 +111,7 @@ > #include > #include > #include > +#include > > /* > * max_low_pfn_mapped: highest direct mapped pfn under 4GB > @@ -844,6 +845,24 @@ dump_kernel_offset(struct notifier_block *self, unsigned long v, void *p) > return 0; > } > > +static int __init delay_setup(char *str) > +{ > + if (!str) > + return -EINVAL; > + > + if (!strcmp(str, "tsc")) { > + pr_info("using tsc delay\n"); > + boot_option_delay = DELAY_TSC; > + } else if (!strcmp(str, "loop")) { > + pr_info("using loop delay\n"); > + boot_option_delay = DELAY_LOOP; > + } else > + return -1; What Peter said. And we did talk about this already in the last review. You guys want to drop all those kernel parameters and use MWAITX delay by default when: 1. HW supports MWAITX *and* 2. delay fits in u32. Kernel parameters is a bad bad idea. -- Regards/Gruss, Boris. ECO tip #101: Trim your mails when you reply. --