[tip:x86/cache] x86/intel_rdt: Make useful functions available internally

2018-06-19 Thread tip-bot for Reinette Chatre
Commit-ID: c96f83bf49cc9efa568ff74f901554542b23d900 Gitweb: https://git.kernel.org/tip/c96f83bf49cc9efa568ff74f901554542b23d900 Author: Reinette Chatre AuthorDate: Tue, 29 May 2018 05:57:31 -0700 Committer: Thomas Gleixner CommitDate: Wed, 20 Jun 2018 00:56:28 +0200 x86/intel_rdt

[tip:x86/cache] x86/intel_rdt: Make useful functions available internally

2018-06-19 Thread tip-bot for Reinette Chatre
Commit-ID: c96f83bf49cc9efa568ff74f901554542b23d900 Gitweb: https://git.kernel.org/tip/c96f83bf49cc9efa568ff74f901554542b23d900 Author: Reinette Chatre AuthorDate: Tue, 29 May 2018 05:57:31 -0700 Committer: Thomas Gleixner CommitDate: Wed, 20 Jun 2018 00:56:28 +0200 x86/intel_rdt

[tip:x86/cache] x86/intel_rdt: Introduce test to determine if closid is in use

2018-06-19 Thread tip-bot for Reinette Chatre
Commit-ID: db436b3135badfa9f701b20f160e19b630538b9b Gitweb: https://git.kernel.org/tip/db436b3135badfa9f701b20f160e19b630538b9b Author: Reinette Chatre AuthorDate: Tue, 29 May 2018 05:57:30 -0700 Committer: Thomas Gleixner CommitDate: Wed, 20 Jun 2018 00:56:28 +0200 x86/intel_rdt

[tip:x86/cache] x86/intel_rdt: Introduce test to determine if closid is in use

2018-06-19 Thread tip-bot for Reinette Chatre
Commit-ID: db436b3135badfa9f701b20f160e19b630538b9b Gitweb: https://git.kernel.org/tip/db436b3135badfa9f701b20f160e19b630538b9b Author: Reinette Chatre AuthorDate: Tue, 29 May 2018 05:57:30 -0700 Committer: Thomas Gleixner CommitDate: Wed, 20 Jun 2018 00:56:28 +0200 x86/intel_rdt

[tip:x86/cache] x86/intel_rdt: Introduce resource group's mode resctrl file

2018-06-19 Thread tip-bot for Reinette Chatre
Commit-ID: 417d29b4daa1a7c9f5fc4f0e8205ea7dbc967054 Gitweb: https://git.kernel.org/tip/417d29b4daa1a7c9f5fc4f0e8205ea7dbc967054 Author: Reinette Chatre AuthorDate: Tue, 29 May 2018 05:57:29 -0700 Committer: Thomas Gleixner CommitDate: Wed, 20 Jun 2018 00:56:28 +0200 x86/intel_rdt

[tip:x86/cache] x86/intel_rdt: Associate mode with each RDT resource group

2018-06-19 Thread tip-bot for Reinette Chatre
Commit-ID: 5363fc10521acb00c4bdc19ab9e2482db12b5514 Gitweb: https://git.kernel.org/tip/5363fc10521acb00c4bdc19ab9e2482db12b5514 Author: Reinette Chatre AuthorDate: Tue, 29 May 2018 05:57:28 -0700 Committer: Thomas Gleixner CommitDate: Wed, 20 Jun 2018 00:56:27 +0200 x86/intel_rdt

[tip:x86/cache] x86/intel_rdt: Introduce resource group's mode resctrl file

2018-06-19 Thread tip-bot for Reinette Chatre
Commit-ID: 417d29b4daa1a7c9f5fc4f0e8205ea7dbc967054 Gitweb: https://git.kernel.org/tip/417d29b4daa1a7c9f5fc4f0e8205ea7dbc967054 Author: Reinette Chatre AuthorDate: Tue, 29 May 2018 05:57:29 -0700 Committer: Thomas Gleixner CommitDate: Wed, 20 Jun 2018 00:56:28 +0200 x86/intel_rdt

[tip:x86/cache] x86/intel_rdt: Associate mode with each RDT resource group

