Re: sched_clock and device suspend/resume

From: Thomas Gleixner
Date: Wed Jul 10 2019 - 15:07:32 EST


On Wed, 10 Jul 2019, Steven Rostedt wrote:
> On Wed, 10 Jul 2019 20:35:32 +0200 (CEST)
> Thomas Gleixner <tglx@xxxxxxxxxxxxx> wrote:
>
> > On Wed, 10 Jul 2019, Steven Rostedt wrote:
> >
> > >
> > > [ 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;
> >
> > Which you get already when you do
> >
> > # echo boot > /sys/kernel/debug/tracing/trace_clock
> >
>
> So basically the answer here is to change printk to use
> ktime_get_boot_fast_ns() instead of local_clock()?

Aargh. That was tracing.

There was a patchset floating around which actually implemented that clock
choice for sched_clock as well. Don't know why that was never merged.

Thanks,

tglx