Re: [PATCH][RFC v5] timekeeping: Ignore the bogus sleep time if pm_trace is enabled

From: Chen Yu
Date: Sat Sep 10 2016 - 05:32:39 EST

On Fri, Sep 09, 2016 at 04:33:59PM +0200, Thomas Gleixner wrote:
> On Fri, 9 Sep 2016, Chen Yu wrote:
> > +extern void pm_trace_untaint_timekeeping(void);
> And how exactly do you untaint it? Just by clearing the flags. That makes
> the RTC time magically correct again?
> > +int arch_pm_trace_taint_pclock(void)
> > +{
> > + return (x86_platform.get_wallclock == mach_get_cmos_time);
> > +}
> Groan. I told you to do it in the mc14xxx related places. There are not
> that many in the kernel
> Here is a completely uncompiled/untested patch which should address the
> issue in a halfways clean way.
> Thanks,
> tglx
OK, I made some small adjustment to make it compiled without pm_trace
configured, and this version is absolutely more professional than
my previous one. I'll do some testing based on it.
Besides I have another question related to the untain
of the pm_trace_rtc_abused flag: after resume back, if the user disabled
the pm_trace, then the following suspend/resume sleep time should become
valid again IMO, because we use the delta rather than the RTC itself for
suspend/resume. So in this version it disable the injection of sleep time
once pm_trace has been used?