mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH v6 0/1] PM: sleep: Expose last succeeded resumed timestamp in sysfs
@ 2023-12-13  7:39 Masami Hiramatsu (Google)
  2023-12-13  7:39 ` [PATCH v6] " Masami Hiramatsu (Google)
  0 siblings, 1 reply; 4+ messages in thread
From: Masami Hiramatsu (Google) @ 2023-12-13  7:39 UTC (permalink / raw)
  To: Rafael J . Wysocki, Pavel Machek, Len Brown, Randy Dunlap
  Cc: suleiman, briannorris, Masami Hiramatsu, linux-kernel, linux-pm

Hi,

Here is the 6th version of the patch to expose last succeeded resumed
timestamp in sysfs as /sys/power/suspend_stats/last_success_resume_time.
The previous version is here.

https://lore.kernel.org/all/170108151076.780347.2482745314490930894.stgit@mhiramat.roam.corp.google.com/

This version fixes the timestamp recording timing to right before thawing
user processes and is rebased on v6.7-rc5. 

This allows us to find when the kernel resume process successfully done
in the sysfs in MONOTONIC clock. Thus user processes can measure the
elapsed time taken by its resume process at any point in time.

This will help us to detect abnormal value (longer time) process in
the resuming and quickly decide the root cause is in the kernel or
user-space. The kernel side we can use many tools (e.g. printk or
ftrace) but for user-space we need to define the starting point of
the resuming process. Actually, the kernel side needs to use local
clock because the clock subsystem is also suspended. But in that
case, user space can not use that timestamp because the local clock
is not exposed.

So this will be used something like

where_the_user_space_resume_finish() {
	clock_gettime(CLOCK_MONOTONIC, &etime_ts);
	fileread("/sys/.../last_success_resume_time", stime);
	convert_timespec(stime, &stime_ts);
	user_resume_time = timespec_delta(&etime_ts, &stime_ts);
	...
}

Thank you,

---

Masami Hiramatsu (1):
      PM: sleep: Expose last succeeded resumed timestamp in sysfs


 Documentation/ABI/testing/sysfs-power |   10 ++++++++++
 include/linux/suspend.h               |    2 ++
 kernel/power/main.c                   |   15 +++++++++++++++
 kernel/power/suspend.c                |    3 +++
 4 files changed, 30 insertions(+)

--
Masami Hiramatsu (Google) <mhiramat@kernel.org>

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

end of thread, other threads:[~2023-12-20 16:19 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-12-13  7:39 [PATCH v6 0/1] PM: sleep: Expose last succeeded resumed timestamp in sysfs Masami Hiramatsu (Google)
2023-12-13  7:39 ` [PATCH v6] " Masami Hiramatsu (Google)
2023-12-19 20:32   ` Rafael J. Wysocki
2023-12-20 16:19     ` Masami Hiramatsu

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®