On Tue, 13 Feb 2018, Reinette Chatre wrote: > After a pseudo-locked region is locked it needs to be associated with > the RDT domain representing the pseudo-locked cache so that its life > cycle can be managed correctly. > > Only a single pseudo-locked region can exist on any cache instance so we > maintain a single pointer to a pseudo-locked region from each RDT > domain.
Why is only a single pseudo locked region possible? > Signed-off-by: Reinette Chatre <reinette.cha...@intel.com> > --- > arch/x86/kernel/cpu/intel_rdt.h | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/arch/x86/kernel/cpu/intel_rdt.h b/arch/x86/kernel/cpu/intel_rdt.h > index 060a0976ac00..f0e020686e99 100644 > --- a/arch/x86/kernel/cpu/intel_rdt.h > +++ b/arch/x86/kernel/cpu/intel_rdt.h > @@ -187,6 +187,8 @@ struct mbm_state { > u64 prev_msr; > }; > > +struct pseudo_lock_region; > + > /** > * struct rdt_domain - group of cpus sharing an RDT resource > * @list: all instances of this resource > @@ -205,6 +207,7 @@ struct mbm_state { > * @ctrl_val: array of cache or mem ctrl values (indexed by CLOSID) > * @new_ctrl: new ctrl value to be loaded > * @have_new_ctrl: did user provide new_ctrl for this domain > + * @plr: pseudo-locked region associated with this domain > */ > struct rdt_domain { > struct list_head list; > @@ -220,6 +223,7 @@ struct rdt_domain { > u32 *ctrl_val; > u32 new_ctrl; > bool have_new_ctrl; > + struct pseudo_lock_region *plr; Please keep the tabular fashion of the struct declaration intact. Thanks, tglx