linux-next: manual merge of the sysctl tree with the tip tree

From: Stephen Rothwell
Date: Tue Mar 15 2022 - 05:18:51 EST


Hi all,

Today's linux-next merge of the sysctl tree got a conflict in:

kernel/sched/deadline.c

between commit:

eb77cf1c151c ("sched/deadline: Remove unused def_dl_bandwidth")

from the tip tree and commit:

ebb891f03580 ("sched: Move deadline_period sysctls to deadline.c")

from the sysctl tree.

I fixed it up (see below) and can carry the fix as necessary. This
is now fixed as far as linux-next is concerned, but any non trivial
conflicts should be mentioned to your upstream maintainer when your tree
is submitted for merging. You may also want to consider cooperating
with the maintainer of the conflicting tree to minimise any particularly
complex conflicts.

--
Cheers,
Stephen Rothwell

diff --cc kernel/sched/deadline.c
index 11cdc6d0c45f,9ed9ace11151..000000000000
--- a/kernel/sched/deadline.c
+++ b/kernel/sched/deadline.c
@@@ -18,6 -18,42 +18,40 @@@
#include "sched.h"
#include "pelt.h"

-struct dl_bandwidth def_dl_bandwidth;
-
+ /*
+ * Default limits for DL period; on the top end we guard against small util
+ * tasks still getting ridiculously long effective runtimes, on the bottom end we
+ * guard against timer DoS.
+ */
+ static unsigned int sysctl_sched_dl_period_max = 1 << 22; /* ~4 seconds */
+ static unsigned int sysctl_sched_dl_period_min = 100; /* 100 us */
+ #ifdef CONFIG_SYSCTL
+ static struct ctl_table sched_dl_sysctls[] = {
+ {
+ .procname = "sched_deadline_period_max_us",
+ .data = &sysctl_sched_dl_period_max,
+ .maxlen = sizeof(unsigned int),
+ .mode = 0644,
+ .proc_handler = proc_dointvec,
+ },
+ {
+ .procname = "sched_deadline_period_min_us",
+ .data = &sysctl_sched_dl_period_min,
+ .maxlen = sizeof(unsigned int),
+ .mode = 0644,
+ .proc_handler = proc_dointvec,
+ },
+ {}
+ };
+
+ static int __init sched_dl_sysctl_init(void)
+ {
+ register_sysctl_init("kernel", sched_dl_sysctls);
+ return 0;
+ }
+ late_initcall(sched_dl_sysctl_init);
+ #endif
+
static inline struct task_struct *dl_task_of(struct sched_dl_entity *dl_se)
{
return container_of(dl_se, struct task_struct, dl);

Attachment: pgpnu8fzcvhBk.pgp
Description: OpenPGP digital signature