Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 10 Apr 2003 11:17:42 +0200 (CEST)
From:      Harti Brandt <brandt@fokus.fraunhofer.de>
To:        "M. Warner Losh" <imp@bsdimp.com>
Cc:        current@freebsd.org
Subject:   Re: LOR in if_detach
Message-ID:  <20030410110656.M664@beagle.fokus.fraunhofer.de>
In-Reply-To: <20030409.233705.56936788.imp@bsdimp.com>
References:  <20030409183521.D644@beagle.fokus.fraunhofer.de> <20030409.233705.56936788.imp@bsdimp.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, 9 Apr 2003, M. Warner Losh wrote:

MWL>How does the lock order get to be radix, driver in the first place?

It took me some time to find how this comes. It occures with drivers, that
don't use the default ifa_rtrequest, in my case in the midway driver.
In rtrequest1 the radix node head is locked. Later on it calls
ifa->ifa_rtrequest, which in turn calls the driver, where the driver lock
occures.

I suppose, that the radix head lock should not be held accross the
ifa_rtrequest call, but it is needed a few lines below. Unfortunately my
understanding of the routing code is limited, so I don't know whether this
could be rearranged.

harti
-- 
harti brandt,
http://www.fokus.fraunhofer.de/research/cc/cats/employees/hartmut.brandt/private
brandt@fokus.fraunhofer.de, harti@freebsd.org



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20030410110656.M664>