Messages in this thread | | | Date | Thu, 21 Aug 2008 14:13:03 -0700 | From | Suresh Siddha <> | Subject | Re: AGP and PAT (induced?) problem (on AMD family 6) |
| |
On Wed, Aug 20, 2008 at 08:42:18PM -0700, Andi Kleen wrote: > Venki Pallipadi <venkatesh.pallipadi@intel.com> writes: > > > > We are also looking at changing the reserve_memtype in PAT, not to use linked > > list for RAM backed pages and track them in page struct. > > Back when I hacked on this I explicitely chose to not do this because > it would make it impossible to put any normal anonymous pages into > the PAT list. While that's not done today there's no reason it couldn't > be done in the future.
Andi, we are planning to add couple of page flags which will track 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. 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.
> 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).
thanks, suresh
| |