Re: sched_clock and device suspend/resume

From: Steven Rostedt
Date: Wed Jul 10 2019 - 11:36:13 EST



[ Resending as your Cc was screwed up and caused my reply to mess up
the Cc list ]

On Wed, 10 Jul 2019 08:20:37 -0700
Sodagudi Prasad <psodagud@xxxxxxxxxxxxxx> wrote:

> Another option is printing the epoch/cycles information in every print
> statement similar to thread id or processor id added
> recently(CONFIG_PRINTK_CALLER). This can be avoided if we start
> accounting suspend time in sched_clock.

Or another option is add a new clock that printk and tracing can use.
tracing already can switch between clocks trivially.

sched_clock_continuous() ? (I know, horrible name), that simply keeps
track of the time delta at suspend and returns:

sched_clock() + delta;

This will prevent other issues happening by modifying sched_clock(),
specifically, screwing up the scheduler (what sched_clock()'s main
purpose is for). We don't want the scheduler to think that a process
was running for hours when it has spent most of that time in the
suspend state. Which is probably your answer to why it was designed
that way.

-- Steve