Displaying 5 results from an estimated 5 matches for "pageforeign".
2006 Mar 14
1
[Xen-ia64-devel] RE: RE: Linux PG_arch_1 conflict
...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...
2007 Jun 11
5
[PATCH][Linux] gnttab: make dma address conversion logic of gnttab dma arch specific.
..._SYMBOL(gnttab_copy_grant_page);
*
* All other pages are simply returned as is.
*/
-maddr_t gnttab_dma_map_page(struct page *page)
-{
- maddr_t maddr = page_to_bus(page);
+void __gnttab_dma_map_page(struct page *page,
+ int (*local_pfn)(struct page *page))
+{
unsigned int seq;
- if (!PageForeign(page))
- return maddr;
+ if (!is_running_on_xen() || !PageForeign(page))
+ return;
do {
seq = read_seqbegin(&gnttab_dma_lock);
- maddr = page_to_bus(page);
-
- /* Has it become a local MFN? */
- if (pfn_valid(mfn_to_local_pfn(maddr >> PAGE_SHIFT)))
+
+ if (local_pfn &&...
2006 Mar 10
1
RE: Linux PG_arch_1 conflict
...The issue is that PG_arch_1 is reserved for arch-specific
> > usage, the paravirtualization changes for Xenlinux utilize
> > it (to mark foreign pages) because it was otherwise unused
> > in Linux/x86. But Xen is no longer an arch.
> >
> > Grep''ing for "PageForeign" in -sparse will show most (all?)
> > of the actual uses of it. Nearly all are in x86-specific
> > code. But one is in netback_init().
>
> That thread seems to already have a solution. Has anybody run it past
> Linux MM people? (Adding xen-devel to CC for greater expos...
2006 Mar 14
0
RE: [Xen-ia64-devel] RE: RE: Linux PG_arch_1 conflict
>From: Isaku Yamahata
>Sent: 2006年3月14日 12:43
>> >
>> >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; \
>>...
2011 Jun 24
19
SKB paged fragment lifecycle on receive
...ck although as I say I think the class of
problem reaches a bit wider than that. Whether the session will be a
discussion around ways of solving the issue or a presentation on the
solution remains to be seen ;-)
Ian.
[0] at least with a mainline kernel, in the older out-of-tree Xen stuff
we had a PageForeign page-flag and a destructor function in a spare
struct page field which was called from the mm free routines
(free_pages_prepare and free_hot_cold_page). I''m under no illusions
about the upstreamability of this approach...
_______________________________________________
Xen-devel mailing...