[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

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



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.

> 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()...

-- 
Hollis Blanchard
IBM Linux Technology Center


_______________________________________________
Xen-ppc-devel mailing list
Xen-ppc-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-ppc-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.