Re: Timer idea

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



linux-os (Dick Johnson) wrote:
On Tue, 15 Nov 2005 [email protected] wrote:


I was thinking about benchmarking, profiling, and various other applications
that might need frequent access to the current time.  Polling timers or
frequent timer signal delivery both seem like there would be a lot of
overhead.
I was thinking it would be nice if you could just read the time information
without making an OS call.

I figure the kernel keeps accurate records of current time information and the
values of various timers.  I then had the idea that one could have a /dev or
maybe a /proc entry that would allow you to mmap() the kernel records (read
only) and then you could read this information right from the kernel without
any overhead.


Great invention, read some timer without any overhead! I guess if
you can figure it out you are up for a Nobel Prize, certainly a new
breakthrough.

FYI, even if you put some kernel spinning count in shared-memory,
it would have overhead. In fact, users might even be able DOS the
machine by spinning on that count. Putting time in /proc or /dev
also has great overhead. Have you ever looked at how these
file-systems work?

On ix86 machines, basic time comes from chip(s), read from ports.
That's just another tiny little problem.

Its not just shared memory, but a protected very low overhead extension of the kernel code space into the user map. Mostly what is saved is the system call overhead.

The time-keeping in Linux certainly has a few problems and they
don't seem to be getting resolved, just exchanging one set of
problems for another as the timer code has been rewritten many
times. It would helpful if somebody did take a fresh new look
at timekeeping, but reading something from shared memory just
isn't relevant.

Possibly you would like to review what John is doing and make relevent comments.

--
George Anzinger   [email protected]
HRT (High-res-timers):  http://sourceforge.net/projects/high-res-timers/
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux