[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20080822021221.GD23334@one.firstfloor.org>
Date: Fri, 22 Aug 2008 04:12:21 +0200
From: Andi Kleen <andi@...stfloor.org>
To: Suresh Siddha <suresh.b.siddha@...el.com>
Cc: Andi Kleen <andi@...stfloor.org>,
"Pallipadi, Venkatesh" <venkatesh.pallipadi@...el.com>,
Dave Airlie <airlied@...il.com>,
Rene Herman <rene.herman@...access.nl>,
Ingo Molnar <mingo@...e.hu>,
"Li, Shaohua" <shaohua.li@...el.com>,
Yinghai Lu <yhlu.kernel@...il.com>,
Andreas Herrmann <andreas.herrmann3@....com>,
Arjan van de Ven <arjan@...radead.org>,
Linux Kernel <linux-kernel@...r.kernel.org>,
Thomas Gleixner <tglx@...utronix.de>,
"H. Peter Anvin" <hpa@...or.com>,
Dave Jones <davej@...emonkey.org.uk>
Subject: Re: AGP and PAT (induced?) problem (on AMD family 6)
> Andi, we are planning to add couple of page flags which will track
page flags are still scarce unfortunately, at least on 32bit.
It's a little better now than it used to be (at some point
they were nearly out before some were reclaimed), but adding a lot
of flags is still difficult.
In interest of full disclosure I need at least two for other
work too.
On 64bit adding a lot of new flags is fine, but 64bit only
solutions are not good in this case.
> the memory attribute of the page. We need to do some checks like,
> allow the memory attribute of the page to be changed, only if it is not
> mapped any where and not on free lists(like the in the X driver case,
> where they allocate the page and then change the attribute). Similarly,
> in generic -mm, we need to ensure that the page before it gets added to free
> list, has the right memory attribute etc.
You want to handle that in __free_pages?
I would have thought that should be handled in some higher level
function which could just check the memattr.
If the driver is exposing this
> page with special attribute, then it is drivers responsibility to
> use the same attribute across all the mappings.
>
> Is there a reason why this won't work with anonymous pages? Can you please
> elaborate.
The issue is just if you reuse the two list heads in struct page
because they're already used by the
Adding flags does not conflict here of course.
> > Also it doesn't fix the scalability of the data structure anyways
> > (a list is a list), just saves some memory.
>
> With this, we will track only the reserved regions using the linked list
> and typically these reserved regions will be small number (may be huge
> contiguous chunks but total number of such chunks will be reasonably smaller).
Reserved region defined how exactly?
-Andi
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists