D&C GLug - Home Page

[ Date Index ] [ Thread Index ] [ <= Previous by date / thread ] [ Next by date / thread => ]

[LUG] Interesting diagnostic problem

 

I'm looking at a problem that occurs in the asterisk PABX, and I'm running out of inexpensive techniques, so I thought I'd canvas for ideas.

Here's the problem : One of the boards supported by asterisk is the Digium TDM4xx 4 port analogue board - 4 ports of PSTN goodness on a single PCI card.

This card has a module driver, and when the driver is loaded, even if the card is idle and the devices are not open, there's a blip of about 25% CPU every 5 or 6 seconds.

Top says this CPU is being used by hardware interrupt routines (which sounds reasonable as we can stop this by unloading the driver...)

I'm trying to ascertain which routine is using CPU unreasonably.

My first thought was to implement an in-kernel count of entries into each function. Alas, this differs little from second to second, so whatever is happening is happening within a routine.

What I'd really like to measure is the cumulative time spent in each function, but the board raises an interrupt every millisecond, and I guess that while the driver is handling this, there just isn't going to be a timer interrupt.

Anyone know the real resolution of the hardware RTC ? Any other ideas ?

Anyone know of a cheap(ish) microsecond clock board ?


jd

--

John Daragon                                          john@xxxxxxxxxx
argv[0] limited
Lambs Lawn Cottage,  Staple Fitzpaine,  Taunton,  TA3 5SL,  UK
v +44 (0) 1460 234068   f +44 (0) 1460 234069   m +44 (0) 7836 576127



--
The Mailing List for the Devon & Cornwall LUG
Mail majordomo@xxxxxxxxxxxxx with "unsubscribe list" in the
message body to unsubscribe. FAQ: www.dcglug.org.uk/linux_adm/list-faq.html