2018-06-19 Thread tip-bot for Reinette Chatre
Commit-ID: 5363fc10521acb00c4bdc19ab9e2482db12b5514 Gitweb: https://git.kernel.org/tip/5363fc10521acb00c4bdc19ab9e2482db12b5514 Author: Reinette Chatre AuthorDate: Tue, 29 May 2018 05:57:28 -0700 Committer: Thomas Gleixner CommitDate: Wed, 20 Jun 2018 00:56:27 +0200 x86/intel_rdt

[tip:x86/cache] x86/intel_rdt: Introduce RDT resource group mode

2018-06-19 Thread tip-bot for Reinette Chatre
Commit-ID: c4ccc8b90dfe244361db195bcac376fe1ad5f31a Gitweb: https://git.kernel.org/tip/c4ccc8b90dfe244361db195bcac376fe1ad5f31a Author: Reinette Chatre AuthorDate: Tue, 29 May 2018 05:57:27 -0700 Committer: Thomas Gleixner CommitDate: Wed, 20 Jun 2018 00:56:27 +0200 x86/intel_rdt

[tip:x86/cache] x86/intel_rdt: Introduce RDT resource group mode

2018-06-19 Thread tip-bot for Reinette Chatre
Commit-ID: c4ccc8b90dfe244361db195bcac376fe1ad5f31a Gitweb: https://git.kernel.org/tip/c4ccc8b90dfe244361db195bcac376fe1ad5f31a Author: Reinette Chatre AuthorDate: Tue, 29 May 2018 05:57:27 -0700 Committer: Thomas Gleixner CommitDate: Wed, 20 Jun 2018 00:56:27 +0200 x86/intel_rdt

[tip:x86/cache] x86/intel_rdt: Document new mode, size, and bit_usage

2018-06-19 Thread tip-bot for Reinette Chatre
Commit-ID: 83c258a428647a19d5928b9db38b0f8eebdf5cf1 Gitweb: https://git.kernel.org/tip/83c258a428647a19d5928b9db38b0f8eebdf5cf1 Author: Reinette Chatre AuthorDate: Tue, 29 May 2018 05:57:26 -0700 Committer: Thomas Gleixner CommitDate: Wed, 20 Jun 2018 00:56:27 +0200 x86/intel_rdt

[tip:x86/cache] x86/intel_rdt: Document new mode, size, and bit_usage

2018-06-19 Thread tip-bot for Reinette Chatre
Commit-ID: 83c258a428647a19d5928b9db38b0f8eebdf5cf1 Gitweb: https://git.kernel.org/tip/83c258a428647a19d5928b9db38b0f8eebdf5cf1 Author: Reinette Chatre AuthorDate: Tue, 29 May 2018 05:57:26 -0700 Committer: Thomas Gleixner CommitDate: Wed, 20 Jun 2018 00:56:27 +0200 x86/intel_rdt

Re: [PATCH V5 00/38] Intel(R) Resource Director Technology Cache Pseudo-Locking enabling

2018-06-19 Thread Reinette Chatre
Hi Thomas, On 6/19/2018 9:57 AM, Thomas Gleixner wrote: > On Tue, 29 May 2018, Reinette Chatre wrote: >> >> The last patch of this series depends on the series: >> "[RFC PATCH 0/3] Interface for higher order contiguous allocations" >> submitted at: >> h

Re: [PATCH V5 00/38] Intel(R) Resource Director Technology Cache Pseudo-Locking enabling

2018-06-19 Thread Reinette Chatre
Hi Thomas, On 6/19/2018 9:57 AM, Thomas Gleixner wrote: > On Tue, 29 May 2018, Reinette Chatre wrote: >> >> The last patch of this series depends on the series: >> "[RFC PATCH 0/3] Interface for higher order contiguous allocations" >> submitted at: >> h

Re: [PATCH V6 07/38] x86/intel_rdt: Initialize new resource group with sane defaults

2018-06-19 Thread Reinette Chatre
Hi Thomas, On 6/19/2018 9:53 AM, Thomas Gleixner wrote: > On Tue, 19 Jun 2018, Reinette Chatre wrote: >> On 6/19/2018 5:31 AM, Thomas Gleixner wrote: >>> On Thu, 7 Jun 2018, Reinette Chatre wrote: >>>> +static void cbm_ensure_valid(u32 *_val, struct rdt_resource *r)

Re: [PATCH V6 07/38] x86/intel_rdt: Initialize new resource group with sane defaults

2018-06-19 Thread Reinette Chatre
Hi Thomas, On 6/19/2018 9:53 AM, Thomas Gleixner wrote: > On Tue, 19 Jun 2018, Reinette Chatre wrote: >> On 6/19/2018 5:31 AM, Thomas Gleixner wrote: >>> On Thu, 7 Jun 2018, Reinette Chatre wrote: >>>> +static void cbm_ensure_valid(u32 *_val, struct rdt_resource *r)

Re: [PATCH V6 07/38] x86/intel_rdt: Initialize new resource group with sane defaults

2018-06-19 Thread Reinette Chatre
Hi Thomas, On 6/19/2018 5:31 AM, Thomas Gleixner wrote: > On Thu, 7 Jun 2018, Reinette Chatre wrote: >> +/** >> + * cbm_ensure_valid - Enforce validity on provided CBM >> + * @_val: Candidate CBM >> + * @r: RDT resource to which the CBM belongs >

Re: [PATCH V6 07/38] x86/intel_rdt: Initialize new resource group with sane defaults

2018-06-19 Thread Reinette Chatre
Hi Thomas, On 6/19/2018 5:31 AM, Thomas Gleixner wrote: > On Thu, 7 Jun 2018, Reinette Chatre wrote: >> +/** >> + * cbm_ensure_valid - Enforce validity on provided CBM >> + * @_val: Candidate CBM >> + * @r: RDT resource to which the CBM belongs >

[PATCH V6 25/38] x86/intel_rdt: Enable entering of pseudo-locksetup mode

2018-06-07 Thread Reinette Chatre
appropriate default allocations for new resource groups. For the same reason resource groups in pseudo-locksetup mode are not considered when testing if new resource groups may overlap. Signed-off-by: Reinette Chatre --- V6: A resource group in pseudo-locksetup mode does have a CLOSID associated

[PATCH V6 25/38] x86/intel_rdt: Enable entering of pseudo-locksetup mode

2018-06-07 Thread Reinette Chatre
appropriate default allocations for new resource groups. For the same reason resource groups in pseudo-locksetup mode are not considered when testing if new resource groups may overlap. Signed-off-by: Reinette Chatre --- V6: A resource group in pseudo-locksetup mode does have a CLOSID associated

[PATCH V6 07/38] x86/intel_rdt: Initialize new resource group with sane defaults

2018-06-07 Thread Reinette Chatre
ons. Signed-off-by: Reinette Chatre --- V6: The cache region that is available for use by a new resource group may not be contiguous. Enforce the available region to be valid by selecting only the first contiguous portion. The goal is to ensure a sane and valid default on resource group creat

[PATCH V6 07/38] x86/intel_rdt: Initialize new resource group with sane defaults

2018-06-07 Thread Reinette Chatre
ons. Signed-off-by: Reinette Chatre --- V6: The cache region that is available for use by a new resource group may not be contiguous. Enforce the available region to be valid by selecting only the first contiguous portion. The goal is to ensure a sane and valid default on resource group creat

[PATCH V6 27/38] x86/intel_rdt: Add utilities to test pseudo-locked region possibility

2018-06-01 Thread Reinette Chatre
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 --- V6: Fix the broken test for a pseudo-locked region in the cache hierarchy. arch/x86/kernel/cpu/intel_rdt.h | 2 + arch/x86/kernel/cpu

[PATCH V6 27/38] x86/intel_rdt: Add utilities to test pseudo-locked region possibility

2018-06-01 Thread Reinette Chatre
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 --- V6: Fix the broken test for a pseudo-locked region in the cache hierarchy. arch/x86/kernel/cpu/intel_rdt.h | 2 + arch/x86/kernel/cpu

[PATCH V6 29/38] x86/intel_rdt: Pseudo-lock region creation/removal core

2018-05-31 Thread Reinette Chatre
-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 --- V6: Obtain the cache line size information from cache

[PATCH V6 29/38] x86/intel_rdt: Pseudo-lock region creation/removal core

2018-05-31 Thread Reinette Chatre
-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 --- V6: Obtain the cache line size information from cache

[PATCH V5 05/38] x86/intel_rdt: Introduce test to determine if closid is in use

2018-05-29 Thread Reinette Chatre
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

[PATCH V5 05/38] x86/intel_rdt: Introduce test to determine if closid is in use

2018-05-29 Thread Reinette Chatre
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

[PATCH V5 04/38] x86/intel_rdt: Introduce resource group's mode resctrl file

2018-05-29 Thread Reinette Chatre
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: Reinette Chatre

[PATCH V5 04/38] x86/intel_rdt: Introduce resource group's mode resctrl file

2018-05-29 Thread Reinette Chatre
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: Reinette Chatre

[PATCH V5 06/38] x86/intel_rdt: Make useful functions available internally

2018-05-29 Thread Reinette Chatre
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

[PATCH V5 06/38] x86/intel_rdt: Make useful functions available internally

2018-05-29 Thread Reinette Chatre
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

[PATCH V5 17/38] x86/intel_rdt: Respect read and write access

2018-05-29 Thread Reinette Chatre
are 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

[PATCH V5 35/38] x86/intel_rdt: Create character device exposing pseudo-locked region

2018-05-29 Thread Reinette Chatre
-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, 297 insertions(+), 1 deletion(-) diff --git a/arch/x86/kernel

[PATCH V5 17/38] x86/intel_rdt: Respect read and write access

2018-05-29 Thread Reinette Chatre
are 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

[PATCH V5 35/38] x86/intel_rdt: Create character device exposing pseudo-locked region

2018-05-29 Thread Reinette Chatre
-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, 297 insertions(+), 1 deletion(-) diff --git a/arch/x86/kernel

[PATCH V5 01/38] x86/intel_rdt: Document new mode, size, and bit_usage

2018-05-29 Thread Reinette Chatre
or 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/Document

[PATCH V5 02/38] x86/intel_rdt: Introduce RDT resource group mode

2018-05-29 Thread Reinette Chatre
introduced 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 +

[PATCH V5 01/38] x86/intel_rdt: Document new mode, size, and bit_usage

2018-05-29 Thread Reinette Chatre
or 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/Document

[PATCH V5 02/38] x86/intel_rdt: Introduce RDT resource group mode

2018-05-29 Thread Reinette Chatre
introduced 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 +

[PATCH V5 20/38] x86/intel_rdt: Protect against resource group changes during locking

2018-05-29 Thread Reinette Chatre
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

[PATCH V5 00/38] Intel(R) Resource Director Technology Cache Pseudo-Locking enabling

2018-05-29 Thread Reinette Chatre
In these tests the patches from this series were applied on the x86/cache branch of tip.git at the time the HEAD was: commit 87943db7dfb0c5ee5aa74a9ac06346fadd9695c8 (tip/x86/cache) Author: Reinette Chatre Date: Fri Oct 20 02:16:59 2017 -0700 x86/intel_rdt: Fix potential deadlock during res

[PATCH V5 20/38] x86/intel_rdt: Protect against resource group changes during locking

2018-05-29 Thread Reinette Chatre
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

[PATCH V5 00/38] Intel(R) Resource Director Technology Cache Pseudo-Locking enabling

2018-05-29 Thread Reinette Chatre
In these tests the patches from this series were applied on the x86/cache branch of tip.git at the time the HEAD was: commit 87943db7dfb0c5ee5aa74a9ac06346fadd9695c8 (tip/x86/cache) Author: Reinette Chatre Date: Fri Oct 20 02:16:59 2017 -0700 x86/intel_rdt: Fix potential deadlock during res

[PATCH V5 22/38] x86/intel_rdt: Add check to determine if monitoring in progress

2018-05-29 Thread Reinette Chatre
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

[PATCH V5 22/38] x86/intel_rdt: Add check to determine if monitoring in progress

2018-05-29 Thread Reinette Chatre
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

[PATCH V5 38/38] x86/intel_rdt: Limit C-states dynamically when pseudo-locking active

2018-05-29 Thread Reinette Chatre
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

[PATCH V5 15/38] x86/intel_rdt: Documentation for Cache Pseudo-Locking

2018-05-29 Thread 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 | 280 - 1 file changed, 278 insertions(+), 2 deletions(-) diff --git a/Documentation

[PATCH V5 25/38] x86/intel_rdt: Enable entering of pseudo-locksetup mode

2018-05-29 Thread Reinette Chatre
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

[PATCH V5 36/38] x86/intel_rdt: More precise L2 hit/miss measurements

2018-05-29 Thread Reinette Chatre
and 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

[PATCH V5 38/38] x86/intel_rdt: Limit C-states dynamically when pseudo-locking active

2018-05-29 Thread Reinette Chatre
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

[PATCH V5 15/38] x86/intel_rdt: Documentation for Cache Pseudo-Locking

2018-05-29 Thread 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 | 280 - 1 file changed, 278 insertions(+), 2 deletions(-) diff --git a/Documentation

[PATCH V5 25/38] x86/intel_rdt: Enable entering of pseudo-locksetup mode

2018-05-29 Thread Reinette Chatre
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

[PATCH V5 36/38] x86/intel_rdt: More precise L2 hit/miss measurements

2018-05-29 Thread Reinette Chatre
and 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

[PATCH V5 03/38] x86/intel_rdt: Associate mode with each RDT resource group

2018-05-29 Thread Reinette Chatre
-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

[PATCH V5 07/38] x86/intel_rdt: Initialize new resource group with sane defaults

2018-05-29 Thread Reinette Chatre
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 ++--

[PATCH V5 03/38] x86/intel_rdt: Associate mode with each RDT resource group

2018-05-29 Thread Reinette Chatre
-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

[PATCH V5 07/38] x86/intel_rdt: Initialize new resource group with sane defaults

2018-05-29 Thread Reinette Chatre
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 ++--

[PATCH V5 09/38] x86/intel_rdt: Enable setting of exclusive mode

2018-05-29 Thread Reinette Chatre
rrent 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 deletion(-) di

[PATCH V5 11/38] x86/intel_rdt: Support flexible data to parsing callbacks

2018-05-29 Thread Reinette Chatre
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

[PATCH V5 11/38] x86/intel_rdt: Support flexible data to parsing callbacks

2018-05-29 Thread Reinette Chatre
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

[PATCH V5 09/38] x86/intel_rdt: Enable setting of exclusive mode

2018-05-29 Thread Reinette Chatre
rrent 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 deletion(-) di

[PATCH V5 08/38] x86/intel_rdt: Introduce new "exclusive" mode

2018-05-29 Thread Reinette Chatre
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

[PATCH V5 08/38] x86/intel_rdt: Introduce new "exclusive" mode

2018-05-29 Thread Reinette Chatre
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

[PATCH V5 10/38] x86/intel_rdt: Making CBM name and type more explicit

2018-05-29 Thread Reinette Chatre
a 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:

[PATCH V5 14/38] x86/intel_rdt: Display resource groups' allocations' size in bytes

2018-05-29 Thread Reinette Chatre
the 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/

[PATCH V5 10/38] x86/intel_rdt: Making CBM name and type more explicit

2018-05-29 Thread Reinette Chatre
a 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:

[PATCH V5 14/38] x86/intel_rdt: Display resource groups' allocations' size in bytes

2018-05-29 Thread Reinette Chatre
the 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/

[PATCH V5 12/38] x86/intel_rdt: Ensure requested schemata respects mode

2018-05-29 Thread Reinette Chatre
. 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_ctrlmondata.c

[PATCH V5 12/38] x86/intel_rdt: Ensure requested schemata respects mode

2018-05-29 Thread Reinette Chatre
. 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_ctrlmondata.c

[PATCH V5 34/38] x86/intel_rdt: Create debugfs files for pseudo-locking testing

2018-05-29 Thread Reinette Chatre
asure 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

[PATCH V5 34/38] x86/intel_rdt: Create debugfs files for pseudo-locking testing

2018-05-29 Thread Reinette Chatre
asure 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

[PATCH V5 32/38] x86/intel_rdt: Ensure RDT cleanup on exit

2018-05-29 Thread Reinette Chatre
-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/kernel/cpu

[PATCH V5 32/38] x86/intel_rdt: Ensure RDT cleanup on exit

2018-05-29 Thread Reinette Chatre
-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/kernel/cpu

[PATCH V5 18/38] x86/intel_rdt: Add utility to test if tasks assigned to resource group

2018-05-29 Thread Reinette Chatre
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

[PATCH V5 18/38] x86/intel_rdt: Add utility to test if tasks assigned to resource group

2018-05-29 Thread Reinette Chatre
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

[PATCH V5 16/38] x86/intel_rdt: Introduce the Cache Pseudo-Locking modes

2018-05-29 Thread Reinette Chatre
ully 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

[PATCH V5 19/38] x86/intel_rdt: Add utility to restrict/restore access to resctrl files

2018-05-29 Thread Reinette Chatre
or 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

[PATCH V5 26/38] x86/intel_rdt: Split resource group removal in two

2018-05-29 Thread Reinette Chatre
. 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

[PATCH V5 16/38] x86/intel_rdt: Introduce the Cache Pseudo-Locking modes

2018-05-29 Thread Reinette Chatre
ully 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

[PATCH V5 19/38] x86/intel_rdt: Add utility to restrict/restore access to resctrl files

2018-05-29 Thread Reinette Chatre
or 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

[PATCH V5 26/38] x86/intel_rdt: Split resource group removal in two

2018-05-29 Thread Reinette Chatre
. 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

[PATCH V5 23/38] x86/intel_rdt: Introduce pseudo-locked region

2018-05-29 Thread Reinette Chatre
and 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

[PATCH V5 21/38] x86/intel_rdt: Utilities to restrict/restore access to specific files

2018-05-29 Thread Reinette Chatre
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

[PATCH V5 23/38] x86/intel_rdt: Introduce pseudo-locked region

2018-05-29 Thread Reinette Chatre
and 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

[PATCH V5 21/38] x86/intel_rdt: Utilities to restrict/restore access to specific files

2018-05-29 Thread Reinette Chatre
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

[PATCH V5 24/38] x86/intel_rdt: Support enter/exit of locksetup mode

2018-05-29 Thread Reinette Chatre
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

[PATCH V5 33/38] x86/intel_rdt: Create resctrl debug area

2018-05-29 Thread Reinette Chatre
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

[PATCH V5 24/38] x86/intel_rdt: Support enter/exit of locksetup mode

2018-05-29 Thread Reinette Chatre
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

[PATCH V5 33/38] x86/intel_rdt: Create resctrl debug area

2018-05-29 Thread Reinette Chatre
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

[PATCH V5 28/38] x86/intel_rdt: Discover supported platforms via prefetch disable bits

2018-05-29 Thread Reinette Chatre
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

[PATCH V5 31/38] x86/intel_rdt: resctrl files reflect pseudo-locked information

2018-05-29 Thread Reinette Chatre
of 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_ctrlmondata.c | 3 +++ arch

[PATCH V5 37/38] x86/intel_rdt: Support L3 cache performance event of Broadwell

2018-05-29 Thread Reinette Chatre
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

[PATCH V5 27/38] x86/intel_rdt: Add utilities to test pseudo-locked region possibility

2018-05-29 Thread Reinette Chatre
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

[PATCH V5 30/38] x86/intel_rdt: Support creation/removal of pseudo-locked region

2018-05-29 Thread Reinette Chatre
a 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

[PATCH V5 28/38] x86/intel_rdt: Discover supported platforms via prefetch disable bits

2018-05-29 Thread Reinette Chatre
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

[PATCH V5 31/38] x86/intel_rdt: resctrl files reflect pseudo-locked information

2018-05-29 Thread Reinette Chatre
of 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_ctrlmondata.c | 3 +++ arch

[PATCH V5 37/38] x86/intel_rdt: Support L3 cache performance event of Broadwell

2018-05-29 Thread Reinette Chatre
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

[PATCH V5 27/38] x86/intel_rdt: Add utilities to test pseudo-locked region possibility

2018-05-29 Thread Reinette Chatre
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

[PATCH V5 30/38] x86/intel_rdt: Support creation/removal of pseudo-locked region

2018-05-29 Thread Reinette Chatre
a 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

<    3   4   5   6   7   8   9   10   11   12   >