lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Mon, 18 Feb 2019 17:56:20 +0100 From: Peter Zijlstra <peterz@...radead.org> To: mingo@...nel.org, tglx@...utronix.de, pjt@...gle.com, tim.c.chen@...ux.intel.com, torvalds@...ux-foundation.org Cc: linux-kernel@...r.kernel.org, subhra.mazumdar@...cle.com, fweisbec@...il.com, keescook@...omium.org, kerrnel@...gle.com, "Peter Zijlstra (Intel)" <peterz@...radead.org> Subject: [RFC][PATCH 00/16] sched: Core scheduling A much 'demanded' feature: core-scheduling :-( I still hate it with a passion, and that is part of why it took a little longer than 'promised'. While this one doesn't have all the 'features' of the previous (never published) version and isn't L1TF 'complete', I tend to like the structure better (relatively speaking: I hate it slightly less). This one is sched class agnostic and therefore, in principle, doesn't horribly wreck RT (in fact, RT could 'ab'use this by setting 'task->core_cookie = task' to force-idle siblings). Now, as hinted by that, there are semi sane reasons for actually having this. Various hardware features like Intel RDT - Memory Bandwidth Allocation, work per core (due to SMT fundamentally sharing caches) and therefore grouping related tasks on a core makes it more reliable. However; whichever way around you turn this cookie; it is expensive and nasty. It doesn't help that there are truly bonghit crazy proposals for using this out there, and I really hope to never see them in code. These patches are lightly tested and didn't insta explode, but no promises, they might just set your pets on fire. 'enjoy' @pjt; I know this isn't quite what we talked about, but this is where I ended up after I started typing. There's plenty design decisions to question and my changelogs don't even get close to beginning to cover them all. Feel free to ask. --- include/linux/sched.h | 9 +- kernel/Kconfig.preempt | 8 +- kernel/sched/core.c | 762 ++++++++++++++++++++++++++++++++++++++++++++--- kernel/sched/deadline.c | 99 +++--- kernel/sched/debug.c | 4 +- kernel/sched/fair.c | 129 +++++--- kernel/sched/idle.c | 42 ++- kernel/sched/pelt.h | 2 +- kernel/sched/rt.c | 96 +++--- kernel/sched/sched.h | 183 ++++++++---- kernel/sched/stop_task.c | 35 ++- kernel/sched/topology.c | 4 +- kernel/stop_machine.c | 2 + 13 files changed, 1096 insertions(+), 279 deletions(-)
Powered by blists - more mailing lists