group. Temporarily mark it as unused to avoid
compile warnings until it is used.
Signed-off-by: Reinette Chatre
---
arch/x86/kernel/cpu/intel_rdt_pseudo_lock.c | 13 +
1 file changed, 13 insertions(+)
diff --git a/arch/x86/kernel/cpu/intel_rdt_pseudo_lock.c
b/arch/x86/kernel/cpu
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
---
Documentation/x86
Add description of Cache Pseudo-Locking feature, its interface,
as well as an example of its usage.
Signed-off-by: Reinette Chatre
---
Documentation/x86/intel_rdt_ui.txt | 280 -
1 file changed, 278 insertions(+), 2 deletions(-)
diff --git a/Documentation
appropriate default allocations for new resource groups.
Signed-off-by: Reinette Chatre
---
arch/x86/kernel/cpu/intel_rdt_ctrlmondata.c | 16 +
arch/x86/kernel/cpu/intel_rdt_rdtgroup.c| 36 ++---
2 files changed, 44 insertions(+), 8 deletions(-)
diff --g
MEM_LOAD_UOPS_RETIRED.L2_MISS, while
accessing pseudo-locked data. A new tracepoint, pseudo_lock_l2, is
created to make these results visible to the user.
Signed-off-by: Reinette Chatre
---
arch/x86/kernel/cpu/intel_rdt_pseudo_lock.c | 145 --
arch/x86/kernel/cpu
-by: Reinette Chatre
---
arch/x86/kernel/cpu/intel_rdt.h | 3 +++
arch/x86/kernel/cpu/intel_rdt_rdtgroup.c | 22 ++
2 files changed, 25 insertions(+)
diff --git a/arch/x86/kernel/cpu/intel_rdt.h b/arch/x86/kernel/cpu/intel_rdt.h
index c08eee73ecd3..7ff1f633bebe
all that are shareable by other
resource groups as well as regions that are not currently used.
When a new resource group is created the hardware is initialized with
these new default allocations.
Signed-off-by: Reinette Chatre
---
arch/x86/kernel/cpu/intel_rdt_rdtgroup.c | 69 ++
parsing the callback is modified to support a
void pointer as argument. This enables resources that need more data
than just the user provided data to pass its required data to the
callback without affecting the signatures for the callbacks of all the
other resources.
Signed-off-by: Reinette
7;s
current schemata and that of all the other active resource groups as
well as cache regions potentially used by other hardware entities.
Signed-off-by: Reinette Chatre
---
arch/x86/kernel/cpu/intel_rdt_rdtgroup.c | 97 +++-
1 file changed, 96 insertions(+), 1 delet
etween its allocation and that
of another resource group.
Signed-off-by: Reinette Chatre
---
arch/x86/kernel/cpu/intel_rdt.h | 2 ++
arch/x86/kernel/cpu/intel_rdt_rdtgroup.c | 1 +
2 files changed, 3 insertions(+)
diff --git a/arch/x86/kernel/cpu/intel_rdt.h b/arch/x86/kernel/cpu/intel_r
variable of type u32 directly.
At this time also change tha variable name "data" within parse_cbm() to
a name more reflective of the content: "cbm_val". This frees up the
generic "data" to be used later when it is indeed used for a collection
of input.
Signed-off-by:
variables needed to compute it (the cache size, the CBM length, and
the schemata).
Introduce a new file "size" associated with each resource group that
will mirror the schemata file syntax and display the size in bytes of
each allocation.
Signed-off-by: Reinette Chatre
---
arch/x86/
rce groups. Similarly, if the resource group being
changed is exclusive then its new schemata is not allowed to overlap
with any schemata of any other active resource group.
Signed-off-by: Reinette Chatre
---
arch/x86/kernel/cpu/intel_rdt.h | 2 ++
arch/x86/kernel/cpu/intel_rdt_ctr
do_lock_measure
echo 0 > /sys/kernel/debug/tracing/events/resctrl/pseudo_lock_mem_latency/enable
cat /sys/kernel/debug/tracing/events/resctrl/pseudo_lock_mem_latency/hist
Signed-off-by: Reinette Chatre
---
arch/x86/kernel/cpu/Makefile | 1 +
arch/x86/kernel/cpu/intel_rdt.h
ff-by: Reinette Chatre
---
arch/x86/kernel/cpu/intel_rdt.c | 11 +++
arch/x86/kernel/cpu/intel_rdt.h | 3 +--
arch/x86/kernel/cpu/intel_rdt_rdtgroup.c | 7 +++
3 files changed, 19 insertions(+), 2 deletions(-)
diff --git a/arch/x86/kernel/cpu/intel_rdt.c b/arch/x86/kerne
In considering changes to a resource group it becomes necessary to know
whether tasks have been assigned to the resource group in question.
Introduce a new utility that can be used to check if any tasks have been
assigned to a particular resource group.
Signed-off-by: Reinette Chatre
---
arch
after the user wrote the requested schemata to the
"schemata" file, then the mode will automatically changed to
"pseudo-locked". The user is not able to modify the mode to
"pseudo-locked" by writing "pseudo-locked" to the "mode" file directl
directory belonging to a resource group.
Signed-off-by: Reinette Chatre
---
arch/x86/kernel/cpu/intel_rdt.h | 2 +
arch/x86/kernel/cpu/intel_rdt_rdtgroup.c | 95
2 files changed, 97 insertions(+)
diff --git a/arch/x86/kernel/cpu/intel_rdt.h b/arch/x86
. This flag is not used by
any of the code between its original and new location.
Signed-off-by: Reinette Chatre
---
arch/x86/kernel/cpu/intel_rdt_rdtgroup.c | 25 -
1 file changed, 16 insertions(+), 9 deletions(-)
diff --git a/arch/x86/kernel/cpu/intel_rdt_rdtgroup.c
b/arch
resource
group structures.
Signed-off-by: Reinette Chatre
---
arch/x86/kernel/cpu/intel_rdt.h | 64 ++---
1 file changed, 41 insertions(+), 23 deletions(-)
diff --git a/arch/x86/kernel/cpu/intel_rdt.h b/arch/x86/kernel/cpu/intel_rdt.h
index c9b8d3d1d413
they are used.
Signed-off-by: Reinette Chatre
---
arch/x86/kernel/cpu/Makefile| 3 +-
arch/x86/kernel/cpu/intel_rdt_pseudo_lock.c | 113
2 files changed, 115 insertions(+), 1 deletion(-)
create mode 100644 arch/x86/kernel/cpu/intel_rdt_pseudo_lock.c
group. Once the resource group is determined ready for a
pseudo-locked region it is configured to not allow future changes to
these properties.
Signed-off-by: Reinette Chatre
---
arch/x86/kernel/cpu/intel_rdt.h | 2 +
arch/x86/kernel/cpu/intel_rdt_pseudo_lock.c | 187
checking on the
debugfs creation return value since code should not behave differently when
debugging passes or fails. Even on failure the returned value can be passed
safely to other debugfs calls.
Signed-off-by: Reinette Chatre
---
arch/x86/kernel/cpu/intel_rdt.h | 2 ++
arch/x86
locksetup mode to be entered it will fail if the
prefetch disabling bits are not known for the platform.
Signed-off-by: Reinette Chatre
---
arch/x86/kernel/cpu/intel_rdt_pseudo_lock.c | 75 +
1 file changed, 75 insertions(+)
diff --git a/arch/x86/kernel/cpu
f the pseudo-locked region.
Update the resource group's size file to show the size in bytes of only
the pseudo-locked region.
Update the bit_usage file to use the letter 'P' for all pseudo-locked
regions.
Signed-off-by: Reinette Chatre
---
arch/x86/kernel/cpu/intel_rdt_ctrlmond
Broadwell microarchitecture supports pseudo-locking. Add support for
the L3 cache related performance events of these systems so that
the success of pseudo-locking can be measured more accurately on these
platforms.
Signed-off-by: Reinette Chatre
---
arch/x86/kernel/cpu/intel_rdt_pseudo_lock.c
instance, (2) a
utility that can be used to test if a pseudo-locked region exists within
a particular cache hierarchy.
Signed-off-by: Reinette Chatre
---
arch/x86/kernel/cpu/intel_rdt.h | 2 ++
arch/x86/kernel/cpu/intel_rdt_pseudo_lock.c | 55 +
2 files changed
pseudo-locked region within its hierarchy.
After a valid schemata is parsed the system is programmed to associate
the to be pseudo-lock bitmask with the closid associated with the
resource group. With the system set up the pseudo-locked region can be
created.
Signed-off-by: Reinette Chatre
---
arch
-locking is performed. The resource group already has the
allocation that reflects the requested bitmask. With this class of service
active and interference minimized, the allocated memory is loaded into the
cache.
Signed-off-by: Reinette Chatre
---
arch/x86/kernel/cpu/intel_rdt.h | 17
by software only
E - currently used exclusively by one resource group
Signed-off-by: Reinette Chatre
---
arch/x86/kernel/cpu/intel_rdt_rdtgroup.c | 79
1 file changed, 79 insertions(+)
diff --git a/arch/x86/kernel/cpu/intel_rdt_rdtgroup.c
b/arch/x86/kernel/
Hi Vlastimil,
On 5/23/2018 4:18 AM, Vlastimil Babka wrote:
> On 05/22/2018 06:41 PM, Reinette Chatre wrote:
>> On 5/21/2018 4:48 PM, Mike Kravetz wrote:
>>> I'm guessing that most (?all?) allocations will be order based. The use
>>> cases I am aware of (huget
Hi Greg,
On 5/23/2018 1:05 AM, Greg KH wrote:
> On Tue, May 22, 2018 at 02:02:37PM -0700, Reinette Chatre wrote:
>> On 5/22/2018 12:43 PM, Greg KH wrote:
>>> On Tue, May 22, 2018 at 04:29:22AM -0700, Reinette Chatre wrote:
>>>> + ret = strtobool(buf, &a
Hi Randy,
On 5/22/2018 2:03 PM, Randy Dunlap wrote:
> On 05/22/2018 04:29 AM, Reinette Chatre wrote:
>> With cache regions now explicitly marked as "shareable" or "exclusive"
>> we would like to communicate to the user how portions of the cache
>> a
Hi Greg,
Thank you very much for taking a look.
On 5/22/2018 12:43 PM, Greg KH wrote:
> On Tue, May 22, 2018 at 04:29:22AM -0700, Reinette Chatre wrote:
>> @@ -149,6 +151,9 @@ struct pseudo_lock_region {
>> unsigned intline_size;
>> unsigne
directory belonging to a resource group.
Signed-off-by: Reinette Chatre
---
arch/x86/kernel/cpu/intel_rdt.h | 2 +
arch/x86/kernel/cpu/intel_rdt_rdtgroup.c | 95
2 files changed, 97 insertions(+)
diff --git a/arch/x86/kernel/cpu/intel_rdt.h b/arch/x86
for the three new resctrl files as well as one example
demonstrating their use.
Signed-off-by: Reinette Chatre
---
Documentation/x86/intel_rdt_ui.txt | 99 +-
1 file changed, 97 insertions(+), 2 deletions(-)
diff --git a/Documentation/x86/intel_rdt_ui.txt
b/Doc
roduced in preparation for support of
control over whether cache regions can be shared between classes of
service. At this time the only mode reflects the current cache allocations
where all can potentially be shared.
Signed-off-by: Reinette Chatre
---
arch/x86/kernel/cpu/intel_rdt.h | 16 +
the CBMs to know if its values are meaningful or
can be ignored.
Temporarily mark the function as unused to silence compile warnings
until it is used.
Signed-off-by: Reinette Chatre
---
arch/x86/kernel/cpu/intel_rdt_rdtgroup.c | 12
1 file changed, 12 insertions(+)
diff --git a
-by: Reinette Chatre
---
arch/x86/kernel/cpu/intel_rdt.h | 3 +++
arch/x86/kernel/cpu/intel_rdt_rdtgroup.c | 22 ++
2 files changed, 25 insertions(+)
diff --git a/arch/x86/kernel/cpu/intel_rdt.h b/arch/x86/kernel/cpu/intel_rdt.h
index c08eee73ecd3..7ff1f633bebe
A new resctrl file "mode" associated with each resource group
is introduced. This file will display the resource group's current mode
and an administrator can also use it to modify the resource group's
mode.
Only shareable mode is currently supported.
Signed-off-by: Reinet
after the user wrote the requested schemata to the
"schemata" file, then the mode will automatically changed to
"pseudo-locked". The user is not able to modify the mode to
"pseudo-locked" by writing "pseudo-locked" to the "mode" file directl
. This flag is not used by
any of the code between its original and new location.
Signed-off-by: Reinette Chatre
---
arch/x86/kernel/cpu/intel_rdt_rdtgroup.c | 25 -
1 file changed, 16 insertions(+), 9 deletions(-)
diff --git a/arch/x86/kernel/cpu/intel_rdt_rdtgroup.c
b/arch
always respected. To do so the resctrl
filesystem is created with the KERNFS_ROOT_EXTRA_OPEN_PERM_CHECK flag
that will result in open(2) failing with -EACCESS regardless of
CAP_DAC_OVERRIDE if the permission does not have the respective read or
write access.
Signed-off-by: Reinette Chatre
7;s
current schemata and that of all the other active resource groups as
well as cache regions potentially used by other hardware entities.
Signed-off-by: Reinette Chatre
---
arch/x86/kernel/cpu/intel_rdt_rdtgroup.c | 97 +++-
1 file changed, 96 insertions(+), 1 delet
In considering changes to a resource group it becomes necessary to know
whether tasks have been assigned to the resource group in question.
Introduce a new utility that can be used to check if any tasks have been
assigned to a particular resource group.
Signed-off-by: Reinette Chatre
---
arch
In support of the work done to enable resource groups to have different
modes some static functions need to be available for sharing amongst
all RDT components.
Signed-off-by: Reinette Chatre
---
arch/x86/kernel/cpu/intel_rdt.h | 2 ++
arch/x86/kernel/cpu/intel_rdt_ctrlmondata.c | 2
etween its allocation and that
of another resource group.
Signed-off-by: Reinette Chatre
---
arch/x86/kernel/cpu/intel_rdt.h | 2 ++
arch/x86/kernel/cpu/intel_rdt_rdtgroup.c | 1 +
2 files changed, 3 insertions(+)
diff --git a/arch/x86/kernel/cpu/intel_rdt.h b/arch/x86/kernel/cpu/intel_r
Add description of Cache Pseudo-Locking feature, its interface,
as well as an example of its usage.
Signed-off-by: Reinette Chatre
---
Documentation/x86/intel_rdt_ui.txt | 278 -
1 file changed, 276 insertions(+), 2 deletions(-)
diff --git a/Documentation
all that are shareable by other
resource groups as well as regions that are not currently used.
When a new resource group is created the hardware is initialized with
these new default allocations.
Signed-off-by: Reinette Chatre
---
arch/x86/kernel/cpu/intel_rdt_rdtgroup.c | 69 ++
variable of type u32 directly.
At this time also change tha variable name "data" within parse_cbm() to
a name more reflective of the content: "cbm_val". This frees up the
generic "data" to be used later when it is indeed used for a collection
of input.
Signed-off-by:
variables needed to compute it (the cache size, the CBM length, and
the schemata).
Introduce a new file "size" associated with each resource group that
will mirror the schemata file syntax and display the size in bytes of
each allocation.
Signed-off-by: Reinette Chatre
---
arch/x86/
parsing the callback is modified to support a
void pointer as argument. This enables resources that need more data
than just the user provided data to pass its required data to the
callback without affecting the signatures for the callbacks of all the
other resources.
Signed-off-by: Reinette
by software only
E - currently used exclusively by one resource group
Signed-off-by: Reinette Chatre
---
arch/x86/kernel/cpu/intel_rdt_rdtgroup.c | 79
1 file changed, 79 insertions(+)
diff --git a/arch/x86/kernel/cpu/intel_rdt_rdtgroup.c
b/arch/x86/kernel/
group. Temporarily mark it as unused to avoid
compile warnings until it is used.
Signed-off-by: Reinette Chatre
---
arch/x86/kernel/cpu/intel_rdt_pseudo_lock.c | 13 +
1 file changed, 13 insertions(+)
diff --git a/arch/x86/kernel/cpu/intel_rdt_pseudo_lock.c
b/arch/x86/kernel/cpu
pseudo-locked region is set up.
Signed-off-by: Reinette Chatre
---
arch/x86/kernel/cpu/intel_rdt_ctrlmondata.c | 10 +
arch/x86/kernel/cpu/intel_rdt_rdtgroup.c| 32 +
2 files changed, 38 insertions(+), 4 deletions(-)
diff --git a/arch/x86/kernel/cpu/intel
rce groups. Similarly, if the resource group being
changed is exclusive then its new schemata is not allowed to overlap
with any schemata of any other active resource group.
Signed-off-by: Reinette Chatre
---
arch/x86/kernel/cpu/intel_rdt.h | 2 ++
arch/x86/kernel/cpu/intel_rdt_ctr
they are used.
Signed-off-by: Reinette Chatre
---
arch/x86/kernel/cpu/Makefile| 3 +-
arch/x86/kernel/cpu/intel_rdt_pseudo_lock.c | 113
2 files changed, 115 insertions(+), 1 deletion(-)
create mode 100644 arch/x86/kernel/cpu/intel_rdt_pseudo_lock.c
instance, (2) a
utility that can be used to test if a pseudo-locked region exists within
a particular cache hierarchy.
Signed-off-by: Reinette Chatre
---
arch/x86/kernel/cpu/intel_rdt.h | 2 ++
arch/x86/kernel/cpu/intel_rdt_pseudo_lock.c | 55 +
2 files changed
ff-by: Reinette Chatre
---
arch/x86/kernel/cpu/intel_rdt.c | 11 +++
arch/x86/kernel/cpu/intel_rdt.h | 3 +--
arch/x86/kernel/cpu/intel_rdt_rdtgroup.c | 7 +++
3 files changed, 19 insertions(+), 2 deletions(-)
diff --git a/arch/x86/kernel/cpu/intel_rdt.c b/arch/x86/kerne
nel/debug/tracing/events/resctrl/pseudo_lock_mem_latency/enable
cat /sys/kernel/debug/tracing/events/resctrl/pseudo_lock_mem_latency/hist
Signed-off-by: Reinette Chatre
---
arch/x86/Kconfig | 1 +
arch/x86/kernel/cpu/Makefile | 1 +
f the pseudo-locked region.
Update the resource group's size file to show the size in bytes of only
the pseudo-locked region.
Update the bit_usage file to use the letter 'P' for all pseudo-locked
regions.
Signed-off-by: Reinette Chatre
---
arch/x86/kernel/cpu/intel_rdt_ctrlmond
group. Once the resource group is determined ready for a
pseudo-locked region it is configured to not allow future changes to
these properties.
Signed-off-by: Reinette Chatre
---
arch/x86/kernel/cpu/intel_rdt.h | 2 +
arch/x86/kernel/cpu/intel_rdt_pseudo_lock.c | 187
In preparation for support of debugging of RDT sub features the user can
now enable a RDT debugfs region.
Introduce the Kconfig option to enable this debug area and the subsequent
creation of the resctrl debugfs directory.
Signed-off-by: Reinette Chatre
---
arch/x86/Kconfig
-off-by: Reinette Chatre
---
arch/x86/kernel/cpu/intel_rdt.h | 5 +
arch/x86/kernel/cpu/intel_rdt_pseudo_lock.c | 282 +++-
arch/x86/kernel/cpu/intel_rdt_rdtgroup.c| 11 +-
3 files changed, 296 insertions(+), 2 deletions(-)
diff --git a/arch/x86/kernel
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
---
Documentation/x86
resource
group structures.
Signed-off-by: Reinette Chatre
---
arch/x86/kernel/cpu/intel_rdt.h | 64 ++---
1 file changed, 41 insertions(+), 23 deletions(-)
diff --git a/arch/x86/kernel/cpu/intel_rdt.h b/arch/x86/kernel/cpu/intel_rdt.h
index c9b8d3d1d413
Broadwell microarchitecture supports pseudo-locking. Add support for
the L3 cache related performance events of these systems so that
the success of pseudo-locking can be measured more accurately on these
platforms.
Signed-off-by: Reinette Chatre
---
arch/x86/kernel/cpu/intel_rdt_pseudo_lock.c
MEM_LOAD_UOPS_RETIRED.L2_MISS, while
accessing pseudo-locked data. A new tracepoint, pseudo_lock_l2, is
created to make these results visible to the user.
Signed-off-by: Reinette Chatre
---
arch/x86/kernel/cpu/intel_rdt_pseudo_lock.c | 145 --
arch/x86/kernel/cpu
appropriate default allocations for new resource groups.
Signed-off-by: Reinette Chatre
---
arch/x86/kernel/cpu/intel_rdt_ctrlmondata.c | 16 +
arch/x86/kernel/cpu/intel_rdt_rdtgroup.c| 36 ++---
2 files changed, 44 insertions(+), 8 deletions(-)
diff --g
-locking is performed. The resource group already has the
allocation that reflects the requested bitmask. With this class of service
active and interference minimized, the allocated memory is loaded into the
cache.
Signed-off-by: Reinette Chatre
---
arch/x86/kernel/cpu/intel_rdt.h | 17
locksetup mode to be entered it will fail if the
prefetch disabling bits are not known for the platform.
Signed-off-by: Reinette Chatre
---
arch/x86/kernel/cpu/intel_rdt_pseudo_lock.c | 75 +
1 file changed, 75 insertions(+)
diff --git a/arch/x86/kernel/cpu
pseudo-locked region within its hierarchy.
After a valid schemata is parsed the system is programmed to associate
the to be pseudo-lock bitmask with the closid associated with the
resource group. With the system set up the pseudo-locked region can be
created.
Signed-off-by: Reinette Chatre
---
arch
on
platforms that support larger cache sizes. Work is in progress to
support larger regions.
Graphs visualizing the benefits of cache pseudo-locking on an Intel(R)
NUC NUC6CAYS (it has an Intel(R) Celeron(R) Processor J3455) with the
default 2GB DDR3L-1600 memory are available. In these tests t
On 5/21/2018 4:48 PM, Mike Kravetz wrote:
> On 05/21/2018 01:54 AM, Vlastimil Babka wrote:
>> On 05/04/2018 01:29 AM, Mike Kravetz wrote:
>>> +/**
>>> + * find_alloc_contig_pages() -- attempt to find and allocate a contiguous
>>> + * range of pages
>>> + * @nr_pages: nu
-by: Reinette Chatre
---
arch/x86/kernel/cpu/intel_rdt.h | 3 +++
arch/x86/kernel/cpu/intel_rdt_rdtgroup.c | 22 ++
2 files changed, 25 insertions(+)
diff --git a/arch/x86/kernel/cpu/intel_rdt.h b/arch/x86/kernel/cpu/intel_rdt.h
index ecc32eb6a91e..e7f8561479d2
In support of the work done to enable resource groups to have different
modes some static functions need to be available for sharing amongst
all RDT components.
Signed-off-by: Reinette Chatre
---
arch/x86/kernel/cpu/intel_rdt.h | 2 ++
arch/x86/kernel/cpu/intel_rdt_ctrlmondata.c | 2
7;s
current schemata and that of all the other active resource groups as
well as cache regions potentially used by other hardware entities.
Signed-off-by: Reinette Chatre
---
arch/x86/kernel/cpu/intel_rdt_rdtgroup.c | 97 +++-
1 file changed, 96 insertions(+), 1 delet
etween its allocation and that
of another resource group.
Signed-off-by: Reinette Chatre
---
arch/x86/kernel/cpu/intel_rdt.h | 2 ++
arch/x86/kernel/cpu/intel_rdt_rdtgroup.c | 1 +
2 files changed, 3 insertions(+)
diff --git a/arch/x86/kernel/cpu/intel_rdt.h b/arch/x86/kernel/cpu/intel_r
variable of type u32 directly.
At this time also change tha variable name "data" within parse_cbm() to
a name more reflective of the content: "cbm_val". This frees up the
generic "data" to be used later when it is indeed used for a collection
of input.
Signed-off-by:
for the three new resctrl files as well as one example
demonstrating their use.
Signed-off-by: Reinette Chatre
---
Documentation/x86/intel_rdt_ui.txt | 99 +-
1 file changed, 97 insertions(+), 2 deletions(-)
diff --git a/Documentation/x86/intel_rdt_ui.txt
b/Doc
roduced in preparation for support of
control over whether cache regions can be shared between classes of
service. At this time the only mode reflects the current cache allocations
where all can potentially be shared.
Signed-off-by: Reinette Chatre
---
arch/x86/kernel/cpu/intel_rdt.h | 16 +
parsing the callback is modified to support a
void pointer as argument. This enables resources that need more data
than just the user provided data to pass its required data to the
callback without affecting the signatures for the callbacks of all the
other resources.
Signed-off-by: Reinette
always respected. To do so the resctrl
filesystem is created with the KERNFS_ROOT_EXTRA_OPEN_PERM_CHECK flag
that will result in open(2) failing with -EACCESS regardless of
CAP_DAC_OVERRIDE if the permission does not have the respective read or
write access.
Signed-off-by: Reinette Chatre
Add description of Cache Pseudo-Locking feature, its interface,
as well as an example of its usage.
Signed-off-by: Reinette Chatre
---
Documentation/x86/intel_rdt_ui.txt | 278 -
1 file changed, 276 insertions(+), 2 deletions(-)
diff --git a/Documentation
directory belonging to a resource group.
Signed-off-by: Reinette Chatre
---
arch/x86/kernel/cpu/intel_rdt.h | 2 +
arch/x86/kernel/cpu/intel_rdt_rdtgroup.c | 95
2 files changed, 97 insertions(+)
diff --git a/arch/x86/kernel/cpu/intel_rdt.h b/arch/x86
the CBMs to know if its values are meaningful or
can be ignored.
Temporarily mark the function as unused to silence compile warnings
until it is used.
Signed-off-by: Reinette Chatre
---
arch/x86/kernel/cpu/intel_rdt_rdtgroup.c | 12
1 file changed, 12 insertions(+)
diff --git a
after the user wrote the requested schemata to the
"schemata" file, then the mode will automatically changed to
"pseudo-locked". The user is not able to modify the mode to
"pseudo-locked" by writing "pseudo-locked" to the "mode" file directl
A new resctrl file "mode" associated with each resource group
is introduced. This file will display the resource group's current mode
and an administrator can also use it to modify the resource group's
mode.
Only shareable mode is currently supported.
Signed-off-by: Rei
they are used.
Signed-off-by: Reinette Chatre
---
arch/x86/kernel/cpu/Makefile| 3 +-
arch/x86/kernel/cpu/intel_rdt_pseudo_lock.c | 121
2 files changed, 123 insertions(+), 1 deletion(-)
create mode 100644 arch/x86/kernel/cpu/intel_rdt_pseudo_lock.c
group. Temporarily mark it as unused to avoid
compile warnings until it is used.
Signed-off-by: Reinette Chatre
---
arch/x86/kernel/cpu/intel_rdt_pseudo_lock.c | 13 +
1 file changed, 13 insertions(+)
diff --git a/arch/x86/kernel/cpu/intel_rdt_pseudo_lock.c
b/arch/x86/kernel/cpu
group. Once the resource group is determined ready for a
pseudo-locked region it is configured to not allow future changes to
these properties.
Signed-off-by: Reinette Chatre
---
arch/x86/kernel/cpu/intel_rdt.h | 2 +
arch/x86/kernel/cpu/intel_rdt_pseudo_lock.c | 187
appropriate default allocations for new resource groups.
Signed-off-by: Reinette Chatre
---
arch/x86/kernel/cpu/intel_rdt_ctrlmondata.c | 16 +
arch/x86/kernel/cpu/intel_rdt_rdtgroup.c| 36 ++---
2 files changed, 44 insertions(+), 8 deletions(-)
diff --g
. This flag is not used by
any of the code between its original and new location.
Signed-off-by: Reinette Chatre
---
arch/x86/kernel/cpu/intel_rdt_rdtgroup.c | 25 -
1 file changed, 16 insertions(+), 9 deletions(-)
diff --git a/arch/x86/kernel/cpu/intel_rdt_rdtgroup.c
b/arch
-locking is performed. The resource group already has the
allocation that reflects the requested bitmask. With this class of service
active and interference minimized, the allocated memory is loaded into the
cache.
Signed-off-by: Reinette Chatre
---
arch/x86/kernel/cpu/intel_rdt.h | 17
instance, (2) a
utility that can be used to test if a pseudo-locked region exists within
a particular cache hierarchy.
Signed-off-by: Reinette Chatre
---
arch/x86/kernel/cpu/intel_rdt.h | 2 ++
arch/x86/kernel/cpu/intel_rdt_pseudo_lock.c | 55 +
2 files changed
ff-by: Reinette Chatre
---
arch/x86/kernel/cpu/intel_rdt.c | 11 +++
arch/x86/kernel/cpu/intel_rdt.h | 3 +--
arch/x86/kernel/cpu/intel_rdt_rdtgroup.c | 7 +++
3 files changed, 19 insertions(+), 2 deletions(-)
diff --git a/arch/x86/kernel/cpu/intel_rdt.c b/arch/x86/kerne
nel/debug/tracing/events/resctrl/pseudo_lock_mem_latency/enable
cat /sys/kernel/debug/tracing/events/resctrl/pseudo_lock_mem_latency/hist
Signed-off-by: Reinette Chatre
---
arch/x86/Kconfig | 1 +
arch/x86/kernel/cpu/Makefile | 1 +
variables needed to compute it (the cache size, the CBM length, and
the schemata).
Introduce a new file "size" associated with each resource group that
will mirror the schemata file syntax and display the size in bytes of
each allocation.
Signed-off-by: Reinette Chatre
---
arch/x86/
-off-by: Reinette Chatre
---
arch/x86/kernel/cpu/intel_rdt.h | 5 +
arch/x86/kernel/cpu/intel_rdt_pseudo_lock.c | 282 +++-
arch/x86/kernel/cpu/intel_rdt_rdtgroup.c| 11 +-
3 files changed, 296 insertions(+), 2 deletions(-)
diff --git a/arch/x86/kernel
MEM_LOAD_UOPS_RETIRED.L2_MISS, while
accessing pseudo-locked data. A new tracepoint, pseudo_lock_l2, is
created to make these results visible to the user.
Signed-off-by: Reinette Chatre
---
arch/x86/kernel/cpu/intel_rdt_pseudo_lock.c | 145 --
arch/x86/kernel/cpu
501 - 600 of 693 matches
Mail list logo