Commit-ID: de73f38f768021610bd305cf74ef3702fcf6a1eb
Gitweb: https://git.kernel.org/tip/de73f38f768021610bd305cf74ef3702fcf6a1eb
Author: Vikas Shivappa
AuthorDate: Fri, 20 Apr 2018 15:36:21 -0700
Committer: Thomas Gleixner
CommitDate: Sat, 19 May 2018 13:16:44 +0200
x86/intel_rdt
Commit-ID: ba0f26d8529c2dfc9aa6d9e8a338180737f8c1be
Gitweb: https://git.kernel.org/tip/ba0f26d8529c2dfc9aa6d9e8a338180737f8c1be
Author: Vikas Shivappa
AuthorDate: Fri, 20 Apr 2018 15:36:20 -0700
Committer: Thomas Gleixner
CommitDate: Sat, 19 May 2018 13:16:44 +0200
x86/intel_rdt
Commit-ID: 8205a078ba7819c23558e31af4b3bda04d9b3bae
Gitweb: https://git.kernel.org/tip/8205a078ba7819c23558e31af4b3bda04d9b3bae
Author: Vikas Shivappa
AuthorDate: Fri, 20 Apr 2018 15:36:19 -0700
Committer: Thomas Gleixner
CommitDate: Sat, 19 May 2018 13:16:44 +0200
x86/intel_rdt
Commit-ID: 19c635ab24a1e94a759e82bfb34554a6a0db215e
Gitweb: https://git.kernel.org/tip/19c635ab24a1e94a759e82bfb34554a6a0db215e
Author: Vikas Shivappa
AuthorDate: Fri, 20 Apr 2018 15:36:17 -0700
Committer: Thomas Gleixner
CommitDate: Sat, 19 May 2018 13:16:43 +0200
x86/intel_rdt
Commit-ID: d6c64a4f49fdea0ae79addc3282ae8eb8581bdfc
Gitweb: https://git.kernel.org/tip/d6c64a4f49fdea0ae79addc3282ae8eb8581bdfc
Author: Vikas Shivappa
AuthorDate: Fri, 20 Apr 2018 15:36:16 -0700
Committer: Thomas Gleixner
CommitDate: Sat, 19 May 2018 13:16:42 +0200
x86/intel_rdt
Commit-ID: 1bd2a63b4f0deefe745aa0fd969c07b2eb9ee99e
Gitweb: https://git.kernel.org/tip/1bd2a63b4f0deefe745aa0fd969c07b2eb9ee99e
Author: Vikas Shivappa
AuthorDate: Fri, 20 Apr 2018 15:36:18 -0700
Committer: Thomas Gleixner
CommitDate: Sat, 19 May 2018 13:16:43 +0200
x86/intel_rdt
lot of factors like QPI
link, number of memory channels, memory channel frequency, its width and
memory speed, how many channels are configured and also if memory
interleaving is enabled.
Signed-off-by: Vikas Shivappa
---
arch/x86/kernel/cpu/intel_rdt.c | 37 ++
n the percentage values. The default value when mounted
is max_u32.
$ echo "L3:0=3;1=c\nMB:0=1024;1=500" > /sys/fs/resctrl/p0/schemata
$ echo "L3:0=3;1=3\nMB:0=1024;1=500" > /sys/fs/resctrl/p1/schemata
In the above example the tasks in "p1" and "p0" rdtgr
l only be used by the
feedback loop patch.
Signed-off-by: Vikas Shivappa
---
arch/x86/kernel/cpu/intel_rdt.h | 10
arch/x86/kernel/cpu/intel_rdt_monitor.c | 45 -
2 files changed, 49 insertions(+), 6 deletions(-)
diff --git a/arch/x86/kernel/cpu
pl2][mba_MBps]] /sys/fs/resctrl
Signed-off-by: Vikas Shivappa
---
arch/x86/kernel/cpu/intel_rdt.c | 8
arch/x86/kernel/cpu/intel_rdt.h | 3 +++
arch/x86/kernel/cpu/intel_rdt_rdtgroup.c | 30 ++
3 files changed, 41 insertions(+)
diff --git a
d of being specified in
percentage. We do not write the IA32_MBA_THRTL_MSRs when the schemata
is updated as that is handled separately.
Signed-off-by: Vikas Shivappa
---
arch/x86/kernel/cpu/intel_rdt.c | 2 +-
arch/x86/kernel/cpu/intel_rdt_ctrlmondata.c | 24 +++-
2 fil
Add documentation about the feedback loop mechanism (MBA software
controller) which lets the user specify the memory bandwidth allocation
in MBps. This includes some changes to "schemata" formati with
examples.
Signed-off-by: Vikas Shivappa
---
Documentation/x86/intel_rdt_u
in initial phases -> mba_sc kicks in and reduced
bandwidth percentage values -> but after some it has mostly "L2 <-> L3"
traffic. In this scenario mba_sc increases the bandwidth percentage when
there is lesser memory traffic.
Signed-off-by: Vikas Shivappa
---
arch/x86/kern
When MBA software controller is enabled, we need a per domain storage
for user specified bandwidth in MB and the raw b/w percentage values
which are programmed into the MSR. Add support for these data structures
and initialization.
Signed-off-by: Vikas Shivappa
---
arch/x86/kernel/cpu
in percentage values.
Signed-off-by: Vikas Shivappa
---
arch/x86/kernel/cpu/intel_rdt.c | 10 +-
arch/x86/kernel/cpu/intel_rdt_ctrlmondata.c | 10 --
2 files changed, 17 insertions(+), 3 deletions(-)
diff --git a/arch/x86/kernel/cpu/intel_rdt.c b/arch/x86/kernel/cpu/inte
d the delta b/w when the b/w MSR
values change. We do this by taking the time stamp every time a the
counter is read and then keeping a history of b/w. This will be used to
support internal queries for the bandwidth in Megabytes.
Signed-off-by: Vikas Shivappa
---
arch/x86/kernel/cpu/intel_rdt.c
/schemata
$ echo "L3:0=3;1=3\nMB:0=1024;1=500" > /sys/fs/resctrl/p1/schemata
In the above example the tasks in "p1" and "p0" rdtgroup
would use a max b/w of 1024MBps on socket0 and 500MBps on socket1.
Vikas Shivappa (6):
x86/intel_rdt/mba_sc: Add documentation f
alues written to the MSR are also cached so
that we donot do a rdmsr for every 1s.
Signed-off-by: Vikas Shivappa
---
arch/x86/kernel/cpu/intel_rdt.c | 2 +-
arch/x86/kernel/cpu/intel_rdt.h | 1 +
arch/x86/kernel/cpu/intel_rdt_monitor.c | 71 +++--
3 f
Add documentation about usage which includes the "schemata" format and
use case for MBA software controller.
Signed-off-by: Vikas Shivappa
---
Documentation/x86/intel_rdt_ui.txt | 63 ++
1 file changed, 63 insertions(+)
diff --git a/Documen
Specify a new mount option "mba_MB" to enable the user to specify MBA
bandwidth in Megabytes(Software Controller/SC) instead of b/w
percentage:
$mount -t resctrl resctrl [-o cdp[,cdpl2][mba_MB]] /sys/fs/resctrl
Signed-off-by: Vikas Shivappa
---
arch/x86/kernel/cpu/intel_rdt.h
Commit-ID: 24247aeeabe99eab13b798c2dec066dd6f07
Gitweb: http://git.kernel.org/tip/24247aeeabe99eab13b798c2dec066dd6f07
Author: Vikas Shivappa
AuthorDate: Tue, 15 Aug 2017 18:00:43 -0700
Committer: Thomas Gleixner
CommitDate: Wed, 16 Aug 2017 12:05:41 +0200
x86/intel_rdt/cqm
Commit-ID: bbc4615e0b7df5e21d0991adb4b2798508354924
Gitweb: http://git.kernel.org/tip/bbc4615e0b7df5e21d0991adb4b2798508354924
Author: Vikas Shivappa
AuthorDate: Tue, 15 Aug 2017 18:00:42 -0700
Committer: Thomas Gleixner
CommitDate: Wed, 16 Aug 2017 12:05:41 +0200
x86/intel_rdt/mbm
immediately on a different cpu in same domain. We
donot flush the worker because the MBM overflow worker reschedules the
worker on same CPU and scans the domain->cpu_mask to get the domain
pointer.
Reported-by: Thomas Gleixner
Signed-off-by: Vikas Shivappa
---
arch/x86/kernel/cpu/intel_rd
the rmid->busy correctly in case of domain going offline and
to use the correct work_cpu.
Vikas Shivappa (2):
x86/intel_rdt/mbm: Fix MBM overflow handler during hot cpu
x86/intel_rdt/cqm: Improve limbo list processing
arch/x86/kernel/cpu/intel_rdt.c | 34 -
arch/x86/kernel/
is empty or would return -EBUSY if there are RMIDs on limbo
but not on free list. As a side effect of not accessing the limbo list
in parallel on IPIs we simplify some of the related data structures.
Signed-off-by: Vikas Shivappa
---
arch/x86/kernel/cpu/intel_rdt.c | 32 -
arch/
Commit-ID: a9110b552d44fedbd1221eb0e5bde81da32d9350
Gitweb: http://git.kernel.org/tip/a9110b552d44fedbd1221eb0e5bde81da32d9350
Author: Vikas Shivappa
AuthorDate: Wed, 9 Aug 2017 11:46:34 -0700
Committer: Thomas Gleixner
CommitDate: Mon, 14 Aug 2017 11:47:47 +0200
x86/intel_rdt: Modify
Commit-ID: eda61c265f3656be8345fdf0334b3a77829437fc
Gitweb: http://git.kernel.org/tip/eda61c265f3656be8345fdf0334b3a77829437fc
Author: Vikas Shivappa
AuthorDate: Wed, 9 Aug 2017 11:46:33 -0700
Committer: Thomas Gleixner
CommitDate: Mon, 14 Aug 2017 11:47:46 +0200
x86/intel_rdt/cqm
-by: Vikas Shivappa
---
arch/x86/include/asm/intel_rdt_sched.h | 30 +-
arch/x86/kernel/cpu/intel_rdt.c | 10 --
arch/x86/kernel/cpu/intel_rdt_rdtgroup.c | 10 +-
3 files changed, 26 insertions(+), 24 deletions(-)
diff --git a/arch/x86
is empty or would return -EBUSY if there are RMIDs on limbo
but not on free list. As a side effect of not accessing the limbo list
in parallel on IPIs we simplify some of the related data structures.
Signed-off-by: Vikas Shivappa
---
arch/x86/kernel/cpu/intel_rdt.c | 25 +++-
arch/x86/ker
/cache (where the V2 was merged)
Vikas Shivappa (3):
x86/intel_rdt/cqm: Add fix to clear the default RMID during hotcpu
x86/intel_rdt: Modify the intel_pqr_state for better performance
x86/intel_rdt/cqm: Improve limbo list processing
arch/x86/include/asm/intel_rdt_sched.h | 30 +++--
arch/x86
The user configured per cpu default RMID is not cleared during cpu
hotplug. This may lead to incorrect RMID values after a cpu goes offline
and again comes back online. Clear the per cpu default RMID during cpu
offline and online handling.
Reported-by: Prakyha Sai Praneeth
Signed-off-by: Vikas
Commit-ID: e33026831bdb5f051499fec6a606f79fe1f94cc8
Gitweb: http://git.kernel.org/tip/e33026831bdb5f051499fec6a606f79fe1f94cc8
Author: Vikas Shivappa
AuthorDate: Tue, 25 Jul 2017 14:14:47 -0700
Committer: Thomas Gleixner
CommitDate: Tue, 1 Aug 2017 22:41:29 +0200
x86/intel_rdt/mbm
Commit-ID: a4de1dfdd726537e2a78b55759fc646d9b0a0be8
Gitweb: http://git.kernel.org/tip/a4de1dfdd726537e2a78b55759fc646d9b0a0be8
Author: Vikas Shivappa
AuthorDate: Tue, 25 Jul 2017 14:14:46 -0700
Committer: Thomas Gleixner
CommitDate: Tue, 1 Aug 2017 22:41:29 +0200
x86/intel_rdt/mbm
Commit-ID: 895c663ecef16c8138e20a7d5c052e0fcc400241
Gitweb: http://git.kernel.org/tip/895c663ecef16c8138e20a7d5c052e0fcc400241
Author: Vikas Shivappa
AuthorDate: Tue, 25 Jul 2017 14:14:44 -0700
Committer: Thomas Gleixner
CommitDate: Tue, 1 Aug 2017 22:41:28 +0200
x86/intel_rdt/cqm
Commit-ID: f3cbeacaa06e2b8c2f3ce8531e9aa3fe1f2762cd
Gitweb: http://git.kernel.org/tip/f3cbeacaa06e2b8c2f3ce8531e9aa3fe1f2762cd
Author: Vikas Shivappa
AuthorDate: Tue, 25 Jul 2017 14:14:40 -0700
Committer: Thomas Gleixner
CommitDate: Tue, 1 Aug 2017 22:41:27 +0200
x86/intel_rdt/cqm
Commit-ID: 4af4a88e0c9246990f95c88eeba781265f27c58e
Gitweb: http://git.kernel.org/tip/4af4a88e0c9246990f95c88eeba781265f27c58e
Author: Vikas Shivappa
AuthorDate: Tue, 25 Jul 2017 14:14:41 -0700
Committer: Thomas Gleixner
CommitDate: Tue, 1 Aug 2017 22:41:27 +0200
x86/intel_rdt/cqm
Commit-ID: 748b6b881ccdda8f0663c68605f431279e06f49a
Gitweb: http://git.kernel.org/tip/748b6b881ccdda8f0663c68605f431279e06f49a
Author: Vikas Shivappa
AuthorDate: Tue, 25 Jul 2017 14:14:43 -0700
Committer: Thomas Gleixner
CommitDate: Tue, 1 Aug 2017 22:41:28 +0200
x86/intel_rdt/cqm
Commit-ID: 4be6c078428b08d1a948cc09faca8f1326231866
Gitweb: http://git.kernel.org/tip/4be6c078428b08d1a948cc09faca8f1326231866
Author: Vikas Shivappa
AuthorDate: Tue, 25 Jul 2017 14:14:42 -0700
Committer: Thomas Gleixner
CommitDate: Tue, 1 Aug 2017 22:41:27 +0200
x86/intel_rdt
Commit-ID: f9049547f7e72377049d717354b2f56f36a5854a
Gitweb: http://git.kernel.org/tip/f9049547f7e72377049d717354b2f56f36a5854a
Author: Vikas Shivappa
AuthorDate: Tue, 25 Jul 2017 14:14:39 -0700
Committer: Thomas Gleixner
CommitDate: Tue, 1 Aug 2017 22:41:26 +0200
x86/intel_rdt
Commit-ID: d89b7379015fc561060a4094676d143e6ed264e7
Gitweb: http://git.kernel.org/tip/d89b7379015fc561060a4094676d143e6ed264e7
Author: Vikas Shivappa
AuthorDate: Tue, 25 Jul 2017 14:14:38 -0700
Committer: Thomas Gleixner
CommitDate: Tue, 1 Aug 2017 22:41:26 +0200
x86/intel_rdt/cqm
Commit-ID: 90c403e83101c87ee9e6df8c8d30ea8628ff8bfc
Gitweb: http://git.kernel.org/tip/90c403e83101c87ee9e6df8c8d30ea8628ff8bfc
Author: Vikas Shivappa
AuthorDate: Tue, 25 Jul 2017 14:14:37 -0700
Committer: Thomas Gleixner
CommitDate: Tue, 1 Aug 2017 22:41:25 +0200
x86/intel_rdt
Commit-ID: a9fcf8627dc01049c390023bbb0323db3c785b91
Gitweb: http://git.kernel.org/tip/a9fcf8627dc01049c390023bbb0323db3c785b91
Author: Vikas Shivappa
AuthorDate: Tue, 25 Jul 2017 14:14:36 -0700
Committer: Thomas Gleixner
CommitDate: Tue, 1 Aug 2017 22:41:25 +0200
x86/intel_rdt/cqm
Commit-ID: 0734ded1abee9439b0c5d7b62af1ead78aab895b
Gitweb: http://git.kernel.org/tip/0734ded1abee9439b0c5d7b62af1ead78aab895b
Author: Vikas Shivappa
AuthorDate: Tue, 25 Jul 2017 14:14:33 -0700
Committer: Thomas Gleixner
CommitDate: Tue, 1 Aug 2017 22:41:24 +0200
x86/intel_rdt: Change
Commit-ID: b09d981b3f346690dafa3e4ebedfcf3e44b68e83
Gitweb: http://git.kernel.org/tip/b09d981b3f346690dafa3e4ebedfcf3e44b68e83
Author: Vikas Shivappa
AuthorDate: Tue, 25 Jul 2017 14:14:35 -0700
Committer: Thomas Gleixner
CommitDate: Tue, 1 Aug 2017 22:41:25 +0200
x86/intel_rdt
Commit-ID: d6aaba615a482ce7d3ec218cf7b8d02d0d5753b8
Gitweb: http://git.kernel.org/tip/d6aaba615a482ce7d3ec218cf7b8d02d0d5753b8
Author: Vikas Shivappa
AuthorDate: Tue, 25 Jul 2017 14:14:34 -0700
Committer: Thomas Gleixner
CommitDate: Tue, 1 Aug 2017 22:41:24 +0200
x86/intel_rdt/cqm
Commit-ID: d4ab33201029913b594ae785a9665f45040396ab
Gitweb: http://git.kernel.org/tip/d4ab33201029913b594ae785a9665f45040396ab
Author: Vikas Shivappa
AuthorDate: Tue, 25 Jul 2017 14:14:30 -0700
Committer: Thomas Gleixner
CommitDate: Tue, 1 Aug 2017 22:41:22 +0200
x86/intel_rdt/cqm
Commit-ID: c7d9aac6131148abe29ed1dc6bd73ad1213d1f56
Gitweb: http://git.kernel.org/tip/c7d9aac6131148abe29ed1dc6bd73ad1213d1f56
Author: Vikas Shivappa
AuthorDate: Tue, 25 Jul 2017 14:14:32 -0700
Committer: Thomas Gleixner
CommitDate: Tue, 1 Aug 2017 22:41:23 +0200
x86/intel_rdt/cqm
Commit-ID: edf6fa1c4a951b3a03e94b63e6483c5d9da3ab11
Gitweb: http://git.kernel.org/tip/edf6fa1c4a951b3a03e94b63e6483c5d9da3ab11
Author: Vikas Shivappa
AuthorDate: Tue, 25 Jul 2017 14:14:28 -0700
Committer: Thomas Gleixner
CommitDate: Tue, 1 Aug 2017 22:41:21 +0200
x86/intel_rdt/cqm
Commit-ID: 65b4f403057e32da73c36e33d403890173c4c324
Gitweb: http://git.kernel.org/tip/65b4f403057e32da73c36e33d403890173c4c324
Author: Vikas Shivappa
AuthorDate: Tue, 25 Jul 2017 14:14:31 -0700
Committer: Thomas Gleixner
CommitDate: Tue, 1 Aug 2017 22:41:23 +0200
x86/intel_rdt
Commit-ID: 6a445edce657810992594c7b9e679219aaf78ad9
Gitweb: http://git.kernel.org/tip/6a445edce657810992594c7b9e679219aaf78ad9
Author: Vikas Shivappa
AuthorDate: Tue, 25 Jul 2017 14:14:27 -0700
Committer: Thomas Gleixner
CommitDate: Tue, 1 Aug 2017 22:41:21 +0200
x86/intel_rdt/cqm
Commit-ID: 1b5c0b7583173b787b5c93ff89838a950d0e23ff
Gitweb: http://git.kernel.org/tip/1b5c0b7583173b787b5c93ff89838a950d0e23ff
Author: Vikas Shivappa
AuthorDate: Tue, 25 Jul 2017 14:14:25 -0700
Committer: Thomas Gleixner
CommitDate: Tue, 1 Aug 2017 22:41:20 +0200
x86/intel_rdt
Commit-ID: dd131853f3fbc1c3aa051c34a2967c2f76309024
Gitweb: http://git.kernel.org/tip/dd131853f3fbc1c3aa051c34a2967c2f76309024
Author: Vikas Shivappa
AuthorDate: Tue, 25 Jul 2017 14:14:26 -0700
Committer: Thomas Gleixner
CommitDate: Tue, 1 Aug 2017 22:41:20 +0200
x86/intel_rdt: Make
Commit-ID: f01d7d51f577b5dc0fa5919ab8a9228e2bf49f3e
Gitweb: http://git.kernel.org/tip/f01d7d51f577b5dc0fa5919ab8a9228e2bf49f3e
Author: Vikas Shivappa
AuthorDate: Tue, 25 Jul 2017 14:14:22 -0700
Committer: Thomas Gleixner
CommitDate: Tue, 1 Aug 2017 22:41:19 +0200
x86/intel_rdt
Commit-ID: 0583020456cea9fcf43b84bb13a41eab059ae0a8
Gitweb: http://git.kernel.org/tip/0583020456cea9fcf43b84bb13a41eab059ae0a8
Author: Vikas Shivappa
AuthorDate: Tue, 25 Jul 2017 14:14:23 -0700
Committer: Thomas Gleixner
CommitDate: Tue, 1 Aug 2017 22:41:19 +0200
x86/intel_rdt: Change
Commit-ID: 1640ae9471ae41eb18d2b214f1f40af3c4ed3828
Gitweb: http://git.kernel.org/tip/1640ae9471ae41eb18d2b214f1f40af3c4ed3828
Author: Vikas Shivappa
AuthorDate: Tue, 25 Jul 2017 14:14:21 -0700
Committer: Thomas Gleixner
CommitDate: Tue, 1 Aug 2017 22:41:19 +0200
x86/intel_rdt/cqm
Commit-ID: c39a0e2c8850f08249383f2425dbd8dbe4baad69
Gitweb: http://git.kernel.org/tip/c39a0e2c8850f08249383f2425dbd8dbe4baad69
Author: Vikas Shivappa
AuthorDate: Tue, 25 Jul 2017 14:14:20 -0700
Committer: Thomas Gleixner
CommitDate: Tue, 1 Aug 2017 22:41:18 +0200
x86/perf/cqm: Wipe
Rename the intel_rdt_schemata file to intel_rdt_ctrlmondata as we now
want to add support for RDT monitoring data for the events that are
supported in later patches.
Signed-off-by: Vikas Shivappa
---
arch/x86/kernel/cpu/Makefile| 2 +-
arch/x86/kernel/cpu
Separate the ctrl cpus file handling from the generic cpus file handling
and convert the per cpu closid from u32 to a struct which will be used
later to add rmid to the same struct. Also cleanup some name space.
Signed-off-by: Vikas Shivappa
---
arch/x86/include/asm/intel_rdt_sched.h | 4
code:
Removed a lot of common mkdir code, a fix to handling of the list of the
child rdtgroups and some cleanups in list traversal. Also the changes to
have similar alloc and free for CLOS/RMID and return -EBUSY when RMIDs
are in limbo and not free]
Signed-off-by: Tony Luck
Signed-off-by: Vikas
t;u32
rmid" which holds the RMID for the task. RMID=0 is reserved for the
default root group where the tasks belong to at mount.
[tony: zero the rmid if rdtgroup was deleted when task was being moved]
Signed-off-by: Tony Luck
Signed-off-by: Vikas Shivappa
---
arch/x86/kernel/cpu/intel_rdt_
OS associates a CLOSid(Class of service id) to a task by writing the
high 32 bits of per CPU IA32_PQR_ASSOC MSR when a task is scheduled in.
CPUID.(EAX=10H, ECX=1):EDX[15:0] enumerates the max CLOSID supported and
it is zero indexed. Hence change the type to u32 from int.
Signed-off-by: Vikas
.
[Vikas: Extended the flags to have few bits per category like resource,
info/base etc]
Signed-off-by: Tony luck
Signed-off-by: Vikas Shivappa
---
arch/x86/kernel/cpu/intel_rdt.c | 7 +-
arch/x86/kernel/cpu/intel_rdt.h | 22 +++-
arch/x86/kernel/cpu/intel_rdt_rdtgroup.c | 191
is used to
determine if an RMID can be reused. Provides an upper bound on the
threshold and is shown to the user in bytes though the internal
value will be rounded to the scaling factor supported by the h/w.
Signed-off-by: Vikas Shivappa
---
arch/x86/kernel/cpu/intel_rdt.h
Separate the ctrl mkdir code from the rest in order to prepare for
adding support for RDT monitoring mkdir support as well.
Signed-off-by: Vikas Shivappa
---
arch/x86/kernel/cpu/intel_rdt_rdtgroup.c | 112 ++-
1 file changed, 80 insertions(+), 32 deletions(-)
diff
Few of the data-structures have generic names although they are RDT
allocation specific. Rename them to be allocation specific to
accommodate RDT monitoring. E.g. s/enabled/alloc_enabled/
No functional change.
Signed-off-by: Vikas Shivappa
---
arch/x86/include/asm/intel_rdt_sched.h | 4
t;cqm"
from some names, make some data structure local to intel_rdt_monitor.c
static. Add copyright header]
Signed-off-by: Tony Luck
Signed-off-by: Vikas Shivappa
---
arch/x86/kernel/cpu/Makefile| 2 +-
arch/x86/kernel/cpu/intel_rdt.c | 46 -
arch/x86/kernel/cpu/i
mbo search]
Signed-off-by: Vikas Shivappa
---
arch/x86/kernel/cpu/intel_rdt.c | 32 +
arch/x86/kernel/cpu/intel_rdt.h | 6 +
arch/x86/kernel/cpu/intel_rdt_monitor.c | 213
3 files changed, 251 insertions(+)
diff --git a/arch/x86/kernel/
Add a description of resctrl based RDT(resource director technology)
monitoring extension and its usage.
[Tony: Added descriptions for how monitoring and allocation are measured
and some cleanups]
Signed-off-by: Tony Luck
Signed-off-by: Vikas Shivappa
---
Documentation/x86/intel_rdt_ui.txt
cket usage.
Signed-off-by: Vikas Shivappa
---
arch/x86/events/intel/Makefile |2 +-
arch/x86/events/intel/cqm.c | 1766 ---
arch/x86/include/asm/intel_rdt_common.h |2 -
arch/x86/kernel/cpu/intel_rdt.c |8 +
include/linux/pe
omatically
removed from the previous monitor group. When CPUs go offline, they are
automatically removed from the ctrl_mon and monitor groups.
Signed-off-by: Vikas Shivappa
---
arch/x86/kernel/cpu/intel_rdt_rdtgroup.c | 110 ++-
1 file changed, 93 insertions(+),
From: Reinette Chatre
Sparse reports that both of these can be static.
Make it so.
Signed-off-by: Reinette Chatre
Signed-off-by: Vikas Shivappa
---
arch/x86/kernel/cpu/intel_rdt_rdtgroup.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/arch/x86/kernel/cpu
is enabled all of the monitoring
related directories/files would not exist and resctrl would work in
legacy mode.
Signed-off-by: Vikas Shivappa
---
arch/x86/kernel/cpu/intel_rdt.h | 4 +++
arch/x86/kernel/cpu/intel_rdt_monitor.c | 1 +
arch/x86/kernel/cpu/intel_rdt_rdtgroup.c | 61 +
the parent control group.
Signed-off-by: Vikas Shivappa
---
arch/x86/kernel/cpu/intel_rdt_rdtgroup.c | 90 ++--
1 file changed, 86 insertions(+), 4 deletions(-)
diff --git a/arch/x86/kernel/cpu/intel_rdt_rdtgroup.c
b/arch/x86/kernel/cpu/intel_rdt_rdtgroup.c
index
omain directory and have one file per event (and use the fp->priv to
store mon data bits)]
Signed-off-by: Vikas Shivappa
---
arch/x86/kernel/cpu/intel_rdt.c | 9 +-
arch/x86/kernel/cpu/intel_rdt.h | 29 ++
arch/x86/kernel/cpu/intel_rdt_ctrlmondata.c | 55 ++
Re-factor the code to separate the ctrl group removal from the rmdir to
prepare to add RDT monitoring group removal.
Signed-off-by: Vikas Shivappa
---
arch/x86/kernel/cpu/intel_rdt_rdtgroup.c | 48 ++--
1 file changed, 33 insertions(+), 15 deletions(-)
diff --git a
Introduce the usage of rdt_enable_key in sched_in code as a preparation
to add RDT monitoring support for sched_in.
Signed-off-by: Vikas Shivappa
---
arch/x86/include/asm/intel_rdt_sched.h | 12 ++--
1 file changed, 10 insertions(+), 2 deletions(-)
diff --git a/arch/x86/include/asm
: Vikas Shivappa
---
arch/x86/kernel/cpu/intel_rdt.c | 23 +++-
arch/x86/kernel/cpu/intel_rdt.h | 33 +
arch/x86/kernel/cpu/intel_rdt_ctrlmondata.c | 1 +
arch/x86/kernel/cpu/intel_rdt_monitor.c | 31
Resource groups have a per domain directory under "mon_data". Add or
remove these directories as and when domains come online and go offline.
Also update the per cpu rmids and cache upon onlining and offlining
cpus.
Signed-off-by: Vikas Shivappa
---
arch/x86/kernel/cpu/intel_rdt.c
cpu CLOSid/RMID values are
cached and the write is performed only when a task with a different
CLOSid/RMID is scheduled in.
Signed-off-by: Vikas Shivappa
---
arch/x86/include/asm/intel_rdt_sched.h | 50 --
arch/x86/kernel/cpu/intel_rdt.h| 4 ---
2 files
rations to a
local intel_rdt.h.
h/t to Reinette Chatre for pointing out that we should separate the
public interfaces used by other parts of the kernel from private
objects shared between the various files comprising RDT.
No functional change.
Signed-off-by: Vikas Shivappa
---
M
d-off-by: Vikas Shivappa
---
arch/x86/kernel/cpu/intel_rdt.c | 21 ---
arch/x86/kernel/cpu/intel_rdt.h | 10 +
arch/x86/kernel/cpu/intel_rdt_monitor.c | 63
arch/x86/kernel/cpu/intel_rdt_rdtgroup.c | 9 +
4 files change
bytes) or local_bytes(local
memory controller bytes) file in "mon_data" is read it shows the
total bytes for that rdtgroup since its creation. User can snapshot this
at different time intervals to obtain bytes/second.
Signed-off-by: Vikas Shivappa
---
arch/x86/kernel/cpu/i
allocation and monitoring code.
No functional change.
Signed-off-by: Vikas Shivappa
---
arch/x86/Kconfig | 12 ++--
arch/x86/include/asm/intel_rdt.h | 4 ++--
arch/x86/kernel/cpu/Makefile | 2 +-
include/linux/sched.h| 2 +-
4 files changed, 10 insertions
Change the format of the global rdt_resources_all. This holds all the
RDT resource structure initialization values. Make this more readable by
using the format:
rdt_resources_all[] = {
[] =
{...
}
...
}
Signed-off-by: Vikas Shivappa
---
arch/x86/kernel
/intel_rdt/mbm: Basic counting of MBM events (total and local)
Vikas Shivappa (25):
x86/perf/cqm: Wipe out perf based cqm
x86/intel_rdt/cqm: Documentation for resctrl based RDT Monitoring
x86/intel_rdt: Introduce a common compile option for RDT
x86/intel_rdt: Change file names to accommodate
Commit-ID: 79298acc4ba097e9ab78644e3e38902d73547c92
Gitweb: http://git.kernel.org/tip/79298acc4ba097e9ab78644e3e38902d73547c92
Author: Vikas Shivappa
AuthorDate: Mon, 26 Jun 2017 11:55:49 -0700
Committer: Thomas Gleixner
CommitDate: Fri, 30 Jun 2017 21:20:00 +0200
x86/intel_rdt: Fix
t;cqm"
from some names, make some data structure local to intel_rdt_monitor.c
static. Add copyright header]
Signed-off-by: Tony Luck
Signed-off-by: Vikas Shivappa
---
arch/x86/kernel/cpu/Makefile| 2 +-
arch/x86/kernel/cpu/intel_rdt.c | 38 +---
arch/x86/kernel/cpu/i
Add a description of resctrl based RDT(resource director technology)
monitoring extension and its usage.
[Tony: Added descriptions for how monitoring and allocation are measured
and some cleanups]
Signed-off-by: Tony Luck
Signed-off-by: Vikas Shivappa
---
Documentation/x86/intel_rdt_ui.txt
cket usage.
Signed-off-by: Vikas Shivappa
---
arch/x86/events/intel/Makefile |2 +-
arch/x86/events/intel/cqm.c | 1766 ---
arch/x86/include/asm/intel_rdt_common.h |2 -
arch/x86/kernel/cpu/intel_rdt.c |8 +
include/linux/pe
is enabled all of the monitoring
related directories/files would not exist and resctrl would work in
legacy mode.
Signed-off-by: Vikas Shivappa
---
arch/x86/kernel/cpu/intel_rdt.h | 5 +++
arch/x86/kernel/cpu/intel_rdt_monitor.c | 3 ++
arch/x86/kernel/cpu/intel_rdt_rdtgroup.c | 67 +
t;u32
rmid" which holds the RMID for the task. RMID=0 is reserved for the
default root group where the tasks belong to at mount.
Signed-off-by: Vikas Shivappa
---
arch/x86/kernel/cpu/intel_rdt_rdtgroup.c | 18 --
include/linux/sched.h| 1 +
2 files chang
.
[Vikas: Extended the flags to have few bits per category like resource,
info/base etc]
Signed-off-by: Tony luck
Signed-off-by: Vikas Shivappa
---
arch/x86/kernel/cpu/intel_rdt.c | 7 +-
arch/x86/kernel/cpu/intel_rdt.h | 23 +++--
arch/x86/kernel/cpu/intel_rdt_rdtgroup.c | 154
Resource groups have a per domain directory under "mon_data". Add or
remove these directories as and when domains come online and go offline.
Also update the per cpu rmids and cache upon onlining and offlining
cpus.
Signed-off-by: Vikas Shivappa
---
arch/x86/kernel/cpu/intel_rdt.c
Few of the data-structures have generic names although they are RDT
allocation specific. Rename them to be allocation specific to
accommodate RDT monitoring. E.g. s/enabled/alloc_enabled/
No functional change.
Signed-off-by: Vikas Shivappa
---
arch/x86/include/asm/intel_rdt_sched.h | 4
having some occupancy. They continue to
be in limbo list until the occupancy < threshold_occupancy. The
threshold_occupancy is a user configurable value.
OS uses IA32_QM_CTR MSR to read the occupancy associated with an RMID
after programming the IA32_EVENTSEL MSR with the RMID.
Signed-off-by: Vi
is used to
determine if an RMID can be reused. Provides an upper bound on the
threshold and is shown to the user in bytes though the internal
value will be rounded to the scaling factor supported by the h/w.
Signed-off-by: Vikas Shivappa
---
arch/x86/kernel/cpu/intel_rdt.h
code:
Removed a lot of common mkdir code, a fix to handling of the list of the
child rdtgroups and some cleanups in list traversal. Also the changes to
have similar alloc and free for CLOS/RMID and return -EBUSY when RMIDs
are in limbo and not free]
Signed-off-by: Tony Luck
Signed-off-by: Vikas
omatically
removed from the previous monitor group. When CPUs go offline, they are
automatically removed from the ctrl_mon and monitor groups.
Signed-off-by: Vikas Shivappa
---
arch/x86/kernel/cpu/intel_rdt.c | 15 ++-
arch/x86/kernel/cpu/intel_rdt.h | 2 +
arch/x86/kernel/cpu
d-off-by: Vikas Shivappa
---
arch/x86/kernel/cpu/intel_rdt.c | 34 +++
arch/x86/kernel/cpu/intel_rdt.h | 9 +
arch/x86/kernel/cpu/intel_rdt_monitor.c | 57
arch/x86/kernel/cpu/intel_rdt_rdtgroup.c | 9 +
4 files changed
omain directory and have one file per event (and use the fp->priv to
store mon data bits)]
Signed-off-by: Vikas Shivappa
---
arch/x86/kernel/cpu/Makefile| 2 +-
arch/x86/kernel/cpu/intel_rdt.c | 4 +-
arch/x86/kernel/cpu/intel_rdt.h | 27 +++
a
1 - 100 of 526 matches
Mail list logo