All of lore.kernel.org
 help / color / mirror / Atom feed
From: Rene Herman <rene.herman@keyaccess.nl>
To: Arjan van de Ven <arjan@infradead.org>
Cc: Yinghai Lu <yhlu.kernel@gmail.com>, Ingo Molnar <mingo@elte.hu>,
	Linux Kernel <linux-kernel@vger.kernel.org>
Subject: Re: 2.6.26, PAT and AMD family 6
Date: Wed, 07 May 2008 16:09:05 +0200	[thread overview]
Message-ID: <4821B801.5030508@keyaccess.nl> (raw)
In-Reply-To: <20080507064259.36deb978@infradead.org>

On 07-05-08 15:42, Arjan van de Ven wrote:
> On Wed, 07 May 2008 15:00:18 +0200
> Rene Herman <rene.herman@keyaccess.nl> wrote:
> 
>> On 07-05-08 04:39, Yinghai Lu wrote:
>>
>>> On Tue, May 6, 2008 at 6:48 PM, Rene Herman
>>> <rene.herman@keyaccess.nl> wrote:
>>>>  On 2.6.25 and below, my /proc/cpuinfo looks like:
>>>>
>>>>  processor       : 0
>>>>  vendor_id       : AuthenticAMD
>>>>  cpu family      : 6
>>>>  model           : 7
>>>>  model name      : AMD Duron(tm) Processor
>> [ ... ]
>>
>>>>  flags           : fpu vme de pse tsc msr pae mce cx8 sep mtrr pge
>>>> mca cmov pat pse36 mmx fxsr sse syscall mmxext 3dnowext 3dnow ts
>>>>  while on current mainline PAT and TS (Temperature Sensor) drop
>>>> from the feature flags:
>>>>
>>>>  flags           : fpu vme de pse tsc msr pae mce cx8 sep mtrr pge
>>>> mca cmov pse36 mmx fxsr sse syscall mmxext 3dnowext 3dnow
>>>>
>>>>  With respect to PAT, I guess it's
>>>> 9307cacad0dfe3749f00303125c6f7f0523e5616, "x86: pat cpu feature
>>>> bit setting for known cpus" but what's this about?
>>>>
>>>> Did my cpuinfo lie upto this point or shouldn't the flag be
>>>> cleared? The commit message for that change is completely and
>>>> totally unhelpful.
>>> others like to to whitebox methods, ..., please try attach patch to
>>> see if duron support PAT.
>>> diff --git a/arch/x86/kernel/cpu/common.c
>>> b/arch/x86/kernel/cpu/common.c index a428ffc..81483ec 100644
>>> --- a/arch/x86/kernel/cpu/common.c
>>> +++ b/arch/x86/kernel/cpu/common.c
>>> @@ -314,6 +314,8 @@ static void __cpuinit early_get_cap(struct
>>> cpuinfo_x86 *c) case X86_VENDOR_AMD:
>>>  		if (c->x86 >= 0xf && c->x86 <= 0x11)
>>>  			set_cpu_cap(c, X86_FEATURE_PAT);
>>> +		if (c->x86 == 6 && c->x86_modes == 7)
>>> +			set_cpu_cap(c, X86_FEATURE_PAT);
>>>  		break;
>>>  	case X86_VENDOR_INTEL:
>>>  		if (c->x86 == 0xF || (c->x86 == 6 && c->x86_model
>>>> = 15))
>> s/modes/model/ but, as far as I'm aware, works fine other than that.
>> When I boot with CONFIG_X86_PAT after applying that, I see:
>>
>> 	x86 PAT enabled: cpu 0, old 0x7040600070406, new
>> 0x7010600070106
>>
>> and PAT is retained in the feature flags. However, this I do not
>> consider very surprising. Why is this code doing what it is doing in
>> the first place?
>>
>> These feature flags are read from hardware in the CPUID instruction.
>> Why is this code then going "ah, this CPU may _claim_ PAT but we
>> won't actually believe it unless it's model foo, bar or baz". Is that
>> feature flag buggy?
>>
> 
> older cpus had various issues with PAT, some blatently obvious, some
> more subtle.

And I suppose you have a list of these older CPUs or is this going to be
one of these things where in 5 years time I say to yet another person "ah
yes, I remember someone once telling me that old CPUs apparently had some
issues, some blatantly obvious, some more subtle" and the saga continues
on from there again?

