git: 0093bc3cd17c - main - LinuxKPI: Implement sched_set_fifo(_low) functions

From: Vladimir Kondratyev <wulf_at_FreeBSD.org>
Date: Tue, 17 May 2022 12:11:36 UTC
The branch main has been updated by wulf:

URL: https://cgit.FreeBSD.org/src/commit/?id=0093bc3cd17c2f657682258fae73737655b8a573

commit 0093bc3cd17c2f657682258fae73737655b8a573
Author:     Vladimir Kondratyev <wulf@FreeBSD.org>
AuthorDate: 2022-05-17 12:10:20 +0000
Commit:     Vladimir Kondratyev <wulf@FreeBSD.org>
CommitDate: 2022-05-17 12:10:20 +0000

    LinuxKPI: Implement sched_set_fifo(_low) functions
    
    Required by:    drm-kmod
    
    MFC after:      1 week
    Reviewed by:    hselasky, manu
    Differential Revision:  https://reviews.freebsd.org/D35050
---
 sys/compat/linuxkpi/common/include/linux/sched.h | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/sys/compat/linuxkpi/common/include/linux/sched.h b/sys/compat/linuxkpi/common/include/linux/sched.h
index e57aec4d962e..cb0ffde04b2b 100644
--- a/sys/compat/linuxkpi/common/include/linux/sched.h
+++ b/sys/compat/linuxkpi/common/include/linux/sched.h
@@ -34,6 +34,7 @@
 #include <sys/param.h>
 #include <sys/systm.h>
 #include <sys/proc.h>
+#include <sys/rtprio.h>
 #include <sys/sched.h>
 #include <sys/sleepqueue.h>
 #include <sys/time.h>
@@ -217,4 +218,24 @@ get_task_comm(char *buf, struct task_struct *task)
 	return (task->comm);
 }
 
+static inline void
+sched_set_fifo(struct task_struct *t)
+{
+	struct rtprio rtp;
+
+	rtp.prio = (RTP_PRIO_MIN + RTP_PRIO_MAX) / 2;
+	rtp.type = RTP_PRIO_FIFO;
+	rtp_to_pri(&rtp, t->task_thread);
+}
+
+static inline void
+sched_set_fifo_low(struct task_struct *t)
+{
+	struct rtprio rtp;
+
+	rtp.prio = RTP_PRIO_MAX;	/* lowest priority */
+	rtp.type = RTP_PRIO_FIFO;
+	rtp_to_pri(&rtp, t->task_thread);
+}
+
 #endif	/* _LINUXKPI_LINUX_SCHED_H_ */