Gmail Calendar Documents Reader Web more »
Recently Visited Groups | Help | Sign in
Google Groups Home
Specific support for Intel Atom architecture
There are currently too many topics in this group that display first. To make this topic appear first, remove this option from another topic.
There was an error processing your request. Please try again.
flag
  Messages 1 - 25 of 26 - Expand all  -  Translate all to Translated (View all originals)   Newer >
The group you are posting to is a Usenet group. Messages posted to this group will make your email address visible to anyone on the Internet.
Your reply message has not been sent.
Your post was successful
 
From:
To:
Cc:
Followup To:
Add Cc | Add Followup-to | Edit Subject
Subject:
Validation:
For verification purposes please type the characters you see in the picture below or the numbers you hear by clicking the accessibility icon. Listen and type the numbers you hear
 
Tobias Doerffel  
View profile  
 More options Apr 30 2009, 8:44 am
Newsgroups: fa.linux.kernel
From: Tobias Doerffel <tobias.doerf...@gmail.com>
Date: Thu, 30 Apr 2009 12:44:52 UTC
Local: Thurs, Apr 30 2009 8:44 am
Subject: Specific support for Intel Atom architecture

Hi,

as some of you already might know, work is going on to make GCC fully support
Intel Atom architecture specifics, i.e. make -mtune=atom generate code
optimized for in-order architectures like Intel Atom [1].

I therefore started to make up a small patch which adds Intel Atom as a new
processor family which can be selected upon configuration. It's nothing
special and also requires a patched GCC. I'd just like to get some feedback on
it, i.e. is X86_L1_CACHE_SHIFT=6 ok for Atom CPUs (I was not able to find any
information on Atom's cacheline size)? Any chance to include this patch once
the Atom patch went into GCC mainline (probably in GCC 4.5)? Any other
objections?

Please Cc me, I'm not on the list.

Regards,

Tobias

[1] http://gcc.gnu.org/viewcvs/branches/ix86/atom/

  0001-x86-add-specific-support-for-Intel-Atom-architectur.patch
4K Download

  signature.asc
< 1K Download

    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Ingo Molnar  
View profile  
 More options Apr 30 2009, 11:41 am
Newsgroups: fa.linux.kernel
From: Ingo Molnar <mi...@elte.hu>
Date: Thu, 30 Apr 2009 15:41:29 UTC
Local: Thurs, Apr 30 2009 11:41 am
Subject: Re: Specific support for Intel Atom architecture

* Tobias Doerffel <tobias.doerf...@gmail.com> wrote:

Makes sense. One question would be X86_L1_CACHE_SHIFT - you set it
to 2^6 == 64 - that's correct i think, most Atoms come with 64 byte
L2 cache AFAIK.

I've Cc:-ed Intel folks - is this assumption about 64 bytes correct?

        Ingo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
H. Peter Anvin  
View profile  
 More options Apr 30 2009, 1:16 pm
Newsgroups: fa.linux.kernel
From: "H. Peter Anvin" <h...@zytor.com>
Date: Thu, 30 Apr 2009 17:16:09 UTC
Local: Thurs, Apr 30 2009 1:16 pm
Subject: Re: Specific support for Intel Atom architecture

Ingo Molnar wrote:

> Makes sense. One question would be X86_L1_CACHE_SHIFT - you set it
> to 2^6 == 64 - that's correct i think, most Atoms come with 64 byte
> L2 cache AFAIK.

> I've Cc:-ed Intel folks - is this assumption about 64 bytes correct?

Seems to be.  At least that's what CPUID reports.

        -hpa

--
H. Peter Anvin, Intel Open Source Technology Center
I work for Intel.  I don't speak on their behalf.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
H. Peter Anvin  
View profile  
 More options Apr 30 2009, 1:50 pm
Newsgroups: fa.linux.kernel
From: "H. Peter Anvin" <h...@zytor.com>
Date: Thu, 30 Apr 2009 17:50:19 UTC
Local: Thurs, Apr 30 2009 1:50 pm
Subject: Re: Specific support for Intel Atom architecture

Ingo Molnar wrote:
>> diff --git a/arch/x86/Makefile_32.cpu b/arch/x86/Makefile_32.cpu
>> index 80177ec..07a11b0 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_MATOM)                += -march=atom $(call tune,atom)

