Signed-off-by: Joel Fernandes (Google)
---
.../admin-guide/hw-vuln/core-scheduling.rst | 460 ++
Documentation/admin-guide/hw-vuln/index.rst | 1 +
2 files changed, 461 insertions(+)
create mode 100644 Documentation/admin-guide/hw-vuln/core-scheduling.rst
diff --git a
From: chris hyser
This patch provides support for setting, clearing and copying core
scheduling 'task cookies' between threads (PID), processes (TGID), and
process groups (PGID).
The value of core scheduling isn't that tasks don't share a core, 'nosmt'
can do that. The value lies in exploiting a
Add a kselftest test to ensure that the core-sched interface is working
correctly.
Co-developed-by: Chris Hyser
Signed-off-by: Chris Hyser
Co-developed-by: Josh Don
Signed-off-by: Josh Don
Tested-by: Julien Desfossez
Signed-off-by: Joel Fernandes (Google)
Signed-off-by: chris hyser
Tested-by: Julien Desfossez
Not-Signed-off-by: Peter Zijlstra (Intel)
---
kernel/sched/core.c | 40 +++-
kernel/sched/fair.c | 12
2 files changed, 51 insertions(+), 1 deletion(-)
diff --git a/kernel/sched/core.c b/kernel/sched/core.c
index a7338
From: Josh Don
This adds the API to set/get the cookie for a given cgroup. This
interface lives at cgroup/cpu.core_tag.
The cgroup interface can be used to toggle a unique cookie value for all
descendent tasks, preventing these tasks from sharing with any others.
See Documentation/admin-guide/hw
sk wakeup, find the idlest CPU whose core
cookie matches with task's cookie
Signed-off-by: Aubrey Li
Signed-off-by: Tim Chen
Signed-off-by: Vineeth Remanan Pillai
Signed-off-by: Joel Fernandes (Google)
---
kernel/sched/fair.c | 29 ++
kerne
.
Core scheduler has extra overhead. Enable it only for machines with
more than one SMT hardware thread.
Co-developed-by: Chris Hyser
Signed-off-by: Chris Hyser
Co-developed-by: Joel Fernandes (Google)
Signed-off-by: Joel Fernandes (Google)
Tested-by: Julien Desfossez
Signed-off-by: Julien
From: chris hyser
Provides a selftest and examples of using the interface.
Signed-off-by: Chris Hyser
Signed-off-by: Josh Don
---
tools/testing/selftests/sched/.gitignore | 1 +
tools/testing/selftests/sched/Makefile| 14 +
tools/testing/selftests/sched/config | 1 +
z...
Aubrey Li (1):
sched: migration changes for core scheduling
Joel Fernandes (Google) (3):
kselftest: Add tests for core-sched interface
Documentation: Add core scheduling documentation
sched: Debug bits...
Josh Don (2):
sched: core scheduling tagging infrastructure
sched: cgroup cook
ed-off-by: Aubrey Li
Signed-off-by: Tim Chen
Signed-off-by: Vineeth Remanan Pillai
Signed-off-by: Joel Fernandes (Google)
---
kernel/sched/fair.c | 33 +---
kernel/sched/sched.h | 72
2 files changed, 101 insertions(+), 4 deletions(-)
more than one SMT hardware thread.
Co-developed-by: Chris Hyser
Signed-off-by: Chris Hyser
Co-developed-by: Joel Fernandes (Google)
Signed-off-by: Joel Fernandes (Google)
Tested-by: Julien Desfossez
Signed-off-by: Julien Desfossez
Signed-off-by: Tim Chen
Signed-off-by: Peter Zijlstra (Intel
From: chris hyser
This patch provides support for setting, clearing and copying core
scheduling 'task cookies' between threads (PID), processes (TGID), and
process groups (PGID).
The value of core scheduling isn't that tasks don't share a core, 'nosmt'
can do that. The value lies in exploiting a
Add a kselftest test to ensure that the core-sched interface is working
correctly.
Co-developed-by: Chris Hyser
Signed-off-by: Chris Hyser
Co-developed-by: Josh Don
Signed-off-by: Josh Don
Tested-by: Julien Desfossez
Signed-off-by: Joel Fernandes (Google)
---
tools/testing/selftests/sched
Signed-off-by: Joel Fernandes (Google)
---
.../admin-guide/hw-vuln/core-scheduling.rst | 460 ++
Documentation/admin-guide/hw-vuln/index.rst | 1 +
2 files changed, 461 insertions(+)
create mode 100644 Documentation/admin-guide/hw-vuln/core-scheduling.rst
diff --git a
Tested-by: Julien Desfossez
Not-Signed-off-by: Peter Zijlstra (Intel)
---
kernel/sched/core.c | 40 +++-
kernel/sched/fair.c | 9 +
2 files changed, 48 insertions(+), 1 deletion(-)
diff --git a/kernel/sched/core.c b/kernel/sched/core.c
index a62e8ad5
s for core scheduling
Joel Fernandes (Google) (3):
kselftest: Add tests for core-sched interface
Documentation: Add core scheduling documentation
sched: Debug bits...
Josh Don (1):
sched: tagging interface for core scheduling
chris hyser (1):
sched: prctl() cookie manipulation for core
The following commit has been merged into the core/rcu branch of tip:
Commit-ID: 6bc335828056f3b301a3deadda782de4e8f0db08
Gitweb:
https://git.kernel.org/tip/6bc335828056f3b301a3deadda782de4e8f0db08
Author:Joel Fernandes (Google)
AuthorDate:Tue, 03 Nov 2020 09:25:57 -05:00
The following commit has been merged into the core/rcu branch of tip:
Commit-ID: c2e13112e830c06825339cbadf0b3bc2bdb9a716
Gitweb:
https://git.kernel.org/tip/c2e13112e830c06825339cbadf0b3bc2bdb9a716
Author:Joel Fernandes (Google)
AuthorDate:Tue, 03 Nov 2020 09:26:03 -05:00
The following commit has been merged into the core/rcu branch of tip:
Commit-ID: ae5c2341ed3987bd434ed495bd4f3d8b2bc3e623
Gitweb:
https://git.kernel.org/tip/ae5c2341ed3987bd434ed495bd4f3d8b2bc3e623
Author:Joel Fernandes (Google)
AuthorDate:Wed, 23 Sep 2020 11:22:09 -04:00
The following commit has been merged into the core/rcu branch of tip:
Commit-ID: b4e6039e8af8c20dfbbdfcaebfcbd7c9d9ffe713
Gitweb:
https://git.kernel.org/tip/b4e6039e8af8c20dfbbdfcaebfcbd7c9d9ffe713
Author:Joel Fernandes (Google)
AuthorDate:Wed, 18 Nov 2020 11:15:41 -05:00
The following commit has been merged into the core/rcu branch of tip:
Commit-ID: 68804cf1c905ce227e4e1d0bc252c216811c59fd
Gitweb:
https://git.kernel.org/tip/68804cf1c905ce227e4e1d0bc252c216811c59fd
Author:Joel Fernandes (Google)
AuthorDate:Wed, 14 Oct 2020 18:21:53 -04:00
The following commit has been merged into the core/rcu branch of tip:
Commit-ID: 3afe7fa535491ecd0382c3968dc2349602bff8a2
Gitweb:
https://git.kernel.org/tip/3afe7fa535491ecd0382c3968dc2349602bff8a2
Author:Joel Fernandes (Google)
AuthorDate:Sat, 14 Nov 2020 14:31:32 -05:00
chine mechanism for now that avoids
such complications.
Core scheduler has extra overhead. Enable it only for core with
more than one SMT hardware threads.
Co-developed-by: Josh Don
Co-developed-by: Chris Hyser
Co-developed-by: Joel Fernandes (Google)
Tested-by: Julien Desfossez
Signed-o
Add a kselftest test to ensure that the core-sched interface is working
correctly.
Co-developed-by: Chris Hyser
Signed-off-by: Chris Hyser
Tested-by: Julien Desfossez
Reviewed-by: Josh Don
Signed-off-by: Josh Don
Signed-off-by: Chris Hyser
Signed-off-by: Joel Fernandes (Google)
---
tools
ed-off-by: Aubrey Li
Signed-off-by: Tim Chen
Signed-off-by: Vineeth Remanan Pillai
Signed-off-by: Joel Fernandes (Google)
---
kernel/sched/fair.c | 33 +---
kernel/sched/sched.h | 72
2 files changed, 101 insertions(+), 4 deletions(-)
Tested-by: Julien Desfossez
Not-Signed-off-by: Peter Zijlstra (Intel)
---
kernel/sched/core.c | 35 ++-
kernel/sched/fair.c | 9 +
2 files changed, 43 insertions(+), 1 deletion(-)
diff --git a/kernel/sched/core.c b/kernel/sched/core.c
index a3844e2e7379.
Signed-off-by: Joel Fernandes (Google)
---
.../admin-guide/hw-vuln/core-scheduling.rst | 263 ++
Documentation/admin-guide/hw-vuln/index.rst | 1 +
2 files changed, 264 insertions(+)
create mode 100644 Documentation/admin-guide/hw-vuln/core-scheduling.rst
diff --git a
migration changes for core scheduling
Joel Fernandes (Google) (3):
kselftest: Add tests for core-sched interface
Documentation: Add core scheduling documentation
sched: Debug bits...
Peter Zijlstra (1):
sched: CGroup tagging interface for core scheduling
.../admin-guide/hw-vuln/core-scheduling.r
)
*99.0th: 717 (7 samples)
99.5th: 725 (2 samples)
99.9th: 725 (0 samples)
Cc: Paul McKenney
Cc: Frederic Weisbecker
Suggested-by: Dietmar Eggeman
Co-developed-by: Qais Yousef
Signed-off-by: Qais Yousef
Signed-off-by: Joel Fernandes (Google)
---
kernel/sched/fair.c | 2
The following commit has been merged into the core/rcu branch of tip:
Commit-ID: 9f866dac94292f93d3b6bf8dbe860a44b954e555
Gitweb:
https://git.kernel.org/tip/9f866dac94292f93d3b6bf8dbe860a44b954e555
Author:Joel Fernandes (Google)
AuthorDate:Tue, 29 Sep 2020 15:29:27 -04:00
The following commit has been merged into the core/rcu branch of tip:
Commit-ID: bd56e0a4a291bc9db2cbaddef20ec61a1aad4208
Gitweb:
https://git.kernel.org/tip/bd56e0a4a291bc9db2cbaddef20ec61a1aad4208
Author:Joel Fernandes (Google)
AuthorDate:Wed, 07 Oct 2020 13:50:36 -07:00
The following commit has been merged into the core/rcu branch of tip:
Commit-ID: a043260740d5d6ec5be59c3fb595c719890a0b0b
Gitweb:
https://git.kernel.org/tip/a043260740d5d6ec5be59c3fb595c719890a0b0b
Author:Joel Fernandes (Google)
AuthorDate:Tue, 29 Sep 2020 15:29:28 -04:00
After rcu_do_batch(), add a check for whether the seglen counts went to
zero if the list was indeed empty.
Signed-off-by: Joel Fernandes (Google)
---
v1->v2: Added more debug checks.
kernel/rcu/rcu_segcblist.c | 12
kernel/rcu/rcu_segcblist.h | 3 +++
kernel/rcu/tre
After rcu_do_batch(), add a check for whether the seglen counts went to
zero if the list was indeed empty.
Signed-off-by: Joel Fernandes (Google)
---
kernel/rcu/rcu_segcblist.c | 12
kernel/rcu/rcu_segcblist.h | 3 +++
kernel/rcu/tree.c | 1 +
3 files changed, 16
-off-by: Joel Fernandes (Google)
---
kernel/sched/core.c | 33 -
kernel/sched/fair.c | 40
kernel/sched/sched.h | 5 +
3 files changed, 65 insertions(+), 13 deletions(-)
diff --git a/kernel/sched/core.c b/kernel/sched
schedule.
Tested-by: Julien Desfossez
Reviewed-by: Joel Fernandes (Google)
Signed-off-by: Vineeth Pillai
Signed-off-by: Julien Desfossez
Signed-off-by: Joel Fernandes (Google)
---
kernel/sched/core.c | 15 ---
kernel/sched/fair.c | 40
Vineeth Remanan Pillai
Signed-off-by: Joel Fernandes (Google)
---
kernel/sched/core.c | 183 +--
kernel/sched/sched.h | 4 +
2 files changed, 181 insertions(+), 6 deletions(-)
diff --git a/kernel/sched/core.c b/kernel/sched/core.c
index 7f807a84cc3
() -> prio_less().
Reviewed-by: Vineeth Pillai
Suggested-by: Peter Zijlstra (Intel)
Signed-off-by: Joel Fernandes (Google)
---
kernel/sched/core.c | 61 +
kernel/sched/fair.c | 80
kernel/sched/sched.h | 7 +++-
Add a generic_idle_{enter,exit} helper function to enter and exit kernel
protection when entering and exiting idle, respectively.
While at it, remove a stale RCU comment.
Reviewed-by: Alexandre Chartre
Tested-by: Julien Desfossez
Signed-off-by: Joel Fernandes (Google)
---
include/linux/entry
Tested-by: Julien Desfossez
Not-Signed-off-by: Peter Zijlstra (Intel)
---
kernel/sched/core.c | 35 ++-
kernel/sched/fair.c | 9 +
2 files changed, 43 insertions(+), 1 deletion(-)
diff --git a/kernel/sched/core.c b/kernel/sched/core.c
index 01938a2154fd.
-by: Alexander Graf
Signed-off-by: Joel Fernandes (Google)
---
.../admin-guide/kernel-parameters.txt | 14 ++
arch/x86/kernel/cpu/bugs.c| 19
include/linux/cpu.h | 1 +
include/linux/sched/smt.h
Document the usecases, design and interfaces for core scheduling.
Co-developed-by: Vineeth Pillai
Signed-off-by: Vineeth Pillai
Tested-by: Julien Desfossez
Reviewed-by: Randy Dunlap
Signed-off-by: Joel Fernandes (Google)
---
.../admin-guide/hw-vuln/core-scheduling.rst | 330
Desfossez
Signed-off-by: Peter Zijlstra (Intel)
Signed-off-by: Joel Fernandes (Google)
---
include/linux/sched.h | 1 +
kernel/sched/core.c | 130 +-
kernel/sched/idle.c | 1 +
kernel/sched/sched.h | 6 ++
4 files changed, 137 insertions(+), 1
Tested-by: Julien Desfossez
Reviewed-by: Chris Hyser
Signed-off-by: Chris Hyser
Signed-off-by: Joel Fernandes (Google)
---
kernel/sched/Makefile | 1 +
kernel/sched/core.c| 809 +---
kernel/sched/coretag.c | 819 +++
n of vruntime.
Suggested-by: Vineeth Remanan Pillai
Signed-off-by: Peter Zijlstra
Signed-off-by: Joel Fernandes (Google)
---
kernel/sched/fair.c | 11 +++
1 file changed, 3 insertions(+), 8 deletions(-)
diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c
index 12cf068eeec8..51483a00a755
permission of the color file in cgroupfs.
Reviewed-by: Joel Fernandes (Google)
Signed-off-by: Josh Don
Signed-off-by: Joel Fernandes (Google)
---
include/linux/sched.h | 1 +
kernel/sched/core.c | 120 +++---
kernel/sched/sched.h | 2 +
3 files changed,
Add a kselftest test to ensure that the core-sched interface is working
correctly.
Tested-by: Julien Desfossez
Reviewed-by: Josh Don
Signed-off-by: Joel Fernandes (Google)
---
tools/testing/selftests/sched/.gitignore | 1 +
tools/testing/selftests/sched/Makefile| 14 +
tools
This will be used by kselftest to verify the CGroup cookie value that is
set by the CGroup interface.
Reviewed-by: Josh Don
Tested-by: Julien Desfossez
Signed-off-by: Joel Fernandes (Google)
---
kernel/sched/core.c | 31 +++
1 file changed, 31 insertions(+)
diff
of existing core cookies so that multiple
tasks may share the same core_cookie.
This will be especially useful in the next patch, where the concept of
cookie color is introduced.
Reviewed-by: Joel Fernandes (Google)
Signed-off-by: Josh Don
Signed-off-by: Joel Fernandes (Google)
---
kernel
camera streaming frame rate by ~3%.
Tested-by: Julien Desfossez
Reviewed-by: Aubrey Li
Co-developed-by: Chris Hyser
Signed-off-by: Chris Hyser
Signed-off-by: Joel Fernandes (Google)
---
include/linux/sched.h| 1 +
include/uapi/linux/prctl.h | 3 ++
kernel/sched/core.c
Fernandes (Google)
---
include/linux/sched.h | 3 +++
kernel/fork.c | 1 +
kernel/sched/core.c | 8
3 files changed, 12 insertions(+)
diff --git a/include/linux/sched.h b/include/linux/sched.h
index 79d76c78cc8e..6fbdb1a204bf 100644
--- a/include/linux/sched.h
+++ b/include/linux
oduce more
APIs and support.
Reviewed-by: Josh Don
Tested-by: Julien Desfossez
Signed-off-by: Joel Fernandes (Google)
---
include/linux/sched.h | 2 +
kernel/sched/core.c | 241 --
kernel/sched/debug.c | 4 +
3 files changed, 236 insertions(+), 11
From: Vineeth Pillai
Similar to how user to kernel mode transitions are protected in earlier
patches, protect the entry into kernel from guest mode as well.
Tested-by: Julien Desfossez
Reviewed-by: Joel Fernandes (Google)
Reviewed-by: Alexandre Chartre
Signed-off-by: Vineeth Pillai
Signed
: Vineeth Pillai
Signed-off-by: Vineeth Pillai
Signed-off-by: Joel Fernandes (Google)
---
.../admin-guide/kernel-parameters.txt | 11 +
include/linux/entry-common.h | 12 +-
include/linux/sched.h | 12 +
kernel/entry/common.c
.
Tested-by: Julien Desfossez
Reviewed-by: Aubrey Li
Signed-off-by: Joel Fernandes (Google)
---
arch/x86/include/asm/thread_info.h | 2 ++
kernel/sched/sched.h | 6 ++
2 files changed, 8 insertions(+)
diff --git a/arch/x86/include/asm/thread_info.h
b/arch/x86/include/asm
-off-by: Joel Fernandes (Google)
---
drivers/gpu/drm/i915/i915_request.c | 4 ++--
include/linux/irq_work.h| 33 ++---
include/linux/irqflags.h| 4 ++--
kernel/bpf/stackmap.c | 2 +-
kernel/irq_work.c | 18
ed-off-by: Aubrey Li
Signed-off-by: Tim Chen
Signed-off-by: Vineeth Remanan Pillai
Signed-off-by: Joel Fernandes (Google)
---
kernel/sched/fair.c | 64
kernel/sched/sched.h | 29
2 files changed, 88 insertions(+), 5 deletions(-)
in case anyone reports an issue with it. Testing
shows it to be working for me.
Reviewed-by: Vineeth Pillai
Suggested-by: Peter Zijlstra (Intel)
Signed-off-by: Joel Fernandes (Google)
---
kernel/sched/core.c | 73 -
1 file changed, 26 insertions
ure it.
NOTE: This problem will be fixed differently in a later patch. It just
kept here for reference purposes about this issue, and to make
applying later patches easier.
Reported-by: Joel Fernandes (Google)
Signed-off-by: Peter Zijlstra
Signed-off-by: Joel Fernandes (Google)
---
enqueuing into the core queue only after the class-specific
enqueue callback has been called. This ensures that for CFS tasks, the
updated vruntime value is used when enqueuing the task into the core
rbtree.
Reviewed-by: Vineeth Pillai
Signed-off-by: Joel Fernandes (Google)
---
kernel/sched
From: Peter Zijlstra
Instead of only selecting a local task, select a task for all SMT
siblings for every reschedule on the core (irrespective which logical
CPU does the reschedule).
Tested-by: Julien Desfossez
Reviewed-by: Joel Fernandes (Google)
Signed-off-by: Peter Zijlstra (Intel)
Signed
(Intel)
Signed-off-by: Vineeth Remanan Pillai
Signed-off-by: Julien Desfossez
Signed-off-by: Joel Fernandes (Google)
---
kernel/sched/deadline.c | 16 ++--
kernel/sched/fair.c | 32 +++-
kernel/sched/idle.c | 8
kernel/sched/rt.c
that just duplicates a lot of
stuff for no raisin (the 2nd copy lives in the rt-mutex PI code).
Reviewed-by: Joel Fernandes (Google)
Tested-by: Julien Desfossez
Signed-off-by: Peter Zijlstra (Intel)
Signed-off-by: Vineeth Remanan Pillai
Signed-off-by: Julien Desfossez
Signed-off-by: Joel
From: Peter Zijlstra
Introduce the basic infrastructure to have a core wide rq->lock.
Tested-by: Julien Desfossez
Signed-off-by: Peter Zijlstra (Intel)
Signed-off-by: Julien Desfossez
Signed-off-by: Vineeth Remanan Pillai
Signed-off-by: Joel Fernandes (Google)
---
kernel/Kconfig.pree
From: Peter Zijlstra
Tested-by: Julien Desfossez
Signed-off-by: Peter Zijlstra (Intel)
Signed-off-by: Joel Fernandes (Google)
---
kernel/sched/fair.c | 11 +--
1 file changed, 9 insertions(+), 2 deletions(-)
diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c
index 51483a00a755
From: Peter Zijlstra
In preparation of playing games with rq->lock, abstract the thing
using an accessor.
Tested-by: Julien Desfossez
Signed-off-by: Peter Zijlstra (Intel)
Signed-off-by: Vineeth Remanan Pillai
Signed-off-by: Julien Desfossez
Signed-off-by: Joel Fernandes (Goo
re, but has some
issues w.r.t process/taskgroup weights:
https://lwn.net/ml/linux-kernel/20200225034438.GA617271@z...
Aubrey Li (1):
sched: migration changes for core scheduling
Joel Fernandes (Google) (16):
sched/fair: Snapshot the min_vruntime of CPUs on force idle
sched: Enqueue task i
n the respective segment.
Reviewed-by: Frederic Weisbecker
Reviewed-by: Neeraj Upadhyay
Signed-off-by: Joel Fernandes (Google)
---
include/trace/events/rcu.h | 26 ++
kernel/rcu/tree.c | 9 +
2 files changed, 35 insertions(+)
diff --git a/include/trace/events/
Some hardware such as certain AMD variants don't have cross-HT MDS/L1TF
issues. Detect this and don't enable core scheduling as it can
needlessly slow the device done.
Signed-off-by: Joel Fernandes (Google)
---
arch/x86/kernel/cpu/bugs.c | 8
kernel/sched/core.c
It is useful to see whether coresched is enabled or not, especially in
devices that don't need it. Add information about the same to
/proc/sched_debug.
Signed-off-by: Joel Fernandes (Google)
---
kernel/sched/debug.c | 4
1 file changed, 4 insertions(+)
diff --git a/kernel/sched/debu
add debug information.
In the future, if needed we could add more options to make it possible to
force-enable coresched. But right now I don't see a need for that, till a
usecase arises.
Joel Fernandes (Google) (2):
x86/bugs: Disable coresched on hardware that does not need it
sched/d
related to using donecbs's ->len field as a
temporary variable to save the segmented callback list's length. This cannot be
done anymore and is not needed.
Reviewed-by: Frederic Weisbecker
Signed-off-by: Joel Fernandes (Google)
---
include/linux/rcu_segcblist.h | 1
This memory barrier is not needed as rcu_segcblist_add_len() already
includes a memory barrier *before* and *after* the length of the list is
updated.
Same reasoning for rcu_segcblist_enqueue().
Reviewed-by: Frederic Weisbecker
Signed-off-by: Joel Fernandes (Google)
---
kernel/rcu
/lore.kernel.org/lkml/20200719034210.2382053-1-joel@xxxxx/)
Joel Fernandes (Google) (7):
rcu/tree: Make rcu_do_batch count how many callbacks were executed
rcu/segcblist: Add counters to segcblist datastructure
srcu: Fix invoke_rcu_callbacks() segcb length adjustment
rcu/trace: Add traci
Signed-off-by: Joel Fernandes (Google)
---
kernel/rcu/rcu_segcblist.c | 1 -
1 file changed, 1 deletion(-)
diff --git a/kernel/rcu/rcu_segcblist.c b/kernel/rcu/rcu_segcblist.c
index 2a03949d0b82..e9e72d72f7a6 100644
--- a/kernel/rcu/rcu_segcblist.c
+++ b/kernel/rcu/rcu_segcblist.c
@@ -10,7
deric Weisbecker
Signed-off-by: Joel Fernandes (Google)
---
kernel/rcu/srcutree.c | 5 -
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/kernel/rcu/srcutree.c b/kernel/rcu/srcutree.c
index 0f23d20d485a..79b7081143a7 100644
--- a/kernel/rcu/srcutree.c
+++ b/kernel/rcu/srcutree.c
@@ -1
deric Weisbecker
Reviewed-by: Neeraj Upadhyay
Signed-off-by: Joel Fernandes (Google)
---
kernel/rcu/rcu_segcblist.c | 2 +-
kernel/rcu/rcu_segcblist.h | 1 +
kernel/rcu/tree.c | 11 +--
3 files changed, 7 insertions(+), 7 deletions(-)
diff --git a/kernel/rcu/rcu_segcblist
n the respective segment.
Reviewed-by: Frederic Weisbecker
Reviewed-by: Neeraj Upadhyay
Signed-off-by: Joel Fernandes (Google)
---
include/trace/events/rcu.h | 25 +
kernel/rcu/rcu_segcblist.c | 34 ++
kernel/rcu/rcu_segcblist.h | 5 +
kerne
Memory barriers are needed when updating the full length of the
segcblist, however it is not fully clearly why one is needed before and
after. This patch therefore adds additional comments to the function
header to explain it.
Signed-off-by: Joel Fernandes (Google)
---
kernel/rcu
n the respective segment.
Signed-off-by: Joel Fernandes (Google)
---
include/trace/events/rcu.h | 25 +
kernel/rcu/rcu_segcblist.c | 31 +++
kernel/rcu/rcu_segcblist.h | 5 +
kernel/rcu/tree.c | 9 +
4 files changed, 70 inser
of counting down from 0 is confusing and error-prone IMHO.
This commit therefore explicitly counts how many callbacks were executed in
rcu_do_batch() itself, and uses that to update the per-CPU segcb list's ->len
field, without relying on the negativity of rcl->len.
Signed-off-by:
related to using donecbs's ->len field as a
temporary variable to save the segmented callback list's length. This cannot be
done anymore and is not needed.
Signed-off-by: Joel Fernandes (Google)
---
include/linux/rcu_segcblist.h | 1 +
kernel/rcu/rcu_segcbli
Various changes, bug fixes. Discovery of rcu_barrier issue.
v4: Restructured rcu_do_batch() and segcblist merging to avoid issues.
Fixed minor nit from Davidlohr.
v1->v3: minor nits.
(https://lore.kernel.org/lkml/20200719034210.2382053-1-joel@xxxxx/)
Joel Fernandes (Google) (6
Signed-off-by: Joel Fernandes (Google)
---
kernel/rcu/rcu_segcblist.c | 1 -
1 file changed, 1 deletion(-)
diff --git a/kernel/rcu/rcu_segcblist.c b/kernel/rcu/rcu_segcblist.c
index b0aaa51e0ee6..19ff82b805fb 100644
--- a/kernel/rcu/rcu_segcblist.c
+++ b/kernel/rcu/rcu_segcblist.c
@@ -10,7
Memory barriers are needed when updating the full length of the
segcblist, however it is not fully clearly why one is needed before and
after. This patch therefore adds additional comments to the function
header to explain it.
Signed-off-by: Joel Fernandes (Google)
---
kernel/rcu
This memory barrier is not needed as rcu_segcblist_add_len() already
includes a memory barrier *before* the length of the list is updated.
Same reasoning for rcu_segcblist_enqueue().
Signed-off-by: Joel Fernandes (Google)
---
kernel/rcu/rcu_segcblist.c | 1 -
kernel/rcu/tree.c | 1
oduce more
APIs and support.
Tested-by: Julien Desfossez
Signed-off-by: Joel Fernandes (Google)
---
include/linux/sched.h | 2 +
kernel/sched/core.c | 241 --
kernel/sched/debug.c | 4 +
3 files changed, 236 insertions(+), 11 deletions(-)
diff --git
From: Peter Zijlstra
Marks all tasks in a cgroup as matching for core-scheduling.
A task will need to be moved into the core scheduler queue when the cgroup
it belongs to is tagged to run with core scheduling. Similarly the task
will need to be moved out of the core scheduler queue when the cgr
From: Vineeth Pillai
Similar to how user to kernel mode transitions are protected in earlier
patches, protect the entry into kernel from guest mode as well.
Tested-by: Julien Desfossez
Signed-off-by: Vineeth Pillai
---
arch/x86/kvm/x86.c| 3 +++
include/linux/entry-kvm.h | 12 +++
During exit, we have to free the references to a cookie that might be shared by
many tasks. This commit therefore ensures when the task_struct is released, any
references to cookies that it holds are also released.
Tested-by: Julien Desfossez
Signed-off-by: Joel Fernandes (Google)
---
include
From: Peter Zijlstra
Tested-by: Julien Desfossez
Not-Signed-off-by: Peter Zijlstra (Intel)
---
kernel/sched/core.c | 37 -
1 file changed, 36 insertions(+), 1 deletion(-)
diff --git a/kernel/sched/core.c b/kernel/sched/core.c
index 211e0784675f..61758b5478d
Tested-by: Julien Desfossez
Signed-off-by: Joel Fernandes (Google)
---
tools/testing/selftests/sched/.gitignore | 1 +
tools/testing/selftests/sched/Makefile| 14 +
tools/testing/selftests/sched/config | 1 +
.../testing/selftests/sched/test_coresched.c | 840
This will be used by kselftest to verify the CGroup cookie value that is
set by the CGroup interface.
Tested-by: Julien Desfossez
Signed-off-by: Joel Fernandes (Google)
---
kernel/sched/core.c | 23 +++
1 file changed, 23 insertions(+)
diff --git a/kernel/sched/core.c b
camera streaming frame rate by ~3%.
Tested-by: Julien Desfossez
Signed-off-by: Joel Fernandes (Google)
---
include/linux/sched.h| 2 ++
include/uapi/linux/prctl.h | 3 ++
kernel/sched/core.c | 51 +---
kernel/sys.c
Zijlstra (Intel)
Signed-off-by: Joel Fernandes (Google)
Acked-by: Paul E. McKenney
---
include/linux/sched.h | 1 +
kernel/sched/core.c | 130 +-
kernel/sched/idle.c | 1 +
kernel/sched/sched.h | 6 ++
4 files changed, 137 insertions(+), 1
Document the usecases, design and interfaces for core scheduling.
Co-developed-by: Vineeth Pillai
Tested-by: Julien Desfossez
Signed-off-by: Joel Fernandes (Google)
---
.../admin-guide/hw-vuln/core-scheduling.rst | 312 ++
Documentation/admin-guide/hw-vuln/index.rst | 1
olor file in cgroupfs.
The 'color' is a 8-bit value allowing for upto 256 unique colors. IMHO, having
more than these many CGroups sounds like a scalability issue so this suffices.
We steal the lower 8-bits of the cookie to set the color.
Tested-by: Julien Desfossez
Signed-off-by:
-off-by: Joel Fernandes (Google)
---
drivers/gpu/drm/i915/i915_request.c | 4 ++--
include/linux/irq_work.h| 33 ++---
include/linux/irqflags.h| 4 ++--
kernel/bpf/stackmap.c | 2 +-
kernel/irq_work.c | 18
Due to earlier patches, the old way of computing a task's cookie when it
is added to a CGroup,is outdated. Update it by fetching the group's
cookie using the new helpers.
Tested-by: Julien Desfossez
Signed-off-by: Joel Fernandes (Google)
---
kernel/sched/core.c | 15 ++---
core.c is already huge. The core-tagging interface code is largely
independent of it. Move it to its own file to make both files easier to
maintain.
Tested-by: Julien Desfossez
Signed-off-by: Joel Fernandes (Google)
---
kernel/sched/Makefile | 1 +
kernel/sched/core.c| 481
1 - 100 of 467 matches
Mail list logo