From: Andi Kleen <ak@suse.de>
To: Thomas Gleixner <tglx@linutronix.de>
Cc: Andi Kleen <ak@suse.de>, Ingo Molnar <mingo@elte.hu>,
linux-kernel@vger.kernel.org, jbeulich@novell.com,
venkatesh.pallipadi@intel.com, "H. Peter Anvin" <hpa@zytor.com>
Subject: Re: CPA boot crash (was: [PATCH] [0/36] Great change_page_attr patch series v3)
Date: Wed, 23 Jan 2008 09:09:54 +0100 [thread overview]
Message-ID: <20080123080953.GA28855@wotan.suse.de> (raw)
In-Reply-To: <alpine.LFD.1.00.0801221623210.3199@apollo.tec.linutronix.de>
> Your patches just shove another extra into the existing code base
> without doing any consolidation work and without any consideration of
> problems we need to urgently solve in this area.
I fixed the problems in CPA I was aware of -- I'm not aware of
any other current ones (urgent or not).
> Your only care is to get stuff merged which is interesting for you.
Very true -- by definition I'm not interested in things I'm not interested
in. Thanks for reminding me of that :-) However it would surprise
me if that was different for you or anybody else.
> can understand that, but it should be entirely clear to you as an
> engineer that ignoring the existing problems and adding more (even
Can you elaborate on the existing problems in the CPA code?
(excluding issues already fixed in my CPA patch series)
I'm truly curious what these are.
> PAT is high on the requirements list, not because it's not complex (it
> definitely is), but simply because Linux has a years long of backlog
> (it's the only modern OS on the planet still not using PAT) and
> hardware makers are stepping beyond the limits of MTRRs. There is an
> increasing number of systems which don't work under Linux properly due
> to the MTRR limitations, but work perfectly fine with other
> OSs.
Actually I'm not aware of any shipping box that doesn't work currently on Linux
because of no PAT or MTRRs. Do you have an example? I know BIOS
people have been grumbling about it, but I don't think there were
any real show stoppers so far.
It is pretty hard to imagine that ever being the case anyways. We already
did non caching mappings for quite some time using the page tables
(although admittedly not fully correct and a little unsafe, but probably
well enough in practice). The only value add that you get from
true PAT support is write-combining and write combining over uncacheable
is always only an optimization; nothing required to make
boxes work.
Admittedly it is helpful for 3d graphics, but the current state
is that the big out of tree 3d stuff reprograms the PAT registers
on its own. While replacing that with an in tree solution
will be a good idea it is not really all that urgent.
But I'm not saying that that PAT shouldn't be merged
anyways -- i wouldn't have worked on these patches earlier
if that was the case -- i'm just disagreeing on you
saying it is more important than anything else. I also think
it will take longer to make it really stable enough to be mergeable
(.26 target would be probably ambitious) so I don't think other patches
should be delayed for such a long time just because of it.
> While PAT is a 10 years old hardware feature, gbpages is a feature for
> a brand new chip, which is not even available to mere mortals in a
> useable form. And there is no real problem with not having gbpages for
AMD shipped over 400k of them last quarter and they are perfectly usable
if you run them with an uptodate BIOS.
> some time. So where is the pressure to get that in?
For me it's mostly that I was sitting too long on that patch
(ok that's my own fault) so I finally want to get it out.
Also I don't know of any real reason to delay it much longer -- it is
not particularly tricky and contrary to your claims it does not actually
interact in a great way with with PAT or anything else pretty much.
Ok there are some changes to CPA, but they're IMNSHO quite
straight forward extensions of already existing code in there.
> Just because it
> can be done and happens to work on some test machine?
When a patch kit works and does not cause any big risks and is
clean code and there are no fundamental design problems
what use is there in delaying it unnecessarily?
-Andi
prev parent reply other threads:[~2008-01-23 8:10 UTC|newest]
Thread overview: 59+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-01-16 22:14 [PATCH] [0/36] Great change_page_attr patch series v3 Andi Kleen
2008-01-16 22:14 ` [PATCH] [1/36] Undo pat cpa patch Andi Kleen
2008-01-16 22:15 ` [PATCH] [2/36] Undo pageattr_32 portions of 11c9734cbcf4c5862260442a5d56dd4779799fcc Andi Kleen
2008-01-16 22:15 ` [PATCH] [3/36] Undo pageattr_64 parts of 4157e20af49a04d75a807e6d15b3e70c8e688ccc Andi Kleen
2008-01-16 22:15 ` [PATCH] [4/36] CPA: Undo white space changes Andi Kleen
2008-01-16 22:15 ` [PATCH] [5/36] CPA: Implement change_page_attr_addr entry point for i386 Andi Kleen
2008-01-16 22:15 ` [PATCH] [6/36] CPA Handle 4K split pages at boot on 64bit Andi Kleen
2008-01-16 22:15 ` [PATCH] [7/36] Shrink __PAGE_KERNEL/__PAGE_KERNEL_EXEC on non PAE kernels Andi Kleen
2008-01-16 22:15 ` [PATCH] [8/36] CPA: Do a simple self test at boot Andi Kleen
2008-01-16 22:15 ` [PATCH] [9/36] Add pte accessors for the global bit Andi Kleen
2008-01-16 22:15 ` [PATCH] [10/36] Add pte_pgprot on i386 Andi Kleen
2008-01-16 22:15 ` [PATCH] [11/36] Don't drop NX bit in pte modifier functions for 32bit Andi Kleen
2008-01-16 22:15 ` [PATCH] [12/36] Extract page table dumping code from i386 fault handler into dump_pagetable() Andi Kleen
2008-01-16 22:15 ` [PATCH] [13/36] CPA: Return the page table level in lookup_address() Andi Kleen
2008-01-16 22:15 ` [PATCH] [14/36] CPA: Add simple self test at boot Andi Kleen
2008-01-16 22:15 ` [PATCH] [15/36] CPA: Change kernel_map_pages to not use c_p_a() Andi Kleen
2008-01-16 22:15 ` [PATCH] [16/36] CPA: Change 32bit back to init_mm semaphore locking Andi Kleen
2008-01-16 22:15 ` [PATCH] [17/36] CPA: CLFLUSH support in change_page_attr() Andi Kleen
2008-01-16 22:15 ` [PATCH] [18/36] CPA: Use macros to modify the PG_arch_1 page flags in change_page_attr Andi Kleen
2008-01-16 22:15 ` [PATCH] [19/36] CPA: Use page granuality TLB flushing " Andi Kleen
2008-01-16 22:15 ` [PATCH] [20/36] CPA: Don't flush the caches when the CPU supports self-snoop Andi Kleen
2008-01-16 22:15 ` [PATCH] [21/36] CPA: Use wbinvd() macro instead of inline assembly in 64bit c_p_a() Andi Kleen
2008-01-16 22:15 ` [PATCH] [22/36] CPA: Reorder TLB / cache flushes to follow Intel recommendation Andi Kleen
2008-01-16 22:15 ` [PATCH] [23/36] CPA: Make change_page_attr() more robust against use of PAT bits Andi Kleen
2008-01-16 22:15 ` [PATCH] [24/36] CPA: Limit cache flushing to pages that really change caching Andi Kleen
2008-01-16 22:15 ` [PATCH] [25/36] CPA: Fix inaccurate comments in 64bit change_page_attr() Andi Kleen
2008-01-16 22:15 ` [PATCH] [26/36] CPA: Dump pagetable when inconsistency is detected Andi Kleen
2008-01-16 22:15 ` [PATCH] [27/36] CPA: Only queue actually unused page table pages for freeing Andi Kleen
2008-01-16 22:15 ` [PATCH] [28/36] CPA: Remove unnecessary masking of address Andi Kleen
2008-01-16 22:15 ` [PATCH] [29/36] CPA: Only unmap kernel init pages in text mapping when CONFIG_DEBUG_RODATA is set Andi Kleen
2008-01-16 22:15 ` [PATCH] [30/36] CPA: Always do full TLB flush when splitting large pages Andi Kleen
2008-01-16 22:15 ` [PATCH] [31/36] CPA: Fix reference counting when changing already changed pages Andi Kleen
2008-01-16 22:15 ` [PATCH] [32/36] CPA: Change comments of external interfaces to kerneldoc format Andi Kleen
2008-01-16 22:15 ` [PATCH] [33/36] CPA: Make kernel_text test match boot mapping initialization Andi Kleen
2008-01-16 22:15 ` [PATCH] [34/36] CPA: Add a BUG_ON checking for someone setting the kernel text NX Andi Kleen
2008-01-16 22:15 ` [PATCH] [35/36] Remove set_kernel_exec Andi Kleen
2008-01-16 22:15 ` [PATCH] [36/36] Clean up pte_exec Andi Kleen
2008-01-18 9:56 ` [PATCH] [0/36] Great change_page_attr patch series v3 Ingo Molnar
2008-01-18 15:33 ` CPA boot crash (was: [PATCH] [0/36] Great change_page_attr patch series v3) Ingo Molnar
2008-01-18 15:38 ` Ingo Molnar
2008-01-18 15:56 ` Ingo Molnar
2008-01-18 16:01 ` Andi Kleen
2008-01-18 16:05 ` CPA boot crash (was: [PATCH] [0/36] Great change_page_attr patch series v3) II Andi Kleen
2008-01-18 16:07 ` CPA boot crash (was: [PATCH] [0/36] Great change_page_attr patch series v3) Ingo Molnar
2008-01-18 16:16 ` Andi Kleen
2008-01-18 16:21 ` Ingo Molnar
2008-01-18 16:34 ` Andi Kleen
2008-01-18 16:48 ` Ingo Molnar
2008-01-18 17:19 ` Andi Kleen
2008-01-21 16:40 ` Ingo Molnar
2008-01-21 17:13 ` Andi Kleen
2008-01-22 13:12 ` Thomas Gleixner
2008-01-22 13:23 ` Andi Kleen
2008-01-22 14:06 ` Thomas Gleixner
2008-01-22 14:21 ` Andi Kleen
2008-01-23 0:00 ` Ingo Molnar
2008-01-23 9:05 ` Andi Kleen
2008-01-23 0:35 ` Thomas Gleixner
2008-01-23 8:09 ` Andi Kleen [this message]
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=20080123080953.GA28855@wotan.suse.de \
--to=ak@suse.de \
--cc=hpa@zytor.com \
--cc=jbeulich@novell.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=tglx@linutronix.de \
--cc=venkatesh.pallipadi@intel.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.