Re: [XenPPC] xencomm_create_mini() w/ user buffers
On Thu, 2006-08-10 at 14:56 -0400, Jimi Xenidis wrote: > > >> 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 :) That was a question. Does it work for you? -- Hollis Blanchard IBM Linux Technology Center ___ Xen-ppc-devel mailing list Xen-ppc-devel@lists.xensource.com http://lists.xensource.com/xen-ppc-devel
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 +, 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@lists.xensource.com http://lists.xensource.com/xen-ppc-devel
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 +, 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@lists.xensource.com http://lists.xensource.com/xen-ppc-devel