Magenheimer, Dan (HP Labs Fort Collins)
2006-Mar-13 21:20 UTC
[Xen-devel] RE: Linux PG_arch_1 conflict
> On 10 Mar 2006, at 21:11, Magenheimer, Dan (HP Labs Fort > Collins) wrote: > > >> That thread seems to already have a solution. Has anybody > run it past > >> Linux MM people? (Adding xen-devel to CC for greater exposure.) > > > > If by "solution" you mean that Keir could change Xenlinux to > > add a new "PG_foreign" bit and change Xenlinux/x86 (and netback) > > to use that bit rather than PG_arch_1, I agree. > > > > Comments, Keir (or others)? > > Sounds like the proper fix. I''ll leave it to Christian and others > involved in the Linux upstreaming effort to have the final word.Comments, Christian (or others)? Any chance this will get into 3.0.2? Certainly it should be changed before attempting to push the drivers upstream to Linux. _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
On Mon, Mar 13, 2006 at 01:20:39PM -0800, Magenheimer, Dan (HP Labs Fort Collins) wrote:> > On 10 Mar 2006, at 21:11, Magenheimer, Dan (HP Labs Fort > > Collins) wrote: > > > > >> That thread seems to already have a solution. Has anybody > > run it past > > >> Linux MM people? (Adding xen-devel to CC for greater exposure.) > > > > > > If by "solution" you mean that Keir could change Xenlinux to > > > add a new "PG_foreign" bit and change Xenlinux/x86 (and netback) > > > to use that bit rather than PG_arch_1, I agree. > > > > > > Comments, Keir (or others)? > > > > Sounds like the proper fix. I''ll leave it to Christian and others > > involved in the Linux upstreaming effort to have the final word. > > Comments, Christian (or others)? Any chance this will get into > 3.0.2? Certainly it should be changed before attempting to push > the drivers upstream to Linux.What do you think of the followings? Too hacky? extern struct address_space xen_ia64_foreign_dummy_mapping; #define PageForeign(page) \ (page->mapping == &xen_ia64_foreign_dummy_mapping) #define SetPageForeign(page, dtor) do { \ set_page_private((page), (unsigned long)dtor); \ (page)->mapping = &xen_ia64_foreign_dummy_mapping; \ } while (0) #define ClearPageForeign(page) do { \ (page)->mapping = NULL; \ set_page_private((page), 0); \ } while (0) #define PageForeignDestructor(page) \ ( (void (*) (struct page *)) page_private((page)) ) -- yamahata _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel