DragonFly bugs List (threaded) for 2008-03
DragonFly BSD
DragonFly bugs List (threaded) for 2008-03
[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]

Re: CARP panic


From: Matthew Dillon <dillon@xxxxxxxxxxxxxxxxxxxx>
Date: Sun, 2 Mar 2008 15:34:04 -0800 (PST)

:This box is the MASTER in the CARP domain and it paniced today:
:
:http://www.punchyouremployer.com/files/carp_panic.JPG
:
:Petr

    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...).

					-Matt
					Matthew Dillon 
					<dillon@backplane.com>



[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]