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

Re: [Xen-devel] [PATCH v1 07/13] x86: implement set value flow for MBA



> +    if ( feat->mba_info.linear )
> +    {
> +        unsigned int mod;
> +
> +        if ( feat->mba_info.thrtl_max >= 100 )
> +            return false;

Can we do this check earlier, e.g. when it gets enumerated from CPUID?

> +
> +        mod = *thrtl % (100 - feat->mba_info.thrtl_max);
> +        *thrtl -= mod;
> +    }
> +    else
> +    {
> +        /* Not power of 2. */
> +        if ( *thrtl & (*thrtl - 1) )
> +            *thrtl = *thrtl & (1 << (flsl(*thrtl) - 1));
> +    }
> +

Is it possible for *thrtl to be zero? Otherwise we need check that at
the beginning.

>  
> +/*
> + * Because multiple features may co-exist, we need handle all
> features to write
> + * values of them into a COS register with new COS ID. E.g:
> + * 1. L3 CAT and MBA co-exist.
> + * 2. Dom1 and Dom2 share a same COS ID (2). The L3 CAT CBM of Dom1
> is 0x1ff,
> + *    the MBA Thrtle of Dom1 is 0xa.
> + * 3. User wants to change MBA Thrtl of Dom1 to be 0x14. Because COS
> ID 2 is
> + *    used by Dom2 too, we have to pick a new COS ID 3. The original
> values of
> + *    Dom1 on COS ID 3 may be below:
> + *            ---------
> + *            | COS 3 |
> + *            ---------
> + *    L3 CAT  | 0x7ff |
> + *            ---------
> + *    MBA     | 0x0   |
> + *            ---------
> + * 4. After setting, the L3 CAT CBM value of Dom1 should be kept and
> the new MBA
> + *    Thrtl is set. So, the values on COS ID 3 should be below.
> + *            ---------
> + *            | COS 3 |
> + *            ---------
> + *    L3 CAT  | 0x1ff |
> + *            ---------
> + *    MBA     | 0x14  |
> + *            ---------
> + *
> + * So, we should write all features values into their MSRs. That
> requires the
> + * feature array, feature properties array and value array are input.
> + */

Although I understand them, I still have a feeling of the necessity to
reword these comments.

Chao

_______________________________________________
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®.