mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH] kdb: use ktime_get_seconds() instead of ktime_get_ts()
@ 2018-01-26  3:03 Baolin Wang
  2018-01-26  3:31 ` Jason Wessel
  2018-01-26  9:21 ` Arnd Bergmann
  0 siblings, 2 replies; 7+ messages in thread
From: Baolin Wang @ 2018-01-26  3:03 UTC (permalink / raw)
  To: jason.wessel, daniel.thompson
  Cc: baolin.wang, mingo, arnd, broonie, kgdb-bugreport, linux-kernel

The kdb code will print the monotonic time by ktime_get_ts(), but
the ktime_get_ts() will be protected by a sequence lock, that will
introduce one deadlock risk if the lock was already held in the
context from which we entered the debugger.

Since kdb is only interested in the second field, we can use the
ktime_get_seconds() to get the monotonic time without a lock,
moreover we can remove the 'struct timespec', which is not y2038
safe.

Signed-off-by: Baolin Wang <baolin.wang@linaro.org>
---
 kernel/debug/kdb/kdb_main.c |    4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/kernel/debug/kdb/kdb_main.c b/kernel/debug/kdb/kdb_main.c
index 69e70f4..f0fc6f7 100644
--- a/kernel/debug/kdb/kdb_main.c
+++ b/kernel/debug/kdb/kdb_main.c
@@ -2486,10 +2486,8 @@ static int kdb_kill(int argc, const char **argv)
  */
 static void kdb_sysinfo(struct sysinfo *val)
 {
-	struct timespec uptime;
-	ktime_get_ts(&uptime);
 	memset(val, 0, sizeof(*val));
-	val->uptime = uptime.tv_sec;
+	val->uptime = ktime_get_seconds();
 	val->loads[0] = avenrun[0];
 	val->loads[1] = avenrun[1];
 	val->loads[2] = avenrun[2];
-- 
1.7.9.5

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2018-01-29  1:49 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-01-26  3:03 [PATCH] kdb: use ktime_get_seconds() instead of ktime_get_ts() Baolin Wang
2018-01-26  3:31 ` Jason Wessel
2018-01-26  9:21 ` Arnd Bergmann
2018-01-26 14:00   ` Daniel Thompson
2018-01-26 14:20     ` Baolin Wang
2018-01-26 16:01       ` Arnd Bergmann
2018-01-29  1:49         ` Baolin Wang

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®