* [PATCH] Add Intel Ivy bridge CPU flags
@ 2013-01-23 17:43 Alec Bickerton
2013-01-24 10:53 ` Michal Marek
2013-01-24 17:41 ` Sam Ravnborg
0 siblings, 2 replies; 7+ messages in thread
From: Alec Bickerton @ 2013-01-23 17:43 UTC (permalink / raw)
To: linux-kbuild
[-- Attachment #1: Type: text/plain, Size: 313 bytes --]
Hi,
I'd like to submit the attached patch to add Ivy Bridge processor support to the
processor type menu in menuconfig. Setting this configures the appropriate
CFLAGS (core-avx-i) for ivy bridge.
As this is my first kbuild patch, could somebody review it and let me know what
I've done wrong. ;-)
Thanks
Alec.
[-- Attachment #2: 0001-Added-Ivy-bridge-to-menu.patch --]
[-- Type: text/x-patch, Size: 2807 bytes --]
From 2eaf7717da5b7f753c66e2158d29744aafbc2a0c Mon Sep 17 00:00:00 2001
From: Alec Bickerton <alec.bickerton@gmail.com>
Date: Mon, 1 Oct 2012 21:12:55 +0200
Subject: [PATCH] Added Ivy bridge to menu
---
arch/x86/Kconfig.cpu | 5 +++++
arch/x86/Makefile | 5 ++++-
arch/x86/Makefile_32.cpu | 1 +
arch/x86/include/asm/module.h | 2 ++
4 files changed, 12 insertions(+), 1 deletion(-)
diff --git a/arch/x86/Kconfig.cpu b/arch/x86/Kconfig.cpu
index f3b86d0..e7834c0 100644
--- a/arch/x86/Kconfig.cpu
+++ b/arch/x86/Kconfig.cpu
@@ -267,6 +267,11 @@ config MCORE2
53xx) CPUs. You can distinguish newer from older Xeons by the CPU
family in /proc/cpuinfo. Newer ones have 6 and older ones 15
(not a typo)
+config MIVYBRIDGE
+ bool "Intel Ivy Bridge"
+ --help--
+
+ Select this foe Intel 3770K family processors.
config MATOM
bool "Intel Atom"
diff --git a/arch/x86/Makefile b/arch/x86/Makefile
index 474ca35..e945e58 100644
--- a/arch/x86/Makefile
+++ b/arch/x86/Makefile
@@ -61,7 +61,10 @@ else
cflags-$(CONFIG_MPSC) += $(call cc-option,-march=nocona)
cflags-$(CONFIG_MCORE2) += \
- $(call cc-option,-march=core2,$(call cc-option,-mtune=generic))
+ $(call cc-option,-march=core2,$(call cc-option,-mtune=generic)
+ )
+ cflags-$(CONFIG_MIVYBRIDGE) += \
+ $(call cc-option,-march=core-avx-i,$(call cc-option,-mtune=generic))
cflags-$(CONFIG_MATOM) += $(call cc-option,-march=atom) \
$(call cc-option,-mtune=atom,$(call cc-option,-mtune=generic))
cflags-$(CONFIG_GENERIC_CPU) += $(call cc-option,-mtune=generic)
diff --git a/arch/x86/Makefile_32.cpu b/arch/x86/Makefile_32.cpu
index 86cee7b..f5194ff 100644
--- a/arch/x86/Makefile_32.cpu
+++ b/arch/x86/Makefile_32.cpu
@@ -33,6 +33,7 @@ cflags-$(CONFIG_MCYRIXIII) += $(call cc-option,-march=c3,-march=i486) $(align)-f
cflags-$(CONFIG_MVIAC3_2) += $(call cc-option,-march=c3-2,-march=i686)
cflags-$(CONFIG_MVIAC7) += -march=i686
cflags-$(CONFIG_MCORE2) += -march=i686 $(call tune,core2)
+cflags-$(CONFIG_MIVYBRIDGE) += -march=i686 $(call tune,core-avx-i)
cflags-$(CONFIG_MATOM) += $(call cc-option,-march=atom,$(call cc-option,-march=core2,-march=i686)) \
$(call cc-option,-mtune=atom,$(call cc-option,-mtune=generic))
diff --git a/arch/x86/include/asm/module.h b/arch/x86/include/asm/module.h
index 9eae775..758a438 100644
--- a/arch/x86/include/asm/module.h
+++ b/arch/x86/include/asm/module.h
@@ -17,6 +17,8 @@
#define MODULE_PROC_FAMILY "586MMX "
#elif defined CONFIG_MCORE2
#define MODULE_PROC_FAMILY "CORE2 "
+#elif defined CONFIG_MIVYBRIDGE
+#define MODULE_PROC_FAMILY "IVYBRIDGE"
#elif defined CONFIG_MATOM
#define MODULE_PROC_FAMILY "ATOM "
#elif defined CONFIG_M686
--
1.7.10.4
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH] Add Intel Ivy bridge CPU flags
2013-01-23 17:43 [PATCH] Add Intel Ivy bridge CPU flags Alec Bickerton
@ 2013-01-24 10:53 ` Michal Marek
2013-01-24 11:13 ` Borislav Petkov
2013-01-24 17:41 ` Sam Ravnborg
1 sibling, 1 reply; 7+ messages in thread
From: Michal Marek @ 2013-01-24 10:53 UTC (permalink / raw)
To: Alec Bickerton; +Cc: linux-kbuild, x86, linux-kernel
On Wed, Jan 23, 2013 at 06:43:17PM +0100, Alec Bickerton wrote:
> Hi,
>
> I'd like to submit the attached patch to add Ivy Bridge processor support to the
> processor type menu in menuconfig. Setting this configures the appropriate
> CFLAGS (core-avx-i) for ivy bridge.
>
> As this is my first kbuild patch, could somebody review it and let me know what
> I've done wrong. ;-)
You sent it to linux-kbuild instead of x86@kernel.org. The kbuild
maintainer is not really knowledgeable about gcc optimisation options ;).
Nevertheless, some random comments are below. Note that I am not
saying if the config option is useful or not.
>
> Thanks
> Alec.
> From 2eaf7717da5b7f753c66e2158d29744aafbc2a0c Mon Sep 17 00:00:00 2001
> From: Alec Bickerton <alec.bickerton@gmail.com>
> Date: Mon, 1 Oct 2012 21:12:55 +0200
> Subject: [PATCH] Added Ivy bridge to menu
>
> ---
> arch/x86/Kconfig.cpu | 5 +++++
> arch/x86/Makefile | 5 ++++-
> arch/x86/Makefile_32.cpu | 1 +
> arch/x86/include/asm/module.h | 2 ++
> 4 files changed, 12 insertions(+), 1 deletion(-)
>
> diff --git a/arch/x86/Kconfig.cpu b/arch/x86/Kconfig.cpu
> index f3b86d0..e7834c0 100644
> --- a/arch/x86/Kconfig.cpu
> +++ b/arch/x86/Kconfig.cpu
> @@ -267,6 +267,11 @@ config MCORE2
> 53xx) CPUs. You can distinguish newer from older Xeons by the CPU
> family in /proc/cpuinfo. Newer ones have 6 and older ones 15
> (not a typo)
> +config MIVYBRIDGE
Keep the options separate by blank lines.
> + bool "Intel Ivy Bridge"
> + --help--
> +
> + Select this foe Intel 3770K family processors.
>
> config MATOM
> bool "Intel Atom"
> diff --git a/arch/x86/Makefile b/arch/x86/Makefile
> index 474ca35..e945e58 100644
> --- a/arch/x86/Makefile
> +++ b/arch/x86/Makefile
> @@ -61,7 +61,10 @@ else
> cflags-$(CONFIG_MPSC) += $(call cc-option,-march=nocona)
>
> cflags-$(CONFIG_MCORE2) += \
> - $(call cc-option,-march=core2,$(call cc-option,-mtune=generic))
> + $(call cc-option,-march=core2,$(call cc-option,-mtune=generic)
> + )
No need to touch this?
> + cflags-$(CONFIG_MIVYBRIDGE) += \
> + $(call cc-option,-march=core-avx-i,$(call cc-option,-mtune=generic))
> cflags-$(CONFIG_MATOM) += $(call cc-option,-march=atom) \
> $(call cc-option,-mtune=atom,$(call cc-option,-mtune=generic))
> cflags-$(CONFIG_GENERIC_CPU) += $(call cc-option,-mtune=generic)
> diff --git a/arch/x86/Makefile_32.cpu b/arch/x86/Makefile_32.cpu
> index 86cee7b..f5194ff 100644
> --- a/arch/x86/Makefile_32.cpu
> +++ b/arch/x86/Makefile_32.cpu
> @@ -33,6 +33,7 @@ cflags-$(CONFIG_MCYRIXIII) += $(call cc-option,-march=c3,-march=i486) $(align)-f
> cflags-$(CONFIG_MVIAC3_2) += $(call cc-option,-march=c3-2,-march=i686)
> cflags-$(CONFIG_MVIAC7) += -march=i686
> cflags-$(CONFIG_MCORE2) += -march=i686 $(call tune,core2)
> +cflags-$(CONFIG_MIVYBRIDGE) += -march=i686 $(call tune,core-avx-i)
> cflags-$(CONFIG_MATOM) += $(call cc-option,-march=atom,$(call cc-option,-march=core2,-march=i686)) \
> $(call cc-option,-mtune=atom,$(call cc-option,-mtune=generic))
>
> diff --git a/arch/x86/include/asm/module.h b/arch/x86/include/asm/module.h
> index 9eae775..758a438 100644
> --- a/arch/x86/include/asm/module.h
> +++ b/arch/x86/include/asm/module.h
> @@ -17,6 +17,8 @@
> #define MODULE_PROC_FAMILY "586MMX "
> #elif defined CONFIG_MCORE2
> #define MODULE_PROC_FAMILY "CORE2 "
> +#elif defined CONFIG_MIVYBRIDGE
> +#define MODULE_PROC_FAMILY "IVYBRIDGE"
Missing trailing space.
> #elif defined CONFIG_MATOM
> #define MODULE_PROC_FAMILY "ATOM "
> #elif defined CONFIG_M686
> --
> 1.7.10.4
>
Michal
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH] Add Intel Ivy bridge CPU flags
2013-01-24 10:53 ` Michal Marek
@ 2013-01-24 11:13 ` Borislav Petkov
0 siblings, 0 replies; 7+ messages in thread
From: Borislav Petkov @ 2013-01-24 11:13 UTC (permalink / raw)
To: Michal Marek; +Cc: Alec Bickerton, linux-kbuild, x86, linux-kernel
On Thu, Jan 24, 2013 at 11:53:43AM +0100, Michal Marek wrote:
> On Wed, Jan 23, 2013 at 06:43:17PM +0100, Alec Bickerton wrote:
> > Hi,
> >
> > I'd like to submit the attached patch to add Ivy Bridge processor support to the
> > processor type menu in menuconfig. Setting this configures the appropriate
> > CFLAGS (core-avx-i) for ivy bridge.
> >
> > As this is my first kbuild patch, could somebody review it and let me know what
> > I've done wrong. ;-)
>
> You sent it to linux-kbuild instead of x86@kernel.org. The kbuild
> maintainer is not really knowledgeable about gcc optimisation options ;).
> Nevertheless, some random comments are below. Note that I am not
> saying if the config option is useful or not.
Normally, such optimizations have a little effect on the kernel because
it doesn't normally use fpu stuff and the rest of the instructions
we need, we add ourselves (see arch/x86/include/asm/archrandom.h for
RDRAND, for example).
So, first we'd need persuasive benchmark numbers which show that a
kernel built with core-avx-i is faster at some representative workload
than mtune=generic one...
Thanks.
--
Regards/Gruss,
Boris.
Sent from a fat crate under my desk. Formatting is fine.
--
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH] Add Intel Ivy bridge CPU flags
2013-01-23 17:43 [PATCH] Add Intel Ivy bridge CPU flags Alec Bickerton
2013-01-24 10:53 ` Michal Marek
@ 2013-01-24 17:41 ` Sam Ravnborg
2013-01-30 3:34 ` H. Peter Anvin
1 sibling, 1 reply; 7+ messages in thread
From: Sam Ravnborg @ 2013-01-24 17:41 UTC (permalink / raw)
To: Alec Bickerton; +Cc: linux-kbuild
On Wed, Jan 23, 2013 at 06:43:17PM +0100, Alec Bickerton wrote:
> Hi,
>
> I'd like to submit the attached patch to add Ivy Bridge processor support to the
> processor type menu in menuconfig. Setting this configures the appropriate
> CFLAGS (core-avx-i) for ivy bridge.
>
> As this is my first kbuild patch, could somebody review it and let me know what
> I've done wrong. ;-)
Like Michal I do not know about x86 - but a few things I noticed.
>
> Thanks
> Alec.
> >From 2eaf7717da5b7f753c66e2158d29744aafbc2a0c Mon Sep 17 00:00:00 2001
> From: Alec Bickerton <alec.bickerton@gmail.com>
> Date: Mon, 1 Oct 2012 21:12:55 +0200
> Subject: [PATCH] Added Ivy bridge to menu
>
Signed-off-by: ... missing.
See Documentation/SubmittingPatches (somethign like that)
> +config MIVYBRIDGE
> + bool "Intel Ivy Bridge"
> + --help--
> +
> + Select this foe Intel 3770K family processors.
Use " help" - in new stuff we try to avoid --help--
Drop empty line between help and help text.
Fix your spelling foe => for
> --- a/arch/x86/Makefile_32.cpu
> +++ b/arch/x86/Makefile_32.cpu
> @@ -33,6 +33,7 @@ cflags-$(CONFIG_MCYRIXIII) += $(call cc-option,-march=c3,-march=i486) $(align)-f
> cflags-$(CONFIG_MVIAC3_2) += $(call cc-option,-march=c3-2,-march=i686)
> cflags-$(CONFIG_MVIAC7) += -march=i686
> cflags-$(CONFIG_MCORE2) += -march=i686 $(call tune,core2)
> +cflags-$(CONFIG_MIVYBRIDGE) += -march=i686 $(call tune,core-avx-i)
> cflags-$(CONFIG_MATOM) += $(call cc-option,-march=atom,$(call cc-option,-march=core2,-march=i686)) \
> $(call cc-option,-mtune=atom,$(call cc-option,-mtune=generic))
Not a fault in your patch - but the x86 guys should learn to use the
X86_ prefix on x86 specific config symbols :-(
For consistency do not add it.
Sam
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH] Add Intel Ivy bridge CPU flags
2013-01-24 17:41 ` Sam Ravnborg
@ 2013-01-30 3:34 ` H. Peter Anvin
2013-01-31 18:45 ` Alec Bickerton
0 siblings, 1 reply; 7+ messages in thread
From: H. Peter Anvin @ 2013-01-30 3:34 UTC (permalink / raw)
To: Sam Ravnborg; +Cc: Alec Bickerton, linux-kbuild
On 01/24/2013 09:41 AM, Sam Ravnborg wrote:
>
>> --- a/arch/x86/Makefile_32.cpu
>> +++ b/arch/x86/Makefile_32.cpu
>> @@ -33,6 +33,7 @@ cflags-$(CONFIG_MCYRIXIII) += $(call cc-option,-march=c3,-march=i486) $(align)-f
>> cflags-$(CONFIG_MVIAC3_2) += $(call cc-option,-march=c3-2,-march=i686)
>> cflags-$(CONFIG_MVIAC7) += -march=i686
>> cflags-$(CONFIG_MCORE2) += -march=i686 $(call tune,core2)
>> +cflags-$(CONFIG_MIVYBRIDGE) += -march=i686 $(call tune,core-avx-i)
>> cflags-$(CONFIG_MATOM) += $(call cc-option,-march=atom,$(call cc-option,-march=core2,-march=i686)) \
>> $(call cc-option,-mtune=atom,$(call cc-option,-mtune=generic))
>
> Not a fault in your patch - but the x86 guys should learn to use the
> X86_ prefix on x86 specific config symbols :-(
> For consistency do not add it.
>
These are some of the oldest config symbols in the entire kernel.
-hpa
--
H. Peter Anvin, Intel Open Source Technology Center
I work for Intel. I don't speak on their behalf.
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH] Add Intel Ivy bridge CPU flags
2013-01-30 3:34 ` H. Peter Anvin
@ 2013-01-31 18:45 ` Alec Bickerton
2013-02-14 23:41 ` H. Peter Anvin
0 siblings, 1 reply; 7+ messages in thread
From: Alec Bickerton @ 2013-01-31 18:45 UTC (permalink / raw)
Cc: linux-kbuild
on 30/01/13 04:34 H. Peter Anvin gazed into the seeing stone and said...:
> On 01/24/2013 09:41 AM, Sam Ravnborg wrote:
>>
>>> --- a/arch/x86/Makefile_32.cpu
>>> +++ b/arch/x86/Makefile_32.cpu
>>> @@ -33,6 +33,7 @@ cflags-$(CONFIG_MCYRIXIII) += $(call
>>> cc-option,-march=c3,-march=i486) $(align)-f
>>> cflags-$(CONFIG_MVIAC3_2) += $(call cc-option,-march=c3-2,-march=i686)
>>> cflags-$(CONFIG_MVIAC7) += -march=i686
>>> cflags-$(CONFIG_MCORE2) += -march=i686 $(call tune,core2)
>>> +cflags-$(CONFIG_MIVYBRIDGE) += -march=i686 $(call tune,core-avx-i)
>>> cflags-$(CONFIG_MATOM) += $(call cc-option,-march=atom,$(call
>>> cc-option,-march=core2,-march=i686)) \
>>> $(call cc-option,-mtune=atom,$(call cc-option,-mtune=generic))
>>
>> Not a fault in your patch - but the x86 guys should learn to use the
>> X86_ prefix on x86 specific config symbols :-(
>> For consistency do not add it.
>>
>
> These are some of the oldest config symbols in the entire kernel.
>
> -hpa
>
That maybe so, I just want to be able to build an ivy bridge optimised kernel
without having to think about it too much. While I don't know how much it'd
bring, this is more of a convenience than anything else.
Alec
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH] Add Intel Ivy bridge CPU flags
2013-01-31 18:45 ` Alec Bickerton
@ 2013-02-14 23:41 ` H. Peter Anvin
0 siblings, 0 replies; 7+ messages in thread
From: H. Peter Anvin @ 2013-02-14 23:41 UTC (permalink / raw)
To: alec
On 01/31/2013 10:45 AM, Alec Bickerton wrote:
> on 30/01/13 04:34 H. Peter Anvin gazed into the seeing stone and said...:
>> On 01/24/2013 09:41 AM, Sam Ravnborg wrote:
>>>
>>>> --- a/arch/x86/Makefile_32.cpu
>>>> +++ b/arch/x86/Makefile_32.cpu
>>>> @@ -33,6 +33,7 @@ cflags-$(CONFIG_MCYRIXIII) += $(call
>>>> cc-option,-march=c3,-march=i486) $(align)-f
>>>> cflags-$(CONFIG_MVIAC3_2) += $(call cc-option,-march=c3-2,-march=i686)
>>>> cflags-$(CONFIG_MVIAC7) += -march=i686
>>>> cflags-$(CONFIG_MCORE2) += -march=i686 $(call tune,core2)
>>>> +cflags-$(CONFIG_MIVYBRIDGE) += -march=i686 $(call tune,core-avx-i)
>>>> cflags-$(CONFIG_MATOM) += $(call cc-option,-march=atom,$(call
>>>> cc-option,-march=core2,-march=i686)) \
>>>> $(call cc-option,-mtune=atom,$(call cc-option,-mtune=generic))
>>>
>>> Not a fault in your patch - but the x86 guys should learn to use the
>>> X86_ prefix on x86 specific config symbols :-(
>>> For consistency do not add it.
>>>
>>
>> These are some of the oldest config symbols in the entire kernel.
>>
>> -hpa
>>
>
> That maybe so, I just want to be able to build an ivy bridge optimised kernel
> without having to think about it too much. While I don't know how much it'd
> bring, this is more of a convenience than anything else.
>
I was referring to the lack of the X86_ prefix on the CONFIG_M* symbols.
-hpa
--
H. Peter Anvin, Intel Open Source Technology Center
I work for Intel. I don't speak on their behalf.
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2013-02-14 23:43 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-01-23 17:43 [PATCH] Add Intel Ivy bridge CPU flags Alec Bickerton
2013-01-24 10:53 ` Michal Marek
2013-01-24 11:13 ` Borislav Petkov
2013-01-24 17:41 ` Sam Ravnborg
2013-01-30 3:34 ` H. Peter Anvin
2013-01-31 18:45 ` Alec Bickerton
2013-02-14 23:41 ` H. Peter Anvin
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.