6.1.y: Update defconfig and Project C fixups.

Fixes https://github.com/Frogging-Family/linux-tkg/issues/803
This commit is contained in:
Tk-Glitch
2023-09-15 16:20:17 +02:00
parent 654cad0486
commit ad587009c1
2 changed files with 114 additions and 14 deletions

View File

@@ -10133,3 +10133,104 @@ index a2d301f58ced..2ccdede8585c 100644
};
struct wakeup_test_data *x = data;
diff --git a/kernel/sched/alt_core.c b/kernel/sched/alt_core.c
index 03772805e4f9f1bf881740c8dd14aef667fbecf2..4742bbdfb2d715a439c0d505b4f293a82b76b255 100644
--- a/kernel/sched/alt_core.c
+++ b/kernel/sched/alt_core.c
@@ -5661,9 +5661,6 @@ static int __sched_setscheduler(struct task_struct *p,
return retval;
}
- if (pi)
- cpuset_read_lock();
-
/*
* Make sure no PI-waiters arrive (or leave) while we are
* changing the priority of the task:
@@ -5709,8 +5706,6 @@ static int __sched_setscheduler(struct task_struct *p,
policy = oldpolicy = -1;
__task_access_unlock(p, lock);
raw_spin_unlock_irqrestore(&p->pi_lock, flags);
- if (pi)
- cpuset_read_unlock();
goto recheck;
}
@@ -5741,10 +5736,8 @@ static int __sched_setscheduler(struct task_struct *p,
__task_access_unlock(p, lock);
raw_spin_unlock_irqrestore(&p->pi_lock, flags);
- if (pi) {
- cpuset_read_unlock();
+ if (pi)
rt_mutex_adjust_pi(p);
- }
/* Run balance callbacks after we've adjusted the PI chain: */
balance_callbacks(rq, head);
@@ -5755,8 +5748,6 @@ static int __sched_setscheduler(struct task_struct *p,
unlock:
__task_access_unlock(p, lock);
raw_spin_unlock_irqrestore(&p->pi_lock, flags);
- if (pi)
- cpuset_read_unlock();
return retval;
}
diff --git a/kernel/cgroup/cpuset.c b/kernel/cgroup/cpuset.c
index 2f6606f4a3ec941f78b85a8ff997f2a6c0405218..71f5da268ee8e597ee15b2b440b4a80f8a6adb1c 100644
--- a/kernel/cgroup/cpuset.c
+++ b/kernel/cgroup/cpuset.c
@@ -2509,12 +2509,15 @@ static int cpuset_can_attach(struct cgroup_taskset *tset)
if (ret)
goto out_unlock;
+#ifndef CONFIG_SCHED_ALT
if (dl_task(task)) {
cs->nr_migrate_dl_tasks++;
cs->sum_migrate_dl_bw += task->dl.dl_bw;
}
+#endif
}
+#ifndef CONFIG_SCHED_ALT
if (!cs->nr_migrate_dl_tasks)
goto out_success;
@@ -2535,6 +2538,7 @@ static int cpuset_can_attach(struct cgroup_taskset *tset)
}
out_success:
+#endif
/*
* Mark attach is in progress. This makes validate_change() fail
* changes which zero cpus/mems_allowed.
@@ -2558,12 +2562,14 @@ static void cpuset_cancel_attach(struct cgroup_taskset *tset)
if (!cs->attach_in_progress)
wake_up(&cpuset_attach_wq);
+#ifndef CONFIG_SCHED_ALT
if (cs->nr_migrate_dl_tasks) {
int cpu = cpumask_any(cs->effective_cpus);
dl_bw_free(cpu, cs->sum_migrate_dl_bw);
reset_migrate_dl_data(cs);
}
+#endif
mutex_unlock(&cpuset_mutex);
}
diff --git a/kernel/sched/alt_core.c b/kernel/sched/alt_core.c
index 4742bbdfb2d715a439c0d505b4f293a82b76b255..8badb54c7d7b00bba30dbbd7206feeafbf919af2 100644
--- a/kernel/sched/alt_core.c
+++ b/kernel/sched/alt_core.c
@@ -7156,8 +7156,7 @@ int cpuset_cpumask_can_shrink(const struct cpumask __maybe_unused *cur,
return 1;
}
-int task_can_attach(struct task_struct *p,
- const struct cpumask *cs_effective_cpus)
+int task_can_attach(struct task_struct *p)
{
int ret = 0;