[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH v12 11/23] x86: refactor psr: L3 CAT: set value: implement cos id picking flow.



>>> Yi Sun <yi.y.sun@xxxxxxxxxxxxxxx> 06/14/17 3:25 AM >>>
> --- a/xen/arch/x86/psr.c
> +++ b/xen/arch/x86/psr.c
> @@ -845,12 +845,97 @@ static int find_cos(const uint32_t val[], unsigned int 
> array_len,
>      return -ENOENT;
>  }
>  
> +static bool fits_cos_max(const uint32_t val[],
> +                         uint32_t array_len,
> +                         const struct psr_socket_info *info,
> +                         unsigned int cos)
> +{
> +    unsigned int i;
> +
> +    for ( i = 0; i < ARRAY_SIZE(info->features); i++ )
> +    {
> +        const struct feat_node *feat = info->features[i];
> +        const struct feat_props *props = feat_props[i];
> +
> +        if ( !feat )
> +            continue;
> +
> +        if ( !props )
> +        {
> +            ASSERT_UNREACHABLE();
> +            return false;
> +        }
> +
> +        if ( array_len < props->cos_num )
> +            return false;
> +
> +        if ( cos > feat->cos_max )
> +        {
> +            unsigned int j;
> +
> +            for ( j = 0; j < props->cos_num; j++ )
> +            {
> +                /*
> +                 * Get default value which cos id is 0.

"Get default value, the COS ID of which is zero" perhaps?

> +                 * For CDP:
> +                 * - DATA default value stored in cos_reg_val[0];
> +                 * - CODE default value stored in cos_reg_val[1].

Strictly speaking this doesn't belong into this patch, as you're not at CDP
yet. In fact I wonder whether this couldn't be dropped altogether.

> +                 */
> +                uint32_t default_val = feat->cos_reg_val[j];
> +
> +                if ( val[j] != default_val )
> +                    return false;
> +            }
> +        }
> +
> +        array_len -= props->cos_num;
> +
> +        val += props->cos_num;

Well, you already know my comment here by now, I guess.

In any case again
Reviewed-by: Jan Beulich <jbeulich@xxxxxxxx>

Jan

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
https://lists.xen.org/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.