lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <1178827376.6011.11.camel@localhost.localdomain>
Date:	Thu, 10 May 2007 13:02:56 -0700
From:	john stultz <johnstul@...ibm.com>
To:	Ingo Oeser <ioe-lkml@...eria.de>
Cc:	Tomas Janousek <tjanouse@...hat.com>,
	Andrew Morton <akpm@...ux-foundation.org>,
	linux-kernel@...r.kernel.org, tsmetana@...hat.com, riel@...hat.com
Subject: Re: [PATCH] Introduce boot based time

On Thu, 2007-05-10 at 21:48 +0200, Ingo Oeser wrote:
> Hi Tomas,
> 
> On Thursday 10 May 2007, Tomas Janousek wrote:
> > diff --git a/include/linux/time.h b/include/linux/time.h
> > index 8997b61..06f3eaf 100644
> > --- a/include/linux/time.h
> > +++ b/include/linux/time.h
> > @@ -116,6 +116,8 @@ extern int do_setitimer(int which, struct itimerval *value,
> >  extern unsigned int alarm_setitimer(unsigned int seconds);
> >  extern int do_getitimer(int which, struct itimerval *value);
> >  extern void getnstimeofday(struct timespec *tv);
> > +extern void getboottime(struct timespec *ts);
> > +extern void monotonic_to_bootbased(struct timespec *ts);
> >  
> >  extern struct timespec timespec_trunc(struct timespec t, unsigned gran);
> >  extern int timekeeping_is_continuous(void);
> > diff --git a/kernel/time/timekeeping.c b/kernel/time/timekeeping.c
> > index f9217bf..dd9647a 100644
> > --- a/kernel/time/timekeeping.c
> > +++ b/kernel/time/timekeeping.c
> > @@ -36,9 +36,17 @@ EXPORT_SYMBOL(xtime_lock);
> >   * at zero at system boot time, so wall_to_monotonic will be negative,
> >   * however, we will ALWAYS keep the tv_nsec part positive so we can use
> >   * the usual normalization.
> > + *
> > + * wall_to_monotonic is moved after resume from suspend for the monotonic
> > + * time not to jump. We need to add total_sleep_time to wall_to_monotonic
> > + * to get the real boot based time offset.
> > + *
> > + * - wall_to_monotonic is no longer the boot time, getboottime must be
> > + * used instead.
> >   */
> >  struct timespec xtime __attribute__ ((aligned (16)));
> >  struct timespec wall_to_monotonic __attribute__ ((aligned (16)));
> > +static unsigned long total_sleep_time;
> 
> Could you make that a ktime_t (or struct ktime)?
> There are machines, which sleep more than they are awake. 
> Just imagine a surveillance camera triggered by door entrance.
> 
> Yes, these things might run Linux (e.g. on "cris" architecture).
> 
> Or your VCR.
> Yes, these devices might sleep more than they are awake, 
> if you are not a TV junkie :-)

I'm not sure I follow this. 

total_sleep_time stores seconds. So on 32bit systems that's 130some
years, so it shouldn't be an issue.

Is the reason you want it to be a ktime is because you want a way to
keep sub-second sleep granularity?

thanks
-john

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