CARP panic
Thomas E. Spanjaard
tgen at netphreax.net
Mon Mar 3 07:22:49 PST 2008
Matthew Dillon wrote:
Well, I see a problem immediately. The lockmgr macros in ip_carp.c
are specifying non-blocking locks but all the calls to them assume
success.
I'm not sure what the best solution is here. The lockmgr is not supposed
to be called from an interrupt, which is why I think it was coded
LK_NOWAIT in the carp port, but the carp code doesn't check for an
EBUSY return value. That's a real problem.
We can't use spin locks, there are blockable paths called with the
CARP_LOCK held. It looks like our only real choice is to allow
lockmgr locks from interrupts... which by the way precludes being able
to use a FAST interrupt for network interrupts (which we don't at the
moment anyway, but...).
I'd prefer CARP to grow EBUSY handling rather than changing our locking
primitives...
--
Thomas E. Spanjaard
tgen at netphreax.net
Attachment:
signature.asc
-------------- next part --------------
A non-text attachment was scrubbed...
Name: pgp00000.pgp
Type: application/octet-stream
Size: 186 bytes
Desc: "Description: OpenPGP digital signature"
URL: <http://lists.dragonflybsd.org/pipermail/bugs/attachments/20080303/978aa912/attachment-0022.obj>
More information about the Bugs
mailing list