[asterisk-dev] Re: TDMoE timing

Tony Mountifield tony at softins.clara.co.uk
Mon Feb 13 09:29:09 MST 2006

In article <002e01c630b4$68bd97e0$01feae0a at odt.pvt>,
Paul Cadach <paul at odt.east.telecom.kz> wrote:
> Hello,
> Tony Mountifield wrote:
> [skipped]
> > So... has ANYONE successfully got TDMoE to work under kernel 2.6?
> I've got it to work stable under 2.4. TDMoE runs stable more than 2 years...
> > If so, was with with tasklets enabled or disabled?
> Definitely enabled... If you don't use tasklets dev_queue_xmit() will be called with
> disabled interrupts, but when you
> use tasklets it's called after interrupt handling is finished, so you don't have any
> problems with disabled interrupts.

OK, thanks. But even with tasklets enabled, dev_queue_xmit() is called
inside a loop protected with spin_lock_irqsave(), which I thought disabled
interrupts anyway.

> > I currently have tasklets disabled, because the notes suggested that it
> > was possible occasionally to lose a timeslot when using tasklets. It looks
> > like I will have to try with tasklets enabled, because I suspect that may
> > be the only way to legally call dev_queue_xmit() under 2.6.
> Are you sure you lose timeslots? How you detect it? Is it networking problems?

I was going by the comment in ztdynamic.c just before the #define ENABLE_TASKLETS

 * Tasklets provide better system interactive response at the cost of the
 * possibility of losing a frame of data at very infrequent intervals.  If
 * you are more concerned with the performance of your machine, enable the
 * tasklets.  If you are strict about absolutely no drops, then do not enable
 * tasklets.

I've just tried running a version compiled with ENABLE_TASKLETS, and now
having a different problem :-)

Tony Mountifield
Work: tony at softins.co.uk - http://www.softins.co.uk
Play: tony at mountifield.org - http://tony.mountifield.org

More information about the asterisk-dev mailing list