Oliver Hartkopp wrote: > Peter Zijlstra wrote: >> On Tue, 2008-11-25 at 12:43 +0100, Peter Zijlstra wrote: >> >>> Hi, >>> >>> This is an attempt at removing some of the hrtimer complexity by >>> reducing the number of callback modes to 1. >>> >>> This means that all hrtimer callback functions will be ran from >>> HARD-irq >>> context. >>> >>> I went through all the 30 odd hrtimer callback functions in the kernel >>> and saw only one that I'm not quite sure of, which is the one in >>> net/can/bcm.c - hence I'm CC-ing the folks responsible for that code. >>> > > Thanks Peter. > > Indeed i assumed my hrtimer callbacks to run in soft-irq. I tried the > can-bcm protocol with Ingos current linux-2.6-sched-devel.git > including your patches and i did not see any issues so far. And i do > not expect any (recursion) problems with hrtimer_forward() in my code > either. > > But i'm not that familiar with the timer context's stuff, that i would > like guaranty that the functions i use in bcm_send_user() and in > bcm_can_tx() are always safe to be used in hard-irq context. > > It would be nice, if you could give me some support by double checking > the correctness of the hard-irq context in the given functions. Hi Peter, i ran a heavy load test, which get's (reproducible) the attached outputs ... Maybe it's not that good to define the hrtimer context to be always hard-irq. Any idea? The Kernel is Ingos linux-2.6-sched-devel Linux version 2.6.28-rc7-tip-01309-g1e7292b (hartko@vwagwolkf320) (gcc version 4.3.2 (Debian 4.3.2-1) ) #1 SMP ... If you need some additional information to build up the test environment your own, please let me know. Best regards, Oliver