[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v11 15/23] x86: refactor psr: CDP: implement set value callback function.
>>> On 06.06.17 at 12:43, <yi.y.sun@xxxxxxxxxxxxxxx> wrote: > Ok, I should think more. :) > > Then, please check below solution. > > This case only happens in CDP mode that the input cbm_type corresponds to L3 > CAT but current feat_type is CDP. In all other modes, the input cbm_type > corresponds to its own mode. So, maybe we can implement codes as below. > > //Add an input parameter 'bool strict' > static enum psr_feat_type psr_cbm_type_to_feat_type(enum cbm_type type, boot > strict) > { > ... > switch ( type ) > { > case PSR_CBM_TYPE_L3: > feat_type = PSR_SOCKET_L3_CAT; > > /* > * If type is L3 CAT but we cannot find it in feat_props array, > * try CDP. > */ > if ( !feat_props[feat_type] && !strict ) > feat_type = PSR_SOCKET_L3_CDP; > > break; > > case PSR_CBM_TYPE_L3_DATA: > case PSR_CBM_TYPE_L3_CODE: > feat_type = PSR_SOCKET_L3_CDP; > break; > ... > } > > //Input feat_type is PSR_SOCKET_L3_CDP, type is PSR_CBM_TYPE_L3 > static int insert_val_into_array(feat_type, type) > { > ... > for ( i = 0; i < props->cos_num; i++ ) > { > if ( type == props->type[i] || > feat_type != psr_cbm_type_to_feat_type(type, true) ) > { > val[i] = new_val; > ret = 0; > } > } > > return ret; > } Thanks, this looks better, but I will want to see this in context of the next version of the patch series before making up a final opinion. Jan _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx https://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |