2020-09-04 20:10:21 +00:00
|
|
|
From 5b7aeaffe1d40614c1ff8df62748e04b186d18e0 Mon Sep 17 00:00:00 2001
|
|
|
|
Message-Id: <5b7aeaffe1d40614c1ff8df62748e04b186d18e0.1599166691.git.zanussi@kernel.org>
|
|
|
|
In-Reply-To: <56457dc415803c8abc5acb513ada877a79596f05.1599166690.git.zanussi@kernel.org>
|
|
|
|
References: <56457dc415803c8abc5acb513ada877a79596f05.1599166690.git.zanussi@kernel.org>
|
2018-08-27 14:32:32 +00:00
|
|
|
From: Clark Williams <williams@redhat.com>
|
2019-04-08 23:49:20 +00:00
|
|
|
Date: Sat, 30 Jul 2011 21:55:53 -0500
|
2020-09-04 20:10:21 +00:00
|
|
|
Subject: [PATCH 214/333] sysfs: Add /sys/kernel/realtime entry
|
|
|
|
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.142-rt63.tar.xz
|
2018-08-27 14:32:32 +00:00
|
|
|
|
|
|
|
Add a /sys/kernel entry to indicate that the kernel is a
|
|
|
|
realtime kernel.
|
|
|
|
|
|
|
|
Clark says that he needs this for udev rules, udev needs to evaluate
|
|
|
|
if its a PREEMPT_RT kernel a few thousand times and parsing uname
|
|
|
|
output is too slow or so.
|
|
|
|
|
|
|
|
Are there better solutions? Should it exist and return 0 on !-rt?
|
|
|
|
|
|
|
|
Signed-off-by: Clark Williams <williams@redhat.com>
|
|
|
|
Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
|
|
|
|
---
|
2019-04-08 23:49:20 +00:00
|
|
|
kernel/ksysfs.c | 12 ++++++++++++
|
2018-08-27 14:32:32 +00:00
|
|
|
1 file changed, 12 insertions(+)
|
|
|
|
|
2019-04-08 23:49:20 +00:00
|
|
|
diff --git a/kernel/ksysfs.c b/kernel/ksysfs.c
|
|
|
|
index 46ba853656f6..9a23632b6294 100644
|
2018-08-27 14:32:32 +00:00
|
|
|
--- a/kernel/ksysfs.c
|
|
|
|
+++ b/kernel/ksysfs.c
|
|
|
|
@@ -140,6 +140,15 @@ KERNEL_ATTR_RO(vmcoreinfo);
|
|
|
|
|
|
|
|
#endif /* CONFIG_CRASH_CORE */
|
|
|
|
|
|
|
|
+#if defined(CONFIG_PREEMPT_RT_FULL)
|
|
|
|
+static ssize_t realtime_show(struct kobject *kobj,
|
|
|
|
+ struct kobj_attribute *attr, char *buf)
|
|
|
|
+{
|
|
|
|
+ return sprintf(buf, "%d\n", 1);
|
|
|
|
+}
|
|
|
|
+KERNEL_ATTR_RO(realtime);
|
|
|
|
+#endif
|
|
|
|
+
|
|
|
|
/* whether file capabilities are enabled */
|
|
|
|
static ssize_t fscaps_show(struct kobject *kobj,
|
|
|
|
struct kobj_attribute *attr, char *buf)
|
2019-04-08 23:49:20 +00:00
|
|
|
@@ -230,6 +239,9 @@ static struct attribute * kernel_attrs[] = {
|
|
|
|
#ifndef CONFIG_TINY_RCU
|
2018-08-27 14:32:32 +00:00
|
|
|
&rcu_expedited_attr.attr,
|
|
|
|
&rcu_normal_attr.attr,
|
2019-04-08 23:49:20 +00:00
|
|
|
+#endif
|
2018-08-27 14:32:32 +00:00
|
|
|
+#ifdef CONFIG_PREEMPT_RT_FULL
|
|
|
|
+ &realtime_attr.attr,
|
2019-04-08 23:49:20 +00:00
|
|
|
#endif
|
2018-08-27 14:32:32 +00:00
|
|
|
NULL
|
|
|
|
};
|
2020-01-03 23:36:11 +00:00
|
|
|
--
|
2020-06-22 13:14:16 +00:00
|
|
|
2.17.1
|
2020-01-03 23:36:11 +00:00
|
|
|
|