Skip to contentSkip to conversation

ntp, add debugfs entries for time_status and time_state

PATCH In review Prarit Bhargava 2 participants 3 messages Oct 4, 2012 – Oct 9, 2012 Timekeeping, clocksource core, NTP, alarmtimer

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 ntp, add debugfs entries for time_status and time_state

Add debugfs entries for ntp time_status and time_state. These are useful for debugging ntp issues.

Cc John Stultz <[email protected]>
Cc Thomas Gleixner <[email protected]>
---
 kernel/time/ntp.c |   40 ++++++++++++++++++++++++++++++++++++++++
 1 file changed, 40 insertions(+)
kernel/time/ntp.c +40 -0
index 24174b4..e1ba393 100644
@@ -15,6 +15,7 @@
 #include <linux/time.h>
 #include <linux/mm.h>
 #include <linux/module.h>
+#include <linux/debugfs.h>
 
 #include "tick-internal.h"
 
@@ -965,3 +966,42 @@ void __init ntp_init(void)
 {
 	ntp_clear();
 }
+
+static int time_status_get(void *data, u64 *val)
+{
+	*val = time_status;
+	return 0;
+}
+DEFINE_SIMPLE_ATTRIBUTE(time_status_fops, time_status_get, NULL, "0x%0llx\n");
+
+static int time_state_get(void *data, u64 *val)
+{
+	*val = time_state;
+	return 0;
+}
+DEFINE_SIMPLE_ATTRIBUTE(time_state_fops, time_state_get, NULL, "0x%llx\n");
+
+static int __init ntp_debugfs_init(void)
+{
+	struct dentry *ntp_dentry, *time_status_dentry, *time_state_dentry;
+
+	ntp_dentry = debugfs_create_dir("ntp", NULL);
+	if (!ntp_dentry)
+		return -ENOMEM;
+
+	time_status_dentry = debugfs_create_file("time_status", 0444,
+						 ntp_dentry, NULL,
+						 &time_status_fops);
+	if (!time_status_dentry)
+		return -ENOMEM;
+
+	time_state_dentry = debugfs_create_file("time_state", 0444,
+						ntp_dentry, NULL,
+						&time_state_fops);
+	if (!time_state_dentry)
+		return -ENOMEM;
+
+	return 0;
+}
+/* debugfs init is core_initcall */
+postcore_initcall(ntp_debugfs_init);
Signature · 1 line
1.7.9.3
#1 lore raw
Quoted 2 lines · Prarit Bhargava

Add debugfs entries for ntp time_status and time_state. These are useful for debugging ntp issues.

Aren't these easily fetched from adjtimex()? How does having them in debugfs help?

thanks
-john

#2 lore raw
Quoted 5 lines · John Stultz
Quoted 2 lines · Prarit Bhargava

Add debugfs entries for ntp time_status and time_state. These are useful for debugging ntp issues.

Aren't these easily fetched from adjtimex()? How does having them in debugfs help?

They are, however, there have been circumstances in the past when I've been monitoring things from kernel-side that I've found it useful to have them in debugfs.

P.

Quoted 3 lines

thanks
-john