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
time?
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"?
-JX
_______________________________________________
Xen-ppc-devel mailing list
Xen-ppc-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-ppc-devel
|