> Since for old systems the mtrrs clearly work fine... the idea was to
> not take the risk (since there's no reward) and just leave them as
> is, in a working state.

With CONFIG_X86_PAT, you now see "CPU and/or kernel does not support PAT."
at the top of your dmesg which is going to make people wonder. I did a
cat /proc/cpuinfo, saw no PAT flag and was just suspicious enough that I
didn't trust it.

A blacklist would be a better idea I feel, but in ANY case I think it's
really bad form to clear the feature flag. They are provided by hardware;
if arch/x86/mm/pat.c won't risk running except on a select few tested
models, whatever, but my /proc/cpuinfo shouldn't be lying to me.

Rene.

  reply	other threads:[~2008-05-07 14:08 UTC|newest]

Thread overview: 81+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-05-07  1:48 2.6.26, PAT and AMD family 6 Rene Herman
2008-05-07  2:39 ` Yinghai Lu
2008-05-07 12:46   ` Undocumented and duplicated code Adrian Bunk
2008-05-07 13:14     ` Rene Herman
2008-05-07 20:52     ` 2.6.26, PAT and AMD family 6 Thomas Gleixner
2008-05-07 20:59       ` Pavel Machek
2008-05-07 21:10       ` Rene Herman
2008-05-07 21:41         ` Thomas Gleixner
2008-05-07 21:46           ` Adrian Bunk
2008-05-07 22:08             ` Thomas Gleixner
2008-05-07 22:29               ` Pavel Machek
2008-05-07 22:04           ` Rene Herman
2008-05-07 22:23             ` Rene Herman
2008-05-07 22:31           ` Yinghai Lu
2008-05-07 22:57         ` H. Peter Anvin
2008-05-08  0:02           ` Rene Herman
2008-05-08  0:03             ` H. Peter Anvin
2008-05-08  0:10               ` Rene Herman
2008-05-08  0:19                 ` Linus Torvalds
2008-05-08  0:28                   ` Rene Herman
2008-05-08  1:57                     ` [PATCH] x86: introduce a new Linux defined feature flag for PAT support Rene Herman
2008-05-08  1:58                       ` Linus Torvalds
2008-05-08  2:11                         ` H. Peter Anvin
2008-05-08  2:17                           ` Rene Herman
2008-05-08  2:24                           ` Linus Torvalds
2008-05-08  2:28                             ` H. Peter Anvin
2008-05-08 12:49                               ` Thomas Gleixner
2008-05-08 13:08                                 ` Ingo Molnar
2008-05-08 16:44                                   ` H. Peter Anvin
2008-05-08 13:11                                 ` Adrian Bunk
2008-05-08 13:33                                   ` Thomas Gleixner
2008-05-08 14:44                                 ` Rene Herman
2008-05-08 14:53                                   ` Thomas Gleixner
2008-05-08 16:48                                     ` H. Peter Anvin
2008-05-08 16:53                                       ` Rene Herman
2008-05-08  2:04                       ` [PATCH] x86: enable PAT support on AMD Duron model 7 Rene Herman
2008-05-08  2:08                         ` Arjan van de Ven
2008-05-08  2:12                           ` Rene Herman
2008-05-08 10:19                       ` [PATCH] x86: introduce a new Linux defined feature flag for PAT support Andi Kleen
2008-05-08 12:40                         ` Rene Herman
2008-05-08 13:39                           ` Andi Kleen
2008-05-08 15:32                             ` Alan Cox
2008-05-08 16:51                               ` H. Peter Anvin
2008-05-08  0:21                 ` 2.6.26, PAT and AMD family 6 Thomas Gleixner
2008-05-08  0:30                   ` Rene Herman
2008-05-08  0:15               ` Linus Torvalds
2008-05-08  0:31                 ` H. Peter Anvin
2008-05-08 10:14                   ` Andi Kleen
2008-05-08 16:43                     ` H. Peter Anvin
2008-05-07 21:23       ` Adrian Bunk
2008-05-07 21:54         ` Thomas Gleixner
2008-05-07 22:09           ` Adrian Bunk
2008-05-07 22:14           ` Pavel Machek
2008-05-07 22:22             ` Yinghai Lu
2008-05-07 22:37               ` Pavel Machek
2008-05-07 22:40                 ` Yinghai Lu
2008-05-07 23:02                   ` Pavel Machek
2008-05-07 23:02                 ` Thomas Gleixner
2008-05-07 23:10                   ` Pavel Machek
2008-05-07 23:46                     ` Thomas Gleixner
2008-05-07 22:23             ` Yinghai Lu
2008-05-07 22:39               ` Pavel Machek
2008-05-07 22:45                 ` Yinghai Lu
2008-05-07 23:06                   ` Pavel Machek
2008-05-07 23:01               ` H. Peter Anvin
2008-05-07 22:26             ` Yinghai Lu
2008-05-07 22:30               ` Rene Herman
2008-05-07 22:58             ` Thomas Gleixner
2008-05-07 13:00   ` Rene Herman
2008-05-07 13:42     ` Arjan van de Ven
2008-05-07 14:09       ` Rene Herman [this message]
2008-05-07 14:24         ` Arjan van de Ven
2008-05-07 19:08           ` Rene Herman
2008-05-07 22:17             ` Arjan van de Ven
2008-05-07 19:39     ` Daniel Hazelton
2008-05-07 20:06       ` Rene Herman
2008-05-07 20:16         ` Yinghai Lu
2008-05-07 20:18           ` Yinghai Lu
2008-05-08  4:06             ` H. Peter Anvin
  -- strict thread matches above, loose matches on Subject: below --
2008-05-07 20:44 matthieu castet
2008-05-07 20:46 ` matthieu castet

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4821B801.5030508@keyaccess.nl \
    --to=rene.herman@keyaccess.nl \
    --cc=arjan@infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@elte.hu \
    --cc=yhlu.kernel@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.