[Linuxppc-users] Running generic code in critical interrupt handler.
Henry Bausley
hbausley at deltatau.com
Fri Aug 10 06:01:19 AEST 2018
We are seeking realtime performance of an interrupt routine using an APM86290 (44x based CPU). We changed the interrupt so it is a Critical Interrupt to reduce jitter. We do have a substantial amount of code in the interrupt routine.
Is it inappropriate to use a critical interrupt in a generic fashion. We did something like what you see below.
CRITICAL_EXCEPTION(0x0100, CriticalInput, unknown_exception)
to
CRITICAL_EXCEPTION(0x0100, CriticalInput, CustomCritIntr)
The code for the handler is large
void CustomCritIntr (void)
{
LargeAmountOfCode();
}
The code runs fine in a standard interrupt handler but periodically we are getting the following types of error when we use our code in the critical interrupt handler. Is this a result of our CustomCritIntr handler disturbing the TLB handlers of Linux? I will add the interrupt is generated at a very high rate every ie. 15 usecs.
Unable to handle kernel paging request for data at address 0xa47bb580
Faulting instruction address: 0x80088154
Oops: Kernel access of bad area, sig: 11 [#1]
SMP NR_CPUS=2 APM862xx vB
Modules linked in: usralgo(O) rtpmac(O) libppmac(O) ppmachw(O) ec_r8169(O) ec_master(O) [last unloaded: usralgo]
NIP: 80088154 LR: 8006799c CTR: a4796538
REGS: 806cad90 TRAP: 0300 Tainted: G O (3.2.21-powerpmac-smp)
MSR: 00021000 <ME,CE> CR: 28dd4f88 XER: 00000000
DEAR: a47bb580, ESR: 00000000
TASK = 9e076d00[0] 'swapper/1' THREAD: 9e0ac000 CPU: 1
GPR00: a47bb4d0 806cae40 9e076d00 00000000 00000000 80088154 fff2eaf7 806df200
GPR08: 806c0090 80621840 806bc790 00021000 9e0ac260 fff2eaf7 30000000 ffffffe0
GPR16: a47c0000 a47c0000 00000000 a47c0000 00000000 a47c0000 ffffffff 000030dd
GPR24: a47c0000 a76891a8 a7688800 a76891a8 00000004 80088154 8066dec8 a47bb4cc
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ozlabs.org/pipermail/linuxppc-users/attachments/20180809/a4112352/attachment.html>
More information about the Linuxppc-users
mailing list