Messages in this thread | | | Date | Tue, 15 Nov 2005 11:34:26 -0800 | From | George Anzinger <> | Subject | Re: Timer idea |
| |
linux-os (Dick Johnson) wrote: > On Tue, 15 Nov 2005 evan@coolrunningconcepts.com 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 george@mvista.com 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 majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |