Messages in this thread | | | Date | Wed, 19 Jun 2002 13:43:04 +0200 | From | Richard Zidlicky <> | Subject | Re: [PATCH] Replace timer_bh with tasklet |
| |
On Tue, Jun 18, 2002 at 04:17:45PM -0700, george anzinger wrote: > Richard Zidlicky wrote: > > > > On Tue, Jun 18, 2002 at 11:07:32AM -0700, george anzinger wrote: > > > > > > > > I reasoned that the timers, unlike most other I/O, directly drive the system. > > > For example, the time slice is counted down by the timer BH. By pushing the > > > timer out to ksoftirqd, running at nice 19, you open the door to a compute > > > bound task running over its time slice (admittedly this should be caught on > > > the next interrupt). > > > > I have had some problems with timers delayed up to 0.06s in 2.4 kernels, > > could that be this problem? > > > It could be. Depends on what was going on at the time.
I have generated high load to test how accurately my genrtc driver will work - it turned out that timers added with add_timer occassionally get delayed by several jiffies. Results were much worse on IO bound load, especially IDE drives, CPU intensive userspace apps didn't appear to matter.
Using schedule_task() to poll the event seems to work without any problems.
> In most cases, however, > the next interrupt should cause a call to softirq and thus run the timer list. This > would seem to indicate at 20ms delay at most (first call busys softirq thru a 10ms tick > followed by recovery at the next tick).
this was also my impression after looking at the lowlevel interrupt handling so I am really puzzled.
Richard - 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/
| |