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

2018-05-29 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 --- arch/x86/kernel/cpu/intel_rdt.h | 17

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

2018-05-29 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 --- arch/x86/kernel/cpu/intel_rdt.h | 17

[PATCH V5 13/38] x86/intel_rdt: Introduce "bit_usage" to display cache allocations details

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

[PATCH V5 13/38] x86/intel_rdt: Introduce "bit_usage" to display cache allocations details

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

Re: [PATCH v2 3/4] mm: add find_alloc_contig_pages() interface

2018-05-23 Thread Reinette Chatre
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 (hugetlbfs,

Re: [PATCH v2 3/4] mm: add find_alloc_contig_pages() interface

2018-05-23 Thread Reinette Chatre
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 (hugetlbfs,

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

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

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

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

Re: [PATCH V4 13/38] x86/intel_rdt: Introduce "bit_usage" to display cache allocations details

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

Re: [PATCH V4 13/38] x86/intel_rdt: Introduce "bit_usage" to display cache allocations details

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

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

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

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

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

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

2018-05-22 Thread Reinette Chatre
or directory belonging to a resource group. Signed-off-by: Reinette Chatre <reinette.cha...@intel.com> --- 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/

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

2018-05-22 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 V4 01/38] x86/intel_rdt: Document new mode, size, and bit_usage

2018-05-22 Thread Reinette Chatre
or the three new resctrl files as well as one example demonstrating their use. Signed-off-by: Reinette Chatre <reinette.cha...@intel.com> --- Documentation/x86/intel_rdt_ui.txt | 99 +- 1 file changed, 97 insertions(+), 2 deletions(-) diff --git a/Documenta

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

2018-05-22 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 V4 02/38] x86/intel_rdt: Introduce RDT resource group mode

2018-05-22 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 <reinette.cha...@intel.com> --- arc

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

2018-05-22 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 V4 05/38] x86/intel_rdt: Introduce test to determine if closid is in use

2018-05-22 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 <reinette.cha...@intel.com> --- arch/x86/kernel/cpu/intel_rdt_rdtgroup.c | 12 1 file chang

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

2018-05-22 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 V4 03/38] x86/intel_rdt: Associate mode with each RDT resource group

2018-05-22 Thread Reinette Chatre
-by: Reinette Chatre <reinette.cha...@intel.com> --- 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

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

2018-05-22 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 V4 03/38] x86/intel_rdt: Associate mode with each RDT resource group

2018-05-22 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 V4 04/38] x86/intel_rdt: Introduce resource group's mode resctrl file

2018-05-22 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 V4 16/38] x86/intel_rdt: Introduce the Cache Pseudo-Locking modes

2018-05-22 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 directly

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

2018-05-22 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 V4 26/38] x86/intel_rdt: Split resource group removal in two

2018-05-22 Thread Reinette Chatre
. This flag is not used by any of the code between its original and new location. Signed-off-by: Reinette Chatre <reinette.cha...@intel.com> --- arch/x86/kernel/cpu/intel_rdt_rdtgroup.c | 25 - 1 file changed, 16 insertions(+), 9 deletions(-) diff --git a/arch/x86/kern

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

2018-05-22 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 V4 26/38] x86/intel_rdt: Split resource group removal in two

2018-05-22 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 V4 17/38] x86/intel_rdt: Respect read and write access

2018-05-22 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 V4 09/38] x86/intel_rdt: Enable setting of exclusive mode

2018-05-22 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 <reinette.cha...@intel.com> --- arch/x86/kernel/cpu/intel_rdt_rdtgroup.c | 97 +++- 1 file changed, 96 inse

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

2018-05-22 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 V4 18/38] x86/intel_rdt: Add utility to test if tasks assigned to resource group

2018-05-22 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

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

2018-05-22 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 V4 06/38] x86/intel_rdt: Make useful functions available internally

2018-05-22 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 <reinette.cha...@intel.com> --- arch/x86/kernel/cpu/intel_rdt.h | 2 ++ arch/x86/kern

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

2018-05-22 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 V4 08/38] x86/intel_rdt: Introduce new "exclusive" mode

2018-05-22 Thread Reinette Chatre
etween its allocation and that of another resource group. Signed-off-by: Reinette Chatre <reinette.cha...@intel.com> --- 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

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

2018-05-22 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 V4 15/38] x86/intel_rdt: Documentation for Cache Pseudo-Locking

2018-05-22 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 <reinette.cha...@intel.com> --- Documentation/x86/intel_rdt_ui.txt | 278 - 1 file changed, 276 insertions(+), 2 del

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

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

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

2018-05-22 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 <reinette.cha...@intel.com> --- arch/x86/kernel/cpu/intel_rdt_rdtgro

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

2018-05-22 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 V4 14/38] x86/intel_rdt: Display resource groups' allocations' size in bytes

2018-05-22 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 <reinette.cha

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

2018-05-22 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 V4 10/38] x86/intel_rdt: Making CBM name and type more explicit

2018-05-22 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 V4 14/38] x86/intel_rdt: Display resource groups' allocations' size in bytes

2018-05-22 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 V4 11/38] x86/intel_rdt: Support flexible data to parsing callbacks

2018-05-22 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 V4 11/38] x86/intel_rdt: Support flexible data to parsing callbacks

2018-05-22 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 V4 13/38] x86/intel_rdt: Introduce "bit_usage" to display cache allocations details

2018-05-22 Thread Reinette Chatre
by software only E - currently used exclusively by one resource group Signed-off-by: Reinette Chatre <reinette.cha...@intel.com> --- arch/x86/kernel/cpu/intel_rdt_rdtgroup.c | 79 1 file changed, 79 insertions(+) diff --git a/arch/x86/kernel/cpu/intel_r

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

2018-05-22 Thread Reinette Chatre
group. Temporarily mark it as unused to avoid compile warnings until it is used. Signed-off-by: Reinette Chatre <reinette.cha...@intel.com> --- 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_

[PATCH V4 13/38] x86/intel_rdt: Introduce "bit_usage" to display cache allocations details

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

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

2018-05-22 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 V4 20/38] x86/intel_rdt: Protect against resource group changes during locking

2018-05-22 Thread Reinette Chatre
pseudo-locked region is set up. Signed-off-by: Reinette Chatre <reinette.cha...@intel.com> --- 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(

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

2018-05-22 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 V4 12/38] x86/intel_rdt: Ensure requested schemata respects mode

2018-05-22 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 <reinette.cha...@intel.com> --- arch/x86/kernel/cpu/intel_rdt.h | 2 ++ arch/x86/kern

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

2018-05-22 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 V4 21/38] x86/intel_rdt: Utilities to restrict/restore access to specific files

2018-05-22 Thread Reinette Chatre
they are used. Signed-off-by: Reinette Chatre <reinette.cha...@intel.com> --- 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/

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

2018-05-22 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 V4 27/38] x86/intel_rdt: Add utilities to test pseudo-locked region possibility

2018-05-22 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 <reinette.cha...@intel.com> --- arch/x86/kernel/cpu/intel_rdt.h | 2 ++ arch/x86/kernel/cpu/intel_rdt_pseudo_lock.

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

2018-05-22 Thread Reinette Chatre
-by: Reinette Chatre <reinette.cha...@intel.com> --- 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/kern

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

2018-05-22 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 V4 32/38] x86/intel_rdt: Ensure RDT cleanup on exit

2018-05-22 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 V4 34/38] x86/intel_rdt: Create debugfs files for pseudo-locking testing

2018-05-22 Thread Reinette Chatre
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 <reinette.cha...@intel.com> --- arch/x86/Kconfig | 1 + arch/x86/kernel/cpu/Makefile

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

2018-05-22 Thread Reinette Chatre
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 + arch/x86/

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

2018-05-22 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 <reinette.cha...@intel.com> --- arch/x86/kern

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

2018-05-22 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 V4 24/38] x86/intel_rdt: Support enter/exit of locksetup mode

2018-05-22 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 <reinette.cha...@intel.com> --- arch/x86/kernel/cpu/intel_rdt.h | 2 + arch/x86/kern

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

2018-05-22 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 V4 33/38] x86/intel_rdt: Create resctrl debug area

2018-05-22 Thread Reinette Chatre
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 <reinette.cha...@intel.com> --- ar

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

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

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

2018-05-22 Thread Reinette Chatre
-off-by: Reinette Chatre <reinette.cha...@intel.com> --- 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 del

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

2018-05-22 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, 296 insertions(+), 2 deletions(-) diff --git a/arch/x86/kernel

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

2018-05-22 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 <reinette.cha...@intel.

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

2018-05-22 Thread Reinette Chatre
and resource group structures. Signed-off-by: Reinette Chatre <reinette.cha...@intel.com> --- 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

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

2018-05-22 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 V4 23/38] x86/intel_rdt: Introduce pseudo-locked region

2018-05-22 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 V4 37/38] x86/intel_rdt: Support L3 cache performance event of Broadwell

2018-05-22 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 <reinette.cha...@intel.com> --- arch/x86/

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

2018-05-22 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 <reinette.cha...@intel.com> --- arch/x86/kernel/cpu/intel_rdt_pseudo_lock.c | 145 -- arch/x86/

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

2018-05-22 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 V4 36/38] x86/intel_rdt: More precise L2 hit/miss measurements

2018-05-22 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 V4 25/38] x86/intel_rdt: Enable entering of pseudo-locksetup mode

2018-05-22 Thread Reinette Chatre
appropriate default allocations for new resource groups. Signed-off-by: Reinette Chatre <reinette.cha...@intel.com> --- arch/x86/kernel/cpu/intel_rdt_ctrlmondata.c | 16 + arch/x86/kernel/cpu/intel_rdt_rdtgroup.c| 36 ++--- 2 files changed, 44 insertion

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

2018-05-22 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 <reinette.cha...@intel.com> --- arch/x86/kern

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

2018-05-22 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 V4 29/38] x86/intel_rdt: Pseudo-lock region creation/removal core

2018-05-22 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 --- arch/x86/kernel/cpu/intel_rdt.h | 17

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

2018-05-22 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 <reinette.cha...@intel.com> --- arch/x86/kernel/cpu/intel_rdt_pseudo_lock.c | 75 + 1 file changed, 75 insertions(+) diff --git

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

2018-05-22 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 V4 30/38] x86/intel_rdt: Support creation/removal of pseudo-locked region

2018-05-22 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

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

2018-05-22 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 V4 00/38] Intel(R) Resource Director Technology Cache Pseudo-Locking enabling

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

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

2018-05-22 Thread Reinette Chatre
ache 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 the patches from this series were applied

Re: [PATCH v2 3/4] mm: add find_alloc_contig_pages() interface

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

Re: [PATCH v2 3/4] mm: add find_alloc_contig_pages() interface

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

[PATCH V3 03/39] x86/intel_rdt: Associate mode with each RDT resource group

2018-04-25 Thread Reinette Chatre
-by: Reinette Chatre <reinette.cha...@intel.com> --- 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

[PATCH V3 03/39] x86/intel_rdt: Associate mode with each RDT resource group

2018-04-25 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 ecc32eb6a91e..e7f8561479d2

[PATCH V3 06/39] x86/intel_rdt: Make useful functions available internally

2018-04-25 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 <reinette.cha...@intel.com> --- arch/x86/kernel/cpu/intel_rdt.h | 2 ++ arch/x86/kern

[PATCH V3 06/39] x86/intel_rdt: Make useful functions available internally

2018-04-25 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 V3 09/39] x86/intel_rdt: Enable setting of exclusive mode

2018-04-25 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 <reinette.cha...@intel.com> --- arch/x86/kernel/cpu/intel_rdt_rdtgroup.c | 97 +++- 1 file changed, 96 inse

[PATCH V3 09/39] x86/intel_rdt: Enable setting of exclusive mode

2018-04-25 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 V3 08/39] x86/intel_rdt: Introduce new "exclusive" mode

2018-04-25 Thread Reinette Chatre
etween its allocation and that of another resource group. Signed-off-by: Reinette Chatre <reinette.cha...@intel.com> --- 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

[PATCH V3 08/39] x86/intel_rdt: Introduce new "exclusive" mode

2018-04-25 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

<    4   5   6   7   8   9   10   11   12   >