Alan, On Tue, 2007-07-10 at 14:59 -0400, Alan Stern wrote:Hard to tell. The insertion / deletion needs to take the timer->base->lock, but this is cheap as long as the insert / cancel happens on the same CPU. The other overhead which might be "visible" is when the timer needs to be re-cascaded in the wheel. See the table below: 100 250 1000 HZ [1] 256 10 4 1 ms [2] 64 2560 1024 256 ms [3] 64 164 66 16 s [4] 64 175 70 17 m [5] 64 186 75 19 h In the 250Hz case the timer < 1024ms is never re-cascaded. A timer <66s is re-cascaded at max. once. So I guess your frequent cancel/restart scheme is just fine. It does not re-trigger any kind of hardware event and the insertion/deletion is O(1). The network code relies on this cheap mechanism on high loaded server machines. Hope that helps, tglx -
| Rafael J. Wysocki | 2.6.28-rc2-git7: Reported regressions from 2.6.27 |
| Dave Hansen | Re: [RFC/PATCH] Documentation of kernel messages |
| Jesper Juhl | Re: [RFD] Documentation/HOWTO translated into Japanese |
| Bart Van Assche | Integration of SCST in the mainstream Linux kernel |
git: | |
| Sander | 'struct task_struct' has no member named 'mems_allowed' (was: Re: 2.6.20-rc4-mm1) |
| Corey Minyard | [PATCH 3/3] Convert the UDP hash lock to RCU |
| Gerrit Renker | [PATCH 03/37] dccp: List management for new feature negotiation |
| David Miller | Re: [PATCH] pkt_sched: Destroy gen estimators under rtnl_lock(). |
| David Miller | Re: [GIT]: Networking |