There should be a fallback option used here rather than requiring a new
gcc, e.g. something like:

$(call cc-option,-march=atom,-march=i686)

        -hpa
--
H. Peter Anvin, Intel Open Source Technology Center
I work for Intel.  I don't speak on their behalf.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Willy Tarreau  
View profile  
 More options May 3 2009, 1:39 am
Newsgroups: fa.linux.kernel
From: Willy Tarreau <w...@1wt.eu>
Date: Sun, 03 May 2009 05:39:55 UTC
Local: Sun, May 3 2009 1:39 am
Subject: Re: Specific support for Intel Atom architecture

if it's an in-order architecture, wouldn't it be better to tune for i386
or i486 instead ?

Willy

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
H. Peter Anvin  
View profile  
 More options May 3 2009, 2:54 am
Newsgroups: fa.linux.kernel
From: "H. Peter Anvin" <h...@zytor.com>
Date: Sun, 03 May 2009 06:54:46 UTC
Local: Sun, May 3 2009 2:54 am
Subject: Re: Specific support for Intel Atom architecture

Willy Tarreau wrote:

>> $(call cc-option,-march=atom,-march=i686)

> if it's an in-order architecture, wouldn't it be better to tune for i386
> or i486 instead ?

Possibly.  It would be worth measuring.

        -hpa

--
H. Peter Anvin, Intel Open Source Technology Center
I work for Intel.  I don't speak on their behalf.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Tobias Doerffel  
View profile  
 More options May 3 2009, 7:09 am
Newsgroups: fa.linux.kernel
From: Tobias Doerffel <tobias.doerf...@gmail.com>
Date: Sun, 03 May 2009 11:09:28 UTC
Local: Sun, May 3 2009 7:09 am
Subject: Re: Specific support for Intel Atom architecture

Am Sonntag, 3. Mai 2009 08:48:54 schrieb H. Peter Anvin:

> Willy Tarreau wrote:
> >> $(call cc-option,-march=atom,-march=i686)

> > if it's an in-order architecture, wouldn't it be better to tune for i386
> > or i486 instead ?

> Possibly.  It would be worth measuring.

How would one do that (never benchmarked kernel stuff before)?

Regards,

Tobias

  signature.asc
< 1K Download

    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Arjan van de Ven  
View profile  
 More options May 3 2009, 10:52 am
Newsgroups: fa.linux.kernel
From: Arjan van de Ven <ar...@infradead.org>
Date: Sun, 03 May 2009 14:52:37 UTC
Local: Sun, May 3 2009 10:52 am
Subject: Re: Specific support for Intel Atom architecture
On Sun, 3 May 2009 07:38:23 +0200

-march isn't about tuning, it's about supported instructions.
The right line is
$(call cc-option,-march=atom,-march=core2)

For tuning, our experience is that currently -mtune=generic works best.
Not sure about the gcc's that have complete atom tuning support yet.

Please don't do something like "oh it's in order, so was the Pentium,
so lets use that"; it actually gives really really bad results.

--
Arjan van de Ven        Intel Open Source Technology Centre
For development, discussion and tips for power savings,
visit http://www.lesswatts.org
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Willy Tarreau  
View profile  
 More options May 3 2009, 2:31 pm
Newsgroups: fa.linux.kernel
From: Willy Tarreau <w...@1wt.eu>
Date: Sun, 03 May 2009 18:31:44 UTC
Local: Sun, May 3 2009 2:31 pm
Subject: Re: Specific support for Intel Atom architecture
On Sun, May 03, 2009 at 07:53:46AM -0700, Arjan van de Ven wrote:

agreed, but unless specified otherwise using -mtune, -march also sets
default tuning for the indicated CPU. At least in my experience.

> The right line is
> $(call cc-option,-march=atom,-march=core2)

OK thanks.

> For tuning, our experience is that currently -mtune=generic works best.

OK.

> Not sure about the gcc's that have complete atom tuning support yet.

> Please don't do something like "oh it's in order, so was the Pentium,
> so lets use that"; it actually gives really really bad results.

I know, I was not thinking about tuning for an "advanced" CPU such as the
pentium, but rather for something generic, hence my proposal of i486 or
i386. I did not know about the "generic" target. In my experience, tuning
for i386/i486 often shows best overall performance on recent CPUs such as
core2. I should try "generic" to compare.

Regards,
Willy

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
H. Peter Anvin  
View profile  
 More options May 3 2009, 2:42 pm
Newsgroups: fa.linux.kernel
From: "H. Peter Anvin" <h...@zytor.com>
Date: Sun, 03 May 2009 18:42:27 UTC
Local: Sun, May 3 2009 2:42 pm
Subject: Re: Specific support for Intel Atom architecture

Willy Tarreau wrote:

>>>> $(call cc-option,-march=atom,-march=i686)
>>> if it's an in-order architecture, wouldn't it be better to tune for
>>> i386 or i486 instead ?
>> -march isn't about tuning, it's about supported instructions.

> agreed, but unless specified otherwise using -mtune, -march also sets
> default tuning for the indicated CPU. At least in my experience.

>> The right line is
>> $(call cc-option,-march=atom,-march=core2)

For really old gcc's (we support all the way back to gcc 3.2 still)
-march=core2 might not work either.

        -hpa

--
H. Peter Anvin, Intel Open Source Technology Center
I work for Intel.  I don't speak on their behalf.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Måns Rullgård  
View profile  
 More options May 3 2009, 3:38 pm
Newsgroups: fa.linux.kernel
From: Måns Rullgård <m...@mansr.com>
Date: Sun, 03 May 2009 19:38:52 UTC
Local: Sun, May 3 2009 3:38 pm
Subject: Re: Specific support for Intel Atom architecture
"H. Peter Anvin" <h...@zytor.com> writes:

> Willy Tarreau wrote:

>>>>> $(call cc-option,-march=atom,-march=i686)
>>>> if it's an in-order architecture, wouldn't it be better to tune for
>>>> i386 or i486 instead ?
>>> -march isn't about tuning, it's about supported instructions.

>> agreed, but unless specified otherwise using -mtune, -march also sets
>> default tuning for the indicated CPU. At least in my experience.

>>> The right line is
>>> $(call cc-option,-march=atom,-march=core2)

> For really old gcc's (we support all the way back to gcc 3.2 still)
> -march=core2 might not work either.

-march=core2 support was added in gcc 4.3.

--
Måns Rullgård
m...@mansr.com

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Andi Kleen  
View profile  
 More options May 4 2009, 3:23 am
Newsgroups: fa.linux.kernel
From: Andi Kleen <a...@firstfloor.org>
Date: Mon, 04 May 2009 07:23:05 UTC
Local: Mon, May 4 2009 3:23 am
Subject: Re: Specific support for Intel Atom architecture

Tobias Doerffel <tobias.doerf...@gmail.com> writes:
> Hi,

> as some of you already might know, work is going on to make GCC fully support
> Intel Atom architecture specifics, i.e. make -mtune=atom generate code
> optimized for in-order architectures like Intel Atom [1].

