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.

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;
 };
 
 /**
-- 
2.13.6

Reply via email to