This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
Home Products Support Community News


Re: [XenPPC] xencomm_create_mini() w/ user buffers

On Aug 10, 2006, at 2:04 PM, Hollis Blanchard wrote:

On Thu, 2006-08-10 at 13:51 -0400, Jimi Xenidis wrote:
On Aug 10, 2006, at 1:45 PM, Hollis Blanchard wrote:

On Wed, 2006-08-09 at 23:02 +0000, Xen patchbot-linux-ppc-2.6 wrote:
-       rc = xencomm_create(arg, argsize, &desc, GFP_KERNEL);
+       if (!slab) {
+               slab = slab_is_available();
+       }
+       if (slab)
+ rc = xencomm_create(arg, argsize, &desc, GFP_KERNEL);
+       else
+ rc = xencomm_create_mini(xc_area, XENCOMM_MINI_AREA,
+                                        arg, argsize, &desc);

Why bother? If you have to use _mini() once, why not just use it
all the

Because _mini() is for kernel space only, and this routine services
user-level pointers as well, I did not think that changing _mini()
was worth it.

Would xencomm_create_mini() work just as well using __vaddr_to_paddr? It
looks like we could remove __kern_paddr entirely.

Well I was not sure why you made __kern_paddr(), I was not prepared to remove it without consulting you.
Glad it working :)

Actually, instead of slab_is_available() we could have use something
like "have started init"() but I know of no such function.

The real question is "can we call get_free_page()?" Having started init
seems as coincidentally related to that as slab_is_available()...
aww cmon, slab and free_page() are a least 2nd cousins :)

but actually, I think the real question is "is arg a user level pointer"?

Xen-ppc-devel mailing list