> I therefore started to make up a small patch which adds Intel Atom as a new
> processor family which can be selected upon configuration. It's nothing
> special and also requires a patched GCC. I'd just like to get some feedback on
> it, i.e. is X86_L1_CACHE_SHIFT=6 ok for Atom CPUs (I was not able to find any
> information on Atom's cacheline size)?

64bytes.

> Any chance to include this patch once
> the Atom patch went into GCC mainline (probably in GCC 4.5)? Any other

atom support already went into gcc mainline.

> objections?

> Please Cc me, I'm not on the list.

FWIW I have a similar patch, but I haven't submitted it yet due
to lack of benchmark numbers.

Some comments on yours.

> diff --git a/arch/x86/Kconfig.cpu b/arch/x86/Kconfig.cpu
> index 8130334..8e565b7 100644
> --- a/arch/x86/Kconfig.cpu
> +++ b/arch/x86/Kconfig.cpu
> @@ -262,6 +262,15 @@ config MCORE2
>      family in /proc/cpuinfo. Newer ones have 6 and older ones 15
>      (not a typo)

> +config MATOM
> +  bool "Intel Atom"
> +  depends on X86_32

This is wrong, There are Atom CPUs which support 64bit code too.

I don't think that's necessarily a good idea. You would need benchmarks showing
that intel user copy performs better on Atom than the original one. Do you have
some?

>  config X86_USE_PPRO_CHECKSUM
>    def_bool y
> -  depends on MWINCHIP3D || MWINCHIPC6 || MCYRIXIII || MK7 || MK6 || MPENTIUM4 || MPENTIUMM || MPENTIUMIII || MPENTIUMII || M686 || MK8 || MVIAC3_2 || MEFFICEON || MGEODE_LX || MCORE2
> +  depends on MWINCHIP3D || MWINCHIPC6 || MCYRIXIII || MK7 || MK6 || MPENTIUM4 || MPENTIUMM || MPENTIUMIII || MPENTIUMII || M686 || MK8 || MVIAC3_2 || MEFFICEON || MGEODE_LX || MCORE2 || MATOM

Similar here. Atom is quite different from PPro/K8.

>  config X86_USE_3DNOW
>  config X86_MINIMUM_CPU_FAMILY
>    int
> diff --git a/arch/x86/Makefile_32.cpu b/arch/x86/Makefile_32.cpu
> index 80177ec..07a11b0 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_MATOM)            += -march=atom $(call tune,atom)

>  # AMD Elan support
>  cflags-$(CONFIG_X86_ELAN) += -march=i486

That needs to be in the 64bit version too.

> diff --git a/arch/x86/include/asm/module.h b/arch/x86/include/asm/module.h
> index 47d6274..e959c4a 100644
> --- a/arch/x86/include/asm/module.h
> +++ b/arch/x86/include/asm/module.h
> @@ -28,6 +28,8 @@ struct mod_arch_specific {};
>  #define MODULE_PROC_FAMILY "586MMX "
>  #elif defined CONFIG_MCORE2
>  #define MODULE_PROC_FAMILY "CORE2 "
> +#elif defined CONFIG_MATOM
> +#define MODULE_PROC_FAMILY "ATOM "

This should be obsolete anyways, you can just uses CORE2. They have compatible ISAs.

-Andi
--
a...@linux.intel.com -- Speaking for myself only.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Ingo Molnar  
View profile  
 More options May 4 2009, 9:15 am
Newsgroups: fa.linux.kernel
From: Ingo Molnar <mi...@elte.hu>
Date: Mon, 04 May 2009 13:15:41 UTC
Local: Mon, May 4 2009 9:15 am
Subject: Re: Specific support for Intel Atom architecture

* Tobias Doerffel <tobias.doerf...@gmail.com> wrote:

> Am Sonntag, 3. Mai 2009 08:48:54 schrieb H. Peter Anvin:
> > Willy Tarreau wrote:
> > >> $(call cc-option,-march=atom,-march=i686)

> > > if it's an in-order architecture, wouldn't it be better to tune for i386
> > > or i486 instead ?

> > Possibly.  It would be worth measuring.

> How would one do that (never benchmarked kernel stuff before)?

A standard method is to run lmbench and compare the results -
lmbench has a built-in 'report comparison between two runs' feature.

        Ingo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Arjan van de Ven  
View profile  
 More options May 4 2009, 9:31 am
Newsgroups: fa.linux.kernel
From: Arjan van de Ven <ar...@infradead.org>
Date: Mon, 04 May 2009 13:31:54 UTC
Local: Mon, May 4 2009 9:31 am
Subject: Re: Specific support for Intel Atom architecture
On Mon, 4 May 2009 15:14:57 +0200

well... you're normally REALLY hard pressed to measure compiler
differences this way.....

normally compiler options get benchmarked using speccpu and the like....

--
Arjan van de Ven        Intel Open Source Technology Centre
For development, discussion and tips for power savings,
visit http://www.lesswatts.org
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Ingo Molnar  
View profile  
 More options May 4 2009, 1:56 pm
Newsgroups: fa.linux.kernel
From: Ingo Molnar <mi...@elte.hu>
Date: Mon, 04 May 2009 17:56:40 UTC
Local: Mon, May 4 2009 1:56 pm
Subject: Re: Specific support for Intel Atom architecture

* Arjan van de Ven <ar...@infradead.org> wrote:

Well, if there's no measurable difference in lmbench at all then the
options probably dont matter that much. If some workload is found
where compiler options show a difference then that matters. Speccpu
only matters if those compiler options also help the kernel, in a
measurable way.

        Ingo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Tobias Doerffel  
View profile  
 More options May 11 2009, 5:30 pm
Newsgroups: fa.linux.kernel
From: Tobias Doerffel <tobias.doerf...@gmail.com>
Date: Mon, 11 May 2009 21:30:46 UTC
Local: Mon, May 11 2009 5:30 pm
Subject: Re: Specific support for Intel Atom architecture

Hi,

thanks for your comments. Fixed some of your remarks and attached a new patch.

Am Montag, 4. Mai 2009 09:22:46 schrieb Andi Kleen:

> This is wrong, There are Atom CPUs which support 64bit code too.

Fixed.

> >  config X86_XADD
> >       def_bool y
> > @@ -355,11 +364,11 @@ config X86_ALIGNMENT_16

> >  config X86_INTEL_USERCOPY
> >       def_bool y
> > -     depends on MPENTIUM4 || MPENTIUMM || MPENTIUMIII || MPENTIUMII ||
> > M586MMX || X86_GENERIC || MK8 || MK7 || MEFFICEON || MCORE2 + depends on
> > MPENTIUM4 || MPENTIUMM || MPENTIUMIII || MPENTIUMII || M586MMX ||
> > X86_GENERIC || MK8 || MK7 || MEFFICEON || MCORE2 || MATOM

> I don't think that's necessarily a good idea. You would need benchmarks
> showing that intel user copy performs better on Atom than the original one.
> Do you have some?

You're right here. I made some quick benchmarks of
__copy_user[_intel[_nocache]]() and __copy_zeroing[_intel[_nocache]]() in
userspace and the generic ones indeed were about 15% faster.

> >  config X86_USE_PPRO_CHECKSUM
> >       def_bool y
> > -     depends on MWINCHIP3D || MWINCHIPC6 || MCYRIXIII || MK7 || MK6 ||
> > MPENTIUM4 || MPENTIUMM || MPENTIUMIII || MPENTIUMII || M686 || MK8 ||
> > MVIAC3_2 || MEFFICEON || MGEODE_LX || MCORE2 +        depends on MWINCHIP3D ||
> > MWINCHIPC6 || MCYRIXIII || MK7 || MK6 || MPENTIUM4 || MPENTIUMM ||
> > MPENTIUMIII || MPENTIUMII || M686 || MK8 || MVIAC3_2 || MEFFICEON ||
> > MGEODE_LX || MCORE2 || MATOM

> Similar here. Atom is quite different from PPro/K8.

Made some benchmarks of csum_partial() and csum_partial_copy_generic() as
well. Here the PPro version of csum_partial() performed 10-15% better
(depending on buffer len) while both implementations of
csum_partial_copy_generic() performed equal.

> > diff --git a/arch/x86/Makefile_32.cpu b/arch/x86/Makefile_32.cpu
> > index 80177ec..07a11b0 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_MATOM)               += -march=atom $(call tune,atom)

> >  # AMD Elan support
> >  cflags-$(CONFIG_X86_ELAN)    += -march=i486

> That needs to be in the 64bit version too.

Fixed as well. Also included changes to call cc-option as recommended by hpa.

> > diff --git a/arch/x86/include/asm/module.h
> > b/arch/x86/include/asm/module.h index 47d6274..e959c4a 100644
> > --- a/arch/x86/include/asm/module.h
> > +++ b/arch/x86/include/asm/module.h
> > @@ -28,6 +28,8 @@ struct mod_arch_specific {};
> >  #define MODULE_PROC_FAMILY "586MMX "
> >  #elif defined CONFIG_MCORE2
> >  #define MODULE_PROC_FAMILY "CORE2 "
> > +#elif defined CONFIG_MATOM
> > +#define MODULE_PROC_FAMILY "ATOM "

> This should be obsolete anyways, you can just uses CORE2. They have
> compatible ISAs.

So you would recommend writing

#elif defined CONFIG_MCORE2 || defined CONFIG_ATOM
#define MODULE_PROC_FAMILY "CORE2 "

