|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH 02/12] xen/arm: add cache coloring initialization for domains
Hi Wei,
On Mon, Sep 26, 2022 at 8:39 AM Wei Chen <Wei.Chen@xxxxxxx> wrote:
> On 2022/8/26 20:51, Carlo Nonato wrote:
> > +int domain_coloring_init(struct domain *d,
> > + const struct xen_arch_domainconfig *config)
> > +{
> > + if ( is_domain_direct_mapped(d) )
> > + {
> > + printk(XENLOG_ERR
> > + "Can't enable coloring and directmap at the same time for
> > %pd\n",
> > + d);
> > + return -EINVAL;
> > + }
> > +
> > + if ( is_hardware_domain(d) )
> > + {
> > + d->arch.colors = dom0_colors;
> > + d->arch.num_colors = dom0_num_colors;
> > + }
> > + else if ( config->num_colors == 0 )
> > + {
> > + printk(XENLOG_WARNING
> > + "Color config not found for %pd. Using default\n", d);
> > + d->arch.colors = xzalloc_array(unsigned int, max_colors);
> > + d->arch.num_colors = set_default_domain_colors(d->arch.colors);
> > + }
> > + else
> > + {
> > + d->arch.colors = xzalloc_array(unsigned int, config->num_colors);
> > + d->arch.num_colors = config->num_colors;
> > + if ( config->from_guest )
> > + copy_from_guest(d->arch.colors, config->colors,
> > config->num_colors);
> > + else
> > + memcpy(d->arch.colors, config->colors.p,
> > + sizeof(unsigned int) * config->num_colors);
> > + }
> > +
> > + if ( !d->arch.colors )
> > + {
> > + printk(XENLOG_ERR "Colors allocation failed for %pd\n", d);
> > + return -ENOMEM;
> > + }
> > +
> > + if ( !check_colors(d->arch.colors, d->arch.num_colors) )
> > + {
>
> If we add xfree(d->arch.colors) here for non-hw domains, is it possible
> to make this function have a complete fallback process? And I know
> currently, this is handled in domain_coloring_free.
Yes, you're right. Added.
> Cheers,
> Wei Chen
Thanks.
- Carlo Nonato
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |