From: Rene Herman <rene.herman@keyaccess.nl>
To: Ingo Molnar <mingo@elte.hu>, "Li, Shaohua" <shaohua.li@intel.com>
Cc: Venki Pallipadi <venkatesh.pallipadi@intel.com>,
Dave Airlie <airlied@gmail.com>,
Yinghai Lu <yhlu.kernel@gmail.com>,
Andreas Herrmann <andreas.herrmann3@amd.com>,
Arjan van de Ven <arjan@infradead.org>,
Linux Kernel <linux-kernel@vger.kernel.org>,
"Siddha, Suresh B" <suresh.b.siddha@intel.com>,
Thomas Gleixner <tglx@linutronix.de>,
"H. Peter Anvin" <hpa@zytor.com>,
Dave Jones <davej@codemonkey.org.uk>
Subject: [PATCH] x86: {reverve,free}_memtype() take a physical address
Date: Fri, 22 Aug 2008 00:10:13 +0200 [thread overview]
Message-ID: <48ADE7C5.9030802@keyaccess.nl> (raw)
In-Reply-To: <48ADA2C2.8090905@keyaccess.nl>
[-- Attachment #1: Type: text/plain, Size: 563 bytes --]
On 21-08-08 19:15, Rene Herman wrote:
> On 21-08-08 14:06, Ingo Molnar wrote:
>> Would be nice to test tip/master - it has both that patch included and
>> the latest pageattr-array API (with enablement in AGP drivers)
>> patchset, done by Shaohua Li, based on Dave's original patch.
>
> That patch by itself doesn't help any -- the new set_memory_array_uc()
> still calls reserve_memtype() for each single page in the array.
Worse yet, it appears to be broken. {reserve,free}_memtype() expect phys
addresses but it's being passed virtual ones...
Rene.
[-- Attachment #2: 0001-x86-reverve-free-_memtype-take-a-physical-addres.patch --]
[-- Type: text/plain, Size: 1629 bytes --]
>From 48b9d479e149dffac24f98f9491174fdfc19d26b Mon Sep 17 00:00:00 2001
From: Rene Herman <rene.herman@gmail.com>
Date: Thu, 21 Aug 2008 23:32:25 +0200
Subject: [PATCH] x86: {reverve,free}_memtype() take a physical address
The new set_memory_array_{uc,wb}() pass virtual addresses to
{reserve,free}_memtype() it seems.
Signed-off-by: Rene Herman <rene.herman@gmail.com>
---
arch/x86/mm/pageattr.c | 6 +++---
1 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/arch/x86/mm/pageattr.c b/arch/x86/mm/pageattr.c
index b351c4f..d49e4db 100644
--- a/arch/x86/mm/pageattr.c
+++ b/arch/x86/mm/pageattr.c
@@ -947,7 +947,7 @@ int set_memory_array_uc(unsigned long *addr, int addrinarray)
* for now UC MINUS. see comments in ioremap_nocache()
*/
for (i = 0; i < addrinarray; i++) {
- if (reserve_memtype(addr[i], addr[i] + PAGE_SIZE,
+ if (reserve_memtype(__pa(addr[i]), __pa(addr[i]) + PAGE_SIZE,
_PAGE_CACHE_UC_MINUS, NULL))
goto out;
}
@@ -956,7 +956,7 @@ int set_memory_array_uc(unsigned long *addr, int addrinarray)
__pgprot(_PAGE_CACHE_UC_MINUS), 1);
out:
while (--i >= 0)
- free_memtype(addr[i], addr[i] + PAGE_SIZE);
+ free_memtype(__pa(addr[i]), __pa(addr[i]) + PAGE_SIZE);
return -EINVAL;
}
EXPORT_SYMBOL(set_memory_array_uc);
@@ -998,7 +998,7 @@ int set_memory_array_wb(unsigned long *addr, int addrinarray)
{
int i;
for (i = 0; i < addrinarray; i++)
- free_memtype(addr[i], addr[i] + PAGE_SIZE);
+ free_memtype(__pa(addr[i]), __pa(addr[i]) + PAGE_SIZE);
return change_page_attr_clear(addr, addrinarray,
__pgprot(_PAGE_CACHE_MASK), 1);
--
1.5.5
next prev parent reply other threads:[~2008-08-21 22:09 UTC|newest]
Thread overview: 46+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-08-04 16:30 AGP and PAT (induced?) problem (on AMD family 6) Rene Herman
2008-08-06 13:51 ` Andreas Herrmann
2008-08-06 20:57 ` Rene Herman
2008-08-11 9:46 ` Rene Herman
2008-08-15 14:22 ` Ingo Molnar
2008-08-15 15:24 ` Rene Herman
2008-08-19 10:11 ` Rene Herman
2008-08-19 10:26 ` Ingo Molnar
2008-08-19 14:19 ` Rene Herman
2008-08-19 19:07 ` Venki Pallipadi
2008-08-19 19:22 ` Rene Herman
2008-08-19 23:28 ` Venki Pallipadi
2008-08-20 10:09 ` Ingo Molnar
2008-08-20 10:04 ` Ingo Molnar
2008-08-20 10:50 ` Rene Herman
2008-08-20 14:27 ` Rene Herman
2008-08-20 19:41 ` Venki Pallipadi
2008-08-20 21:40 ` Rene Herman
2008-08-20 21:46 ` Dave Airlie
2008-08-20 22:16 ` Venki Pallipadi
2008-08-21 3:42 ` Andi Kleen
2008-08-21 21:13 ` Suresh Siddha
2008-08-22 2:12 ` Andi Kleen
2008-08-21 12:06 ` Ingo Molnar
2008-08-21 17:15 ` Rene Herman
2008-08-21 22:10 ` Rene Herman [this message]
2008-08-21 22:16 ` [PATCH] x86: {reverve,free}_memtype() take a physical address Pallipadi, Venkatesh
2008-08-21 22:26 ` Rene Herman
2008-08-21 22:57 ` Pallipadi, Venkatesh
2008-08-21 23:06 ` Rene Herman
2008-08-21 23:02 ` [PATCH] x86: have set_memory_array_{uc,wb} coalesce memtypes Rene Herman
2008-08-22 4:15 ` Ingo Molnar
2008-08-22 19:08 ` Venki Pallipadi
2008-08-22 20:15 ` Rene Herman
2008-08-23 15:33 ` Ingo Molnar
2008-08-22 20:02 ` Rene Herman
2008-09-10 19:52 ` AGP PAT issue Rene Herman
2008-09-11 8:17 ` Ingo Molnar
2008-09-11 8:30 ` Rene Herman
2008-09-13 0:26 ` Pallipadi, Venkatesh
2008-09-13 0:44 ` Rene Herman
2008-10-09 15:53 ` Thomas Hellstrom
2008-10-13 17:10 ` Pallipadi, Venkatesh
2008-10-13 19:26 ` Thomas Hellström
2008-08-20 21:02 ` AGP and PAT (induced?) problem (on AMD family 6) Dave Airlie
2008-08-20 21:16 ` Rene Herman
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=48ADE7C5.9030802@keyaccess.nl \
--to=rene.herman@keyaccess.nl \
--cc=airlied@gmail.com \
--cc=andreas.herrmann3@amd.com \
--cc=arjan@infradead.org \
--cc=davej@codemonkey.org.uk \
--cc=hpa@zytor.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=shaohua.li@intel.com \
--cc=suresh.b.siddha@intel.com \
--cc=tglx@linutronix.de \
--cc=venkatesh.pallipadi@intel.com \
--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.