x86/intel_rdt: Limit C-states dynamically when pseudo-locking active
Deeper C-states impact cache content through shrinking of the cache or flushing entire cache to memory before reducing power to the cache. Deeper C-states will thus negatively impact the pseudo-locked regions. To avoid impacting pseudo-locked regions C-states are limited on pseudo-locked region creation so that cores associated with the pseudo-locked region are prevented from entering deeper C-states. This is accomplished by requesting a CPU latency target which will prevent the core from entering C6 across all supported platforms. Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Cc: fenghua.yu@intel.com Cc: tony.luck@intel.com Cc: vikas.shivappa@linux.intel.com Cc: gavin.hindman@intel.com Cc: jithu.joseph@intel.com Cc: dave.hansen@intel.com Cc: hpa@zytor.com Link: https://lkml.kernel.org/r/1ef4f99dd6ba12fa6fb44c5a1141e75f952b9cd9.1529706536.git.reinette.chatre@intel.com
This commit is contained in:

committed by
Thomas Gleixner

parent
f3be1e7b2c
commit
6fc0de37f6
@@ -461,8 +461,8 @@ in the cache via carefully configuring the CAT feature and controlling
|
||||
application behavior. There is no guarantee that data is placed in
|
||||
cache. Instructions like INVD, WBINVD, CLFLUSH, etc. can still evict
|
||||
“locked” data from cache. Power management C-states may shrink or
|
||||
power off cache. It is thus recommended to limit the processor maximum
|
||||
C-state, for example, by setting the processor.max_cstate kernel parameter.
|
||||
power off cache. Deeper C-states will automatically be restricted on
|
||||
pseudo-locked region creation.
|
||||
|
||||
It is required that an application using a pseudo-locked region runs
|
||||
with affinity to the cores (or a subset of the cores) associated
|
||||
|
Reference in New Issue
Block a user