?

Regards,

Tobias

  0001-x86-add-specific-support-for-Intel-Atom-architectur.patch
4K Download

  signature.asc
< 1K Download

    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Andi Kleen  
View profile  
 More options May 12 2009, 3:02 am
Newsgroups: fa.linux.kernel
From: Andi Kleen <a...@firstfloor.org>
Date: Tue, 12 May 2009 07:02:55 UTC
Local: Tues, May 12 2009 3:02 am
Subject: Re: Specific support for Intel Atom architecture

Yes.  Or maybe you can find a better name.

-Andi

--
a...@linux.intel.com -- Speaking for myself only.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Ulrich Drepper  
View profile  
 More options May 12 2009, 10:25 am
Newsgroups: fa.linux.kernel
From: Ulrich Drepper <drep...@gmail.com>
Date: Tue, 12 May 2009 14:25:44 UTC
Local: Tues, May 12 2009 10:25 am
Subject: Re: Specific support for Intel Atom architecture

On Mon, May 4, 2009 at 12:22 AM, Andi Kleen <a...@firstfloor.org> wrote:
> This should be obsolete anyways, you can just uses CORE2. They have compatible ISAs.

Only correct if you don't plan to use the movbe instruction.  The
kernel would be the one place where I can imagine this to make sense.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Andi Kleen  
View profile  
 More options May 12 2009, 10:59 am
Newsgroups: fa.linux.kernel
From: Andi Kleen <a...@firstfloor.org>
Date: Tue, 12 May 2009 14:59:15 UTC
Local: Tues, May 12 2009 10:59 am
Subject: Re: Specific support for Intel Atom architecture

On Tue, May 12, 2009 at 07:20:14AM -0700, Ulrich Drepper wrote:
> On Mon, May 4, 2009 at 12:22 AM, Andi Kleen <a...@firstfloor.org> wrote:
> > This should be obsolete anyways, you can just uses CORE2. They have compatible ISAs.

> Only correct if you don't plan to use the movbe instruction.  The
> kernel would be the one place where I can imagine this to make sense.

The problem is that you can't express the situations where
movbe is better than bswap (you need both and the old and the new
value) in inline assembler in a way that gcc decides automatically.

I also doubt there are many (any?) situations in the kernel where
the destruction of the old register is a problem in the kernel;
e.g. the network stack normally doesn't care.

My understanding is that movbe is really mainly useful for
some special situations where you run a emulator/jit for
a BE ISA, but that's not something the kernel does.

-Andi

--
a...@linux.intel.com -- Speaking for myself only.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Ulrich Drepper  
View profile  
 More options May 12 2009, 1:45 pm
Newsgroups: fa.linux.kernel
From: Ulrich Drepper <drep...@gmail.com>
Date: Tue, 12 May 2009 17:45:22 UTC
Local: Tues, May 12 2009 1:45 pm
Subject: Re: Specific support for Intel Atom architecture

On Tue, May 12, 2009 at 8:04 AM, Andi Kleen <a...@firstfloor.org> wrote:
> The problem is that you can't express the situations where
> movbe is better than bswap (you need both and the old and the new
> value) in inline assembler in a way that gcc decides automatically.

True.  But I was mostly thinking about loads from memory.  A quick
search for ntoh*/hton* shows code like

        u_int16_t queue_num = ntohs(nfmsg->res_id);

If there would be a ntohs_load() macro movbe could be used.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Andi Kleen  
View profile  
 More options May 12 2009, 2:08 pm
Newsgroups: fa.linux.kernel
From: Andi Kleen <a...@firstfloor.org>
Date: Tue, 12 May 2009 18:08:54 UTC
Local: Tues, May 12 2009 2:08 pm
Subject: Re: Specific support for Intel Atom architecture

On Tue, May 12, 2009 at 10:45:00AM -0700, Ulrich Drepper wrote:
> On Tue, May 12, 2009 at 8:04 AM, Andi Kleen <a...@firstfloor.org> wrote:
> > The problem is that you can't express the situations where
> > movbe is better than bswap (you need both and the old and the new
> > value) in inline assembler in a way that gcc decides automatically.

> True.  But I was mostly thinking about loads from memory.  A quick
> search for ntoh*/hton* shows code like

>         u_int16_t queue_num = ntohs(nfmsg->res_id);

> If there would be a ntohs_load() macro movbe could be used.

It wouldn't surprise me if

        movbe memory,%reg

generates the same uops sequence internally as

        mov memory,%reg
        bswap %reg

I doubt there's any dedicated hardware for this in Atom (but I don't
know for sure)

So unless you're really decoding constrained it would only
save a few bytes of code size. Probably not worth having
incompatible modules for or adding special code to the source.

-Andi

--
a...@linux.intel.com -- Speaking for myself only.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Harvey Harrison  
View profile  
 More options May 14 2009, 1:04 am
Newsgroups: fa.linux.kernel
From: Harvey Harrison <harvey.harri...@gmail.com>
Date: Thu, 14 May 2009 05:04:32 UTC
Local: Thurs, May 14 2009 1:04 am
Subject: Re: Specific support for Intel Atom architecture

On Tue, 2009-05-12 at 10:45 -0700, Ulrich Drepper wrote:
> On Tue, May 12, 2009 at 8:04 AM, Andi Kleen <a...@firstfloor.org> wrote:
> > The problem is that you can't express the situations where
> > movbe is better than bswap (you need both and the old and the new
> > value) in inline assembler in a way that gcc decides automatically.

> True.  But I was mostly thinking about loads from memory.  A quick
> search for ntoh*/hton* shows code like

>         u_int16_t queue_num = ntohs(nfmsg->res_id);

> If there would be a ntohs_load() macro movbe could be used.

It's called be16_to_cpup, or on x86, swab16p()

Cheers,

Harvey

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Ulrich Drepper  
View profile  
 More options May 14 2009, 9:39 am
Newsgroups: fa.linux.kernel
From: Ulrich Drepper <drep...@gmail.com>
Date: Thu, 14 May 2009 13:39:08 UTC
Local: Thurs, May 14 2009 9:39 am
Subject: Re: Specific support for Intel Atom architecture
On Wed, May 13, 2009 at 10:04 PM, Harvey Harrison

<harvey.harri...@gmail.com> wrote:
> It's called be16_to_cpup, or on x86, swab16p()

Indeed.  If now somebody with an Atom could test whether using movbe
has an advantage (my guess is that there is a slight advantage) then
one could define a special version of the __beXX_to_cpup and
__cpu_to_beXXp functions for Atom and start using these functions more
rigorously in the tree.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Andi Kleen  
View profile  
 More options May 14 2009, 9:56 am
Newsgroups: fa.linux.kernel
From: Andi Kleen <a...@firstfloor.org>
Date: Thu, 14 May 2009 13:56:35 UTC
Local: Thurs, May 14 2009 9:56 am
Subject: Re: Specific support for Intel Atom architecture

On Thu, May 14, 2009 at 06:38:48AM -0700, Ulrich Drepper wrote:
> On Wed, May 13, 2009 at 10:04 PM, Harvey Harrison
> <harvey.harri...@gmail.com> wrote:
> > It's called be16_to_cpup, or on x86, swab16p()

> Indeed.  If now somebody with an Atom could test whether using movbe
> has an advantage (my guess is that there is a slight advantage) then

How would you test that?

-Andi

--
a...@linux.intel.com -- Speaking for myself only.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Ulrich Drepper  
View profile  
 More options May 14 2009, 12:20 pm
Newsgroups: fa.linux.kernel
From: Ulrich Drepper <drep...@gmail.com>
Date: Thu, 14 May 2009 16:20:58 UTC
Local: Thurs, May 14 2009 12:20 pm
Subject: Re: Specific support for Intel Atom architecture

On Thu, May 14, 2009 at 7:01 AM, Andi Kleen <a...@firstfloor.org> wrote:
> How would you test that?

Compare runtimes with mov+bswap for some simple code which uses the
value after the conversion (e.g., just add to something).

Or in your case: get the Atom designers to comment.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Messages 1 - 25 of 26   Newer >
« Back to Discussions « Newer topic     Older topic »

Create a group - Google Groups - Google Home - Terms of Service - Privacy Policy
©2010 Google