[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v4 07/15] x86: implement set value flow for MBA
On 17-10-05 03:39:06, Jan Beulich wrote: > >>> On 05.10.17 at 10:39, <roger.pau@xxxxxxxxxx> wrote: > > On Thu, Oct 05, 2017 at 04:48:12AM +0000, Yi Sun wrote: > >> On 17-10-03 23:59:46, Jan Beulich wrote: > >> > >>> Yi Sun <yi.y.sun@xxxxxxxxxxxxxxx> 09/29/17 4:58 AM >>> > >> > >On 17-09-28 05:36:11, Jan Beulich wrote: > >> > >> >>> On 23.09.17 at 11:48, <yi.y.sun@xxxxxxxxxxxxxxx> wrote: > >> > >> > - feat->cos_reg_val[cos * cos_num + i] = info->val[i]; > >> > >> > - props->write_msr(cos, info->val[i], props->type[i]); > >> > >> > + if ( feat->cos_reg_val[cos * cos_num + j] != > >> > >> > val_array[index + > > j] ) > >> > >> > + feat->cos_reg_val[cos * cos_num + j] = > >> > >> > + props->write_msr(cos, val_array[index + j], > > props->type[j]); > >> > >> > >> > >> This renders partly useless the check: If hardware can alter the > >> > >> value, repeatedly requesting the same value to be written will > >> > >> no longer guarantee the MSR write to be skipped. If hardware > >> > >> behavior can't be predicted you may want to consider recording > >> > >> both the value in found by reading back the register written and > >> > >> the value that was written - a match with either would eliminate > >> > >> the need to do the write. > >> > >> > >> > >The hardware behavior is explicitly defined by SDM and mentioned in > >> > >'xl-psr.markdown' and 'intel_psr_mba.pandoc'. User should know that HW > >> > >can alter MBA value if the value is not valid. > >> > > >> > So if hardware behavior is fully defined, why don't you pre-adjust what > >> > is > >> > to be written to the value hardware would alter it to? > >> > > >> In previous version of MBA patch set, I pre-adjust the value in > > 'mba_check_thrtl'. > >> But Roger did not like that. So, the pre-adjust codes are removed. > > > > IMHO it's quite pointless to do such adjustments when the hardware > > performs them already. Also, I fear that our adjustments might get > > out-of-sync in the future with what hardware actually does. > > > > Maybe the result read back from the hardware (ie: adjusted) can be > > stored and used in order to check whether a new value should be > > written or not when switching? (I think this is the same that Jan > > suggested above). > > Not exactly, no - I'd like to avoid the write for _any_ value > resulting in the one currently stored in the hardware register. > Hence my earlier question on whether the transformation > done by hardware is well defined (i.e. _not_ model dependent > or fully defined by CPUID output). > SDM does not mention it is model dependent. So, it is _not_ model dependent. > Jan _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx https://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |