Kenn Humborg wrote:
>>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.
LOL, shame on me for thinking doze would use a sensible size for this.
> 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.
But what if my app isn't running on the wrap around?
Hmm, I could write current BOOT_TIME & jiffies to file on startup,
and each startup check:
if (curr_BOOT_TIME == saved_BOOT_TIME && curr_jiffies <= saved_JIFFIES)
messy, but not too bad.
> 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".
Delta is all that's required.
> Would the "correct number of seconds since the start of your
> scheduling app" be enough?
No this is trivial, and can be just implemented within my app.
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!