[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH v4 04/11] xen: extend domctl interface for cache coloring
Hi Julien and Jan, On Thu, Jan 26, 2023 at 11:21 AM Julien Grall <julien@xxxxxxx> wrote: > > Hi, > > On 25/01/2023 16:27, Carlo Nonato wrote: > > On Tue, Jan 24, 2023 at 5:29 PM Jan Beulich <jbeulich@xxxxxxxx> wrote: > >> > >> On 23.01.2023 16:47, Carlo Nonato wrote: > >>> @@ -275,6 +276,19 @@ unsigned int *dom0_llc_colors(unsigned int > >>> *num_colors) > >>> return colors; > >>> } > >>> > >>> +unsigned int *llc_colors_from_guest(struct xen_domctl_createdomain > >>> *config) > >> > >> const struct ...? > >> > >>> +{ > >>> + unsigned int *colors; > >>> + > >>> + if ( !config->num_llc_colors ) > >>> + return NULL; > >>> + > >>> + colors = alloc_colors(config->num_llc_colors); > >> > >> Error handling needs to occur here; the panic() in alloc_colors() needs > >> to go away. > >> > >>> @@ -434,7 +436,15 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xen_domctl_t) > >>> u_domctl) > >>> rover = dom; > >>> } > >>> > >>> - d = domain_create(dom, &op->u.createdomain, false); > >>> + if ( llc_coloring_enabled ) > >>> + { > >>> + llc_colors = llc_colors_from_guest(&op->u.createdomain); > >>> + num_llc_colors = op->u.createdomain.num_llc_colors; > >> > >> I think you would better avoid setting num_llc_colors to non-zero if > >> you got back NULL from the function. It's at best confusing. > >> > >>> @@ -92,6 +92,10 @@ struct xen_domctl_createdomain { > >>> /* CPU pool to use; specify 0 or a specific existing pool */ > >>> uint32_t cpupool_id; > >>> > >>> + /* IN LLC coloring parameters */ > >>> + uint32_t num_llc_colors; > >>> + XEN_GUEST_HANDLE(uint32) llc_colors; > >> > >> Despite your earlier replies I continue to be unconvinced that this > >> is information which needs to be available right at domain_create. > >> Without that you'd also get away without the sufficiently odd > >> domain_create_llc_colored(). (Odd because: Think of two or three > >> more extended features appearing, all of which want a special cased > >> domain_create().) > > > > Yes, I definitely see your point. Still there is the p2m table allocation > > problem that you and Julien have discussed previously. I'm not sure I > > understood what the approach is. > > Henry has sent a series [1] to remove the requirement to allocate the > P2M in domain_create(). > > With that series applied, there requirements to pass the colors at > domain creation should be lifted. > > Cheers, > > [1] > https://lore.kernel.org/xen-devel/20230116015820.1269387-1-Henry.Wang@xxxxxxx/ Really nice. Thanks to both. > > > >> Jan > > -- > Julien Grall
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |