Messages in this thread | | | Date | Wed, 13 May 2009 14:44:08 +0100 | From | "Jan Beulich" <> | Subject | Re: remap allocator for per-CPU memory |
| |
>>> Tejun Heo <teheo@novell.com> 13.05.09 15:29 >>> >> (b) teach the pageattr code to handle the per-CPU virtual area similarly to >> the kernel space for x86-64 (though it's going to be a little more complicated >> since there's no pre-determined relation between the virtual and physical >> addresses - the necessary lookup might become expensive on systems with >> very many [possible] CPUs). > >Can you elaborate this a bit? Let's sya there's quick way to match >whether the page is part of the remapped large page, what can pageattr >do differently then? Applying the same attribute to both mappings? >Failing or filtering set_memory_*()?
It would have to split the page. Perhaps there wouldn't be a need to apply the new attribute to the page(s) that is(are) in the process of getting its(their) attribute(s) changed; instead, just don't re-establish a 4k mapping for those pages that aren't part of the per-CPU space.
And of course, the request should fail when it targets one of the pages that are actually part of the per-CPU space -- but would be a BUG() anyway.
Jan
| |