|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v8 17/24] x86: L2 CAT: implement CPU init and free flow.
On 17-03-09 08:04:35, Jan Beulich wrote:
> >>> On 15.02.17 at 09:49, <yi.y.sun@xxxxxxxxxxxxxxx> wrote:
> > @@ -684,6 +686,53 @@ struct feat_ops l3_cdp_ops = {
> > .write_msr = l3_cdp_write_msr,
> > };
> >
> > +/* L2 CAT callback functions implementation. */
> > +static void l2_cat_init_feature(struct cpuid_leaf regs,
>
> const struct cpuid_leaf * (and of course I should have noticed this
> already in earlier patches, but I didn't)
>
Will fixed this from beginning.
> > + struct feat_node *feat,
> > + struct psr_socket_info *info)
> > +{
> > + struct psr_cat_hw_info l2_cat = { };
>
> I realize Konrad did ask for the initializer here, but it's really pointless
> to have such when both structure fields get very obviously set right
> below. If you want an initializer, just set the fields to their final values.
>
Got it. Thanks!
> > + unsigned int socket;
> > +
> > + /* No valid values so do not enable the feature. */
> > + if ( !regs.a || !regs.d )
> > + return;
> > +
> > + l2_cat.cbm_len = (regs.a & CAT_CBM_LEN_MASK) + 1;
> > + l2_cat.cos_max = min(opt_cos_max, regs.d & CAT_COS_MAX_MASK);
> > +
> > + /* cos=0 is reserved as default cbm(all ones). */
> > + feat->cos_reg_val[0] = (1ull << l2_cat.cbm_len) - 1;
> > +
> > + feat->feature = PSR_SOCKET_L2_CAT;
> > + ASSERT(!test_bit(PSR_SOCKET_L2_CAT, &info->feat_mask));
> > + __set_bit(PSR_SOCKET_L2_CAT, &info->feat_mask);
> > +
> > + feat->info.l2_cat_info = l2_cat;
> > +
> > + info->nr_feat++;
>
> Is this field really used for anything? I don't recall seeing other than
> these increments.
>
Just for a record. Will remove it.
> Jan
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
https://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |