|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v8 18/24] x86: L2 CAT: implement get hw info flow.
On 17-03-09 08:13:59, Jan Beulich wrote:
> >>> On 15.02.17 at 09:49, <yi.y.sun@xxxxxxxxxxxxxxx> wrote:
> > +static bool l2_cat_get_feat_info(const struct feat_node *feat,
> > + uint32_t data[], uint32_t array_len)
> > +{
> > + if ( !data || 2 > array_len )
> > + return false;
> > +
> > + data[CBM_LEN] = feat->info.l2_cat_info.cbm_len;
> > + data[COS_MAX] = feat->info.l2_cat_info.cos_max;
>
> What about PSR_FLAG? Which puts under question the
> array_len check at the start of this and its sibling functions: If
> more array entries are provided, they'd all be left uninitialized
> without the caller having a way to know. Coming back to the
> data structures being the same for all features, there should
> presumably be a structure instead of an array be used for
> communication here, and ...
>
> > @@ -754,6 +755,11 @@ struct xen_sysctl_psr_cat_op {
> > #define XEN_SYSCTL_PSR_CAT_L3_CDP (1u << 0)
> > uint32_t flags; /* OUT: CAT flags */
> > } l3_info;
> > +
> > + struct {
> > + uint32_t cbm_len; /* OUT: CBM length */
> > + uint32_t cos_max; /* OUT: Maximum COS */
> > + } l2_info;
>
> ... this should use the same structure as l3_info (flags being
> set to zero until a use arises). This would then also allow for
> more code to be shared instead of duplicated.
>
Ok, will reuse l3_info for L2 CAT. May modify its name to cat_info.
But for MBA or future feature, its info is different with CAT. So, it may
not be approriate to use a structure as parameter for 'psr_get_info'.
So I would prefer to keep data[]. Of course, I will correct array_len check
per Roger's suggestion, like "array_len != PSR_INFO_SIZE". Is that good to
you?
> Jan
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
https://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |