mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Thomas Gleixner <tglx@linutronix.de>
To: Adrian Bunk <bunk@kernel.org>
Cc: Yinghai Lu <yhlu.kernel@gmail.com>,
	Rene Herman <rene.herman@keyaccess.nl>,
	Ingo Molnar <mingo@elte.hu>,
	Linux Kernel <linux-kernel@vger.kernel.org>,
	hpa@zytor.com, torvalds@linux-foundation.org,
	akpm@linux-foundation.org, Pavel Machek <pavel@suse.cz>
Subject: Re: 2.6.26, PAT and AMD family 6
Date: Wed, 7 May 2008 22:52:36 +0200 (CEST)	[thread overview]
Message-ID: <alpine.LFD.1.10.0805072122270.3318@apollo.tec.linutronix.de> (raw)
In-Reply-To: <20080507124650.GD29935@cs181133002.pp.htv.fi>

On Wed, 7 May 2008, Adrian Bunk wrote:

Can you please stop changing the subject lines? There is no need that
you grandstand your important findings.

> > >  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.
> 
> 
> There surely is documentation available covering this?

There is, but there is no known validation of working CPUs, erratas
...

We have a well identified set of CPUs which can handle PAT and we dont
want to open up a can of worms by unconditionally enabling it on any
piece of silicon which claims to support PAT. This was made clear from
the first submission of PAT.

Also there is no downside on these older systems. They are fine with
MTRRs and have been for years. We can revisit that once PAT support
has stabilized.

> And why do we need this clear_cpu_cap(c, X86_FEATURE_PAT) and then 
> manual setting of X86_FEATURE_PAT at all?

The reason is to make cpu_has_pat a useful check and to avoid checking
cpu vendors, families and models inside of the PAT code. That's a good
thing actually, because the PAT code only cares about that cpu_has_pat
flag.

Clearing it in the cpuinfo is just a cosmetic side effect which does
no harm at all.

> There's no indication in the code, and as Rene already says there's even
> no description at all in commit 9307cacad0dfe3749f00303125c6f7f0523e5616
>
> Such code really needs a comment explaining why we have to do this at all.

Yes, that's a valid complaint. The changelog is pretty useless.
 
> There must be some CPUs with the "pat" flag set but not being usable?
> Which?

See above.

> According to the linux-kernel discussions there might not be any broken 
> CPU at all - but in this case the whitelist will not fill itself, and 
> expecting people to note that their flags changed and complaining is not 
> really a good approach.

But this is a much better approach than enabling it on everything and
getting flooded with hard to debug problems. PAT can fire back in
various ways and restricting the stabilization of new software to a
set of working hardware is just basic good engineering practice.

> And that your commit added the same clear/set code in three different 
> places doesn't look good - this really deserved from the beginning being 
> factored out into an own function to avoid future problems when CPUs get 
> added (like what happens with your patch here - it touches only one 
> place, and since the same context is present in two places in the same 
> file "patch" might even choose freely where it gets applied...).

Did you even look into the code which does all this feature trickery
based on CPU vendors, families and models ? This is something which
can not be changed easily. It's on our todo list and you wouldnt have
noticed if 32 and 64 bit would still live in different trees.

This feature and detection code is hard to clean up and definitely out
of the scope of this patch.

> Guys, even if it compiles in all randconfig configurations and works on 
> all test machines this is exactly the kind of stuff that causes 
> headaches in the future.

Dude, we are working hard to get x86 in shape, but we can not change
it over in no time except if we stop development on x86 completely for
two kernel versions. No, we have to clean this up gradually and accept
that there is still duplicated code moving in.

> And this patch (by the author of the code himself) is the first time 
> where it breaks.

Very interesting analysis. What broke ? This CPU was never in the set
of supported ones at all.

Anyway, you are welcome to review x86 code - it can definitely use
more eyeballs, but please try to inform yourself about the topic or
ask polite questions before yelling at people who contribute in a
very valuable way.

Thanks,

	tglx

  parent reply	other threads:[~2008-05-07 20:53 UTC|newest]

Thread overview: 81+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-05-07  1:48 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     ` Thomas Gleixner [this message]
2008-05-07 20:59       ` 2.6.26, PAT and AMD family 6 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
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
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=alpine.LFD.1.10.0805072122270.3318@apollo.tec.linutronix.de \
    --to=tglx@linutronix.de \
    --cc=akpm@linux-foundation.org \
    --cc=bunk@kernel.org \
    --cc=hpa@zytor.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@elte.hu \
    --cc=pavel@suse.cz \
    --cc=rene.herman@keyaccess.nl \
    --cc=torvalds@linux-foundation.org \
    --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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®