Re: No 100 HZ timer!

Mark Salisbury (mbs@mc.com)
Tue, 17 Apr 2001 08:12:11 -0400


On Mon, 16 Apr 2001, you wrote:
> Mark Salisbury wrote:
> >
> > > Given a system speed, there is a repeating timer rate which will consume
> > > 100% of the system in handling the timer interrupts. An attempt will
> > > be made to detect this rate and adjust the timer to prevent system
> > > lockup. This adjustment will look like timer overruns to the user
> > > (i.e. we will take a percent of the interrupts and record the untaken
> > > interrupts as overruns)
> >
> > just at first blush, there are some things in general but I need to read
> > this again and more closely....
> >
> > but, with POSIX timers, there is a nifty little restriction/protection built
> > into the spec regarding the re-insertion of short interval repeating timers.
> > that is: a repeating timer will not be re-inserted until AFTER the
> > associated signal handler has been handled.
>
> Actually what it says is: "Only a single signal shall be queued to the
> process for a given timer at any point in time. When a timer for which
> a signal is still pending expires, no signal shall be queued, and a
> timer overrun shall occur."
>
> It then goes on to talk about the overrun count and how it is to be
> managed.
>
I guess I was confusing what the spec said with the way in which I chose to
comply with the spec. I calculate overruns (I know when a timer went off, and
how many of its intervals have passed since it went off by by
time_since_expire/interval) and don't reinsert until return from the signal
handler.

this prevents a flood of high frequency interrupts inherently and allows
processing of the signal handlers to proceed cleanly.

-- 
/*------------------------------------------------**
**   Mark Salisbury | Mercury Computer Systems    **
**   mbs@mc.com     | System OS - Kernel Team     **
**------------------------------------------------**
**  I will be riding in the Multiple Sclerosis    **
**  Great Mass Getaway, a 150 mile bike ride from **
**  Boston to Provincetown.  Last year I raised   **
**  over $1200.  This year I would like to beat   **
**  that.  If you would like to contribute,       **
**  please contact me.                            **
**------------------------------------------------*/

- 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/