[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v14 13/23] x86: refactor psr: CDP: implement CPU init flow.
>>> Yi Sun <yi.y.sun@xxxxxxxxxxxxxxx> 07/15/17 2:48 AM >>> >@@ -272,7 +312,8 @@ static int cat_init_feature(const struct cpuid_leaf *regs, >if ( !opt_cpu_info ) >return 0; > >- printk(XENLOG_INFO "CAT: enabled on socket %u, cos_max:%u, cbm_len:%u\n", >+ printk(XENLOG_INFO "%s: enabled on socket %u, cos_max:%u, cbm_len:%u\n", >+ ((type == FEAT_TYPE_L3_CDP) ? "CDP" : "L3 CAT"), Why is this not "L3 CDP" when the enumerator includes L3? >@@ -1283,10 +1344,22 @@ static void psr_cpu_init(void) >feat = feat_l3; >feat_l3 = NULL; > >- if ( !cat_init_feature(®s, feat, info, FEAT_TYPE_L3_CAT) ) >- feat_props[FEAT_TYPE_L3_CAT] = &l3_cat_props; >+ if ( (regs.c & PSR_CAT_CDP_CAPABILITY) && (opt_psr & PSR_CDP) ) >+ { >+ if ( !cat_init_feature(®s, feat, info, FEAT_TYPE_L3_CDP) ) >+ feat_props[FEAT_TYPE_L3_CDP] = &l3_cdp_props; >+ else >+ /* If CDP init fails, try to work as L3 CAT. */ >+ goto l3_cat_init; >+ } >else >- feat_l3 = feat; >+ { >+ l3_cat_init: I'd really like to ask to re-structure this slightly so that you won't need goto and a label here. As said before, goto-s are sort of okay for making complicated error paths readable, but they should be avoided in almost all other cases. Jan _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx https://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |