From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id CA396158232 for ; Fri, 6 Dec 2024 12:44:18 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id EFF15E0B4E; Fri, 6 Dec 2024 12:44:16 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [IPv6:2001:470:ea4a:1:5054:ff:fec7:86e4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id 650FCE0B4E for ; Fri, 6 Dec 2024 12:44:15 +0000 (UTC) Received: from oystercatcher.gentoo.org (oystercatcher.gentoo.org [148.251.78.52]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 92010340C7F for ; Fri, 6 Dec 2024 12:44:14 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id A350011DF for ; Fri, 6 Dec 2024 12:44:12 +0000 (UTC) From: "Mike Pagano" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Mike Pagano" Message-ID: <1733489023.7ff281e950aa65bc7416b43f48eeb7cabcbb7195.mpagano@gentoo> Subject: [gentoo-commits] proj/linux-patches:6.12 commit in: / X-VCS-Repository: proj/linux-patches X-VCS-Files: 0000_README 1002_linux-6.12.3.patch 1800_sched-init-idle-tasks-only-once.patch X-VCS-Directories: / X-VCS-Committer: mpagano X-VCS-Committer-Name: Mike Pagano X-VCS-Revision: 7ff281e950aa65bc7416b43f48eeb7cabcbb7195 X-VCS-Branch: 6.12 Date: Fri, 6 Dec 2024 12:44:12 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply X-Archives-Salt: a2d30adb-c9a9-4a5b-a5a8-d86c7a6b2c30 X-Archives-Hash: f0eb18568bfae2700f27beb9378ef6aa commit: 7ff281e950aa65bc7416b43f48eeb7cabcbb7195 Author: Mike Pagano gentoo org> AuthorDate: Fri Dec 6 12:43:43 2024 +0000 Commit: Mike Pagano gentoo org> CommitDate: Fri Dec 6 12:43:43 2024 +0000 URL: https://gitweb.gentoo.org/proj/linux-patches.git/commit/?id=7ff281e9 Linux patch 6.12.3, remove redundant patch Removed: 1800_sched-init-idle-tasks-only-once.patch Signed-off-by: Mike Pagano gentoo.org> 0000_README | 8 +-- 1002_linux-6.12.3.patch | 57 +++++++++++++++++++++ 1800_sched-init-idle-tasks-only-once.patch | 80 ------------------------------ 3 files changed, 61 insertions(+), 84 deletions(-) diff --git a/0000_README b/0000_README index f7334645..c7f77bd5 100644 --- a/0000_README +++ b/0000_README @@ -51,6 +51,10 @@ Patch: 1001_linux-6.12.2.patch From: https://www.kernel.org Desc: Linux 6.12.2 +Patch: 1002_linux-6.12.3.patch +From: https://www.kernel.org +Desc: Linux 6.12.3 + Patch: 1510_fs-enable-link-security-restrictions-by-default.patch From: http://sources.debian.net/src/linux/3.16.7-ckt4-3/debian/patches/debian/fs-enable-link-security-restrictions-by-default.patch/ Desc: Enable link security restrictions by default. @@ -63,10 +67,6 @@ Patch: 1730_parisc-Disable-prctl.patch From: https://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux.git Desc: prctl: Temporarily disable prctl(PR_SET_MDWE) on parisc -Patch: 1800_sched-init-idle-tasks-only-once.patch -From: https://git.kernel.org/ -Desc: sched: Initialize idle tasks only once - Patch: 2000_BT-Check-key-sizes-only-if-Secure-Simple-Pairing-enabled.patch From: https://lore.kernel.org/linux-bluetooth/20190522070540.48895-1-marcel@holtmann.org/raw Desc: Bluetooth: Check key sizes only when Secure Simple Pairing is enabled. See bug #686758 diff --git a/1002_linux-6.12.3.patch b/1002_linux-6.12.3.patch new file mode 100644 index 00000000..2e07970b --- /dev/null +++ b/1002_linux-6.12.3.patch @@ -0,0 +1,57 @@ +diff --git a/Makefile b/Makefile +index da6e99309a4da4..e81030ec683143 100644 +--- a/Makefile ++++ b/Makefile +@@ -1,7 +1,7 @@ + # SPDX-License-Identifier: GPL-2.0 + VERSION = 6 + PATCHLEVEL = 12 +-SUBLEVEL = 2 ++SUBLEVEL = 3 + EXTRAVERSION = + NAME = Baby Opossum Posse + +diff --git a/kernel/sched/core.c b/kernel/sched/core.c +index a1c353a62c5684..76b27b2a9c56ad 100644 +--- a/kernel/sched/core.c ++++ b/kernel/sched/core.c +@@ -4424,7 +4424,8 @@ int wake_up_state(struct task_struct *p, unsigned int state) + * Perform scheduler related setup for a newly forked process p. + * p is forked by current. + * +- * __sched_fork() is basic setup used by init_idle() too: ++ * __sched_fork() is basic setup which is also used by sched_init() to ++ * initialize the boot CPU's idle task. + */ + static void __sched_fork(unsigned long clone_flags, struct task_struct *p) + { +@@ -7683,8 +7684,6 @@ void __init init_idle(struct task_struct *idle, int cpu) + struct rq *rq = cpu_rq(cpu); + unsigned long flags; + +- __sched_fork(0, idle); +- + raw_spin_lock_irqsave(&idle->pi_lock, flags); + raw_spin_rq_lock(rq); + +@@ -7699,10 +7698,8 @@ void __init init_idle(struct task_struct *idle, int cpu) + + #ifdef CONFIG_SMP + /* +- * It's possible that init_idle() gets called multiple times on a task, +- * in that case do_set_cpus_allowed() will not do the right thing. +- * +- * And since this is boot we can forgo the serialization. ++ * No validation and serialization required at boot time and for ++ * setting up the idle tasks of not yet online CPUs. + */ + set_cpus_allowed_common(idle, &ac); + #endif +@@ -8546,6 +8543,7 @@ void __init sched_init(void) + * but because we are the idle thread, we just pick up running again + * when this runqueue becomes "idle". + */ ++ __sched_fork(0, current); + init_idle(current, smp_processor_id()); + + calc_load_update = jiffies + LOAD_FREQ; diff --git a/1800_sched-init-idle-tasks-only-once.patch b/1800_sched-init-idle-tasks-only-once.patch deleted file mode 100644 index 013a45fc..00000000 --- a/1800_sched-init-idle-tasks-only-once.patch +++ /dev/null @@ -1,80 +0,0 @@ -From b23decf8ac9102fc52c4de5196f4dc0a5f3eb80b Mon Sep 17 00:00:00 2001 -From: Thomas Gleixner -Date: Mon, 28 Oct 2024 11:43:42 +0100 -Subject: sched: Initialize idle tasks only once - -Idle tasks are initialized via __sched_fork() twice: - - fork_idle() - copy_process() - sched_fork() - __sched_fork() - init_idle() - __sched_fork() - -Instead of cleaning this up, sched_ext hacked around it. Even when analyis -and solution were provided in a discussion, nobody cared to clean this up. - -init_idle() is also invoked from sched_init() to initialize the boot CPU's -idle task, which requires the __sched_fork() invocation. But this can be -trivially solved by invoking __sched_fork() before init_idle() in -sched_init() and removing the __sched_fork() invocation from init_idle(). - -Do so and clean up the comments explaining this historical leftover. - -Signed-off-by: Thomas Gleixner -Signed-off-by: Peter Zijlstra (Intel) -Link: https://lore.kernel.org/r/20241028103142.359584747@linutronix.de ---- - kernel/sched/core.c | 12 +++++------- - 1 file changed, 5 insertions(+), 7 deletions(-) - -(limited to 'kernel/sched/core.c') - -diff --git a/kernel/sched/core.c b/kernel/sched/core.c -index c57a79e3491103..aad48850c1ef0d 100644 ---- a/kernel/sched/core.c -+++ b/kernel/sched/core.c -@@ -4423,7 +4423,8 @@ int wake_up_state(struct task_struct *p, unsigned int state) - * Perform scheduler related setup for a newly forked process p. - * p is forked by current. - * -- * __sched_fork() is basic setup used by init_idle() too: -+ * __sched_fork() is basic setup which is also used by sched_init() to -+ * initialize the boot CPU's idle task. - */ - static void __sched_fork(unsigned long clone_flags, struct task_struct *p) - { -@@ -7697,8 +7698,6 @@ void __init init_idle(struct task_struct *idle, int cpu) - struct rq *rq = cpu_rq(cpu); - unsigned long flags; - -- __sched_fork(0, idle); -- - raw_spin_lock_irqsave(&idle->pi_lock, flags); - raw_spin_rq_lock(rq); - -@@ -7713,10 +7712,8 @@ void __init init_idle(struct task_struct *idle, int cpu) - - #ifdef CONFIG_SMP - /* -- * It's possible that init_idle() gets called multiple times on a task, -- * in that case do_set_cpus_allowed() will not do the right thing. -- * -- * And since this is boot we can forgo the serialization. -+ * No validation and serialization required at boot time and for -+ * setting up the idle tasks of not yet online CPUs. - */ - set_cpus_allowed_common(idle, &ac); - #endif -@@ -8561,6 +8558,7 @@ void __init sched_init(void) - * but because we are the idle thread, we just pick up running again - * when this runqueue becomes "idle". - */ -+ __sched_fork(0, current); - init_idle(current, smp_processor_id()); - - calc_load_update = jiffies + LOAD_FREQ; --- -cgit 1.2.3-korg -