Displaying 5 results from an estimated 5 matches for "setpageforeign".
2006 Mar 14
1
[Xen-ia64-devel] RE: RE: Linux PG_arch_1 conflict
...tempting 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)
>
&g...
2006 Mar 14
0
RE: [Xen-ia64-devel] RE: RE: Linux PG_arch_1 conflict
...gt;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; \
>&...
2010 Feb 23
0
[PATCH] grant-table: clear page->private in gnttab_copy_grant_page
...1 files changed, 1 insertions(+), 0 deletions(-)
diff --git a/drivers/xen/grant-table.c b/drivers/xen/grant-table.c
index f225cb1..6c6f884 100644
--- a/drivers/xen/grant-table.c
+++ b/drivers/xen/grant-table.c
@@ -875,6 +875,7 @@ int gnttab_copy_grant_page(grant_ref_t ref, struct page **pagep)
SetPageForeign(page, gnttab_page_free);
ClearPageReserved(page);
+ page->private = 0UL;
page->mapping = NULL;
out:
--
1.5.6.5
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xensource.com
http://lists.xensource.com/xen-devel
2007 Jan 10
1
[PATCH] linux/i386: allow CONFIG_HIGHPTE on i386 (take 2)
...)) {
+ struct mmuext_op op;
+
+ kmap_flush_unused();
+ op.cmd = MMUEXT_PIN_L1_TABLE;
+ op.arg1.mfn = pfn_to_mfn(page_to_pfn(pte));
+ BUG_ON(HYPERVISOR_mmuext_op(&op, 1, NULL, DOMID_SELF) < 0);
+ }
#else
pte = alloc_pages(GFP_KERNEL|__GFP_REPEAT|__GFP_ZERO, 0);
+#endif
if (pte) {
SetPageForeign(pte, pte_free);
set_page_count(pte, 1);
}
-#endif
return pte;
}
void pte_free(struct page *pte)
{
- unsigned long va = (unsigned long)__va(page_to_pfn(pte)<<PAGE_SHIFT);
+ unsigned long pfn = page_to_pfn(pte);
- if (!pte_write(*virt_to_ptep(va)))
- BUG_ON(HYPERVISOR_update_va_m...
2007 Mar 20
62
RFC: [0/2] Remove netloop by lazy copying in netback
Hi Keir:
These two patches remove the need for netloop by performing the
copying in netback and only if it is necessary. The rationale
is that most packets will be processed without delay allowing
them to be freed without copying at all. So instead of copying
every packet destined to dom0 we''ll only copy those that linger
longer than a specified amount of time (currently 0.5s).
As it