LINUX.IE, website of the Irish Linux Users' Group
Tux rules!

   
Home
New Users
Articles
Download
Projects
Community
Vendors

  Print Version
Email to...
 
Archives:


planetILUG

Recent News

News Archive


Join the
ILUG
on FaceBook


Join the
ILUG
on LinkedIn


Join the
ILUG SETI
Group



















 
 :: Mailing Lists

[ILUG] [OT] C time_elapsed function

[ILUG] [OT] C time_elapsed function

Kenn Humborg kenn at bluetree.ie
Wed Nov 7 13:37:48 GMT 2001


> kevin lyda wrote:
> 
> > On Tue, Nov 06, 2001 at 06:47:03PM +0000, Padraig Brady wrote:
> > 
> >>Feck that. It would be easier to write a simple kernel module
> >>to export /proc/seconds_since_boot
> >>
> > 
> > again, what is the problem you're trying to solve?
> > 
> > you seem to want a number that increments.  a thread could supply that.
> > if it needs to cross process instances, you could use a sequence file.
> 
> Yes within process is trivial.
> Across process a sequence file will not do as I need the correct
> number of seconds since boot, not just a unique monotonically
> increasing number (I'm writing a scheduling app).
> doze had GetTickCount in 3.1!

... but GetTickCount() wrapped after 49.7 days.

Anyway, if you can guarantee that you will read the
32-bit jiffies counter at least once every 497 days,
then simply watch for the new reading being less
that the old and increment another 32-bit count.

Note that, (at least in earlier versions of linux
development kernels and maybe even now), Linus often
preloads jiffies with a very high value (rather than
zero) to force jiffy wraparound to happen much sooner,
to force other kernel developers and driver writers
to deal with wraparound properly.

So you probably can't trust the raw jiffies value anyway,
only the delta between two readings.  Which is not much good
if you need the "correct number of seconds since boot".
Would the "correct number of seconds since the start of your
scheduling app" be enough?

Later,
Kenn





More information about the ILUG mailing list
Read this without the formatting.
                                                                                                    

 

Hosted by HEAnet


Maintained by the ILUG website team. The aim of Linux.ie is to support and help commercial and private users of Linux in Ireland. You can display ILUG news in your own webpages, read backend information to find out how. Networking services kindly provided by HEAnet, server kindly donated by Dell. Linux is a trademark of Linus Torvalds, used with permission. No penguins were harmed in the production or maintenance of this highly praised website. Looking for the Indian Linux Users' Group? Try here. If you've read all this and aren't a lawyer: you should be!
RSS Version
Powered by Dell