[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: killing the interrupt handler
On Fri, Jun 07, 2002 at 07:34:29PM +0530, Rahul Ravindran wrote:
[rahul, your emails would be easier to read if you wrapped them at 72
characters. I've reformatted your email for easier discussion.]
> I`m modifying a network device driver by adding encrytion and
> decrytion within it.
Cool! This would probably be a cheap way to get private communications,
compared to setting up ipsec hosts.
> The NIC is an interrupt driver one which
> generates an interrupt on arrival of a packet. I find that sometimes,
> the following error occurs : Kernel Panic : Killing interrupt handler
> In interrupt handler: loosing sync
>
> The system hangs after this.
>
> I`m an disabling interrupts at the beginning of the interrupt handler
> (by using spin_lock_store) and reanbling them at the end (by using
> spin_unlock_restore). I interrupt handler is currently takes a little
> time executing the decrytion code.
Oh my. Interrupt handlers are supposed to be _fast_. Decryption usually
isn't. Are you sure your interrupt is more important than, say, clock
ticks, hard drives, etc? Perhaps disabling interrupts through your
interrupt handler is a bit too much?
> Am using GFP_ATOMIC flag for kmalloc within the handler.
Good :) though if you can figure out how to run your handler without
allocating memory at all, your driver will probably be all the more
stable.
> On searching the net, I find that these errors(killing interrupt etc)
> have been documented before while doing insmod but not while actually
> using the card.
Google is great, but sadly, it hasn't yet developed the ability to find
bug reports from folks who broke the code the exact same way you did :)
It would help me a lot if they added this feature. :)
--
http://www.wirex.com/
PGP signature