From: Gentoo CachyOS overlay
Subject: [PATCH] sched/alt: follow 6.18.55 blk_plug_invalidate_ts() backport

The 6.18.55 stable release changed blk_plug_invalidate_ts() to take no
argument and moved the call from sched_update_worker() to
finish_task_switch() in kernel/sched/core.c. PRJC replaces core.c and
still calls blk_plug_invalidate_ts(tsk), which fails to compile.
Apply the same change to alt_core.c.

--- a/kernel/sched/alt_core.c
+++ b/kernel/sched/alt_core.c
@@ -3574,6 +3574,12 @@
 	 */
 	kmap_local_sched_in();
 
+	/*
+	 * Any cached block-layer timestamp (plug->cur_ktime) is stale now,
+	 * invalidate it.
+	 */
+	blk_plug_invalidate_ts();
+
 	fire_sched_in_preempt_notifiers(current);
 	/*
 	 * When switching through a kernel thread, the loop in
@@ -4761,12 +4767,10 @@
 
 static void sched_update_worker(struct task_struct *tsk)
 {
-	if (tsk->flags & (PF_WQ_WORKER | PF_IO_WORKER | PF_BLOCK_TS)) {
-		if (tsk->flags & PF_BLOCK_TS)
-			blk_plug_invalidate_ts(tsk);
+	if (tsk->flags & (PF_WQ_WORKER | PF_IO_WORKER)) {
 		if (tsk->flags & PF_WQ_WORKER)
 			wq_worker_running(tsk);
-		else if (tsk->flags & PF_IO_WORKER)
+		else
 			io_wq_worker_running(tsk);
 	}
 }
