Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 11 Aug 2003 15:50:26 -0700 (PDT)
From:      Ted Unangst <tedu@stanford.edu>
To:        John Baldwin <jhb@FreeBSD.org>
Cc:        freebsd-hackers@FreeBSD.org
Subject:   Re: possible deadlocks?
Message-ID:  <Pine.GSO.4.44.0308111544090.21112-100000@saga8.Stanford.EDU>
In-Reply-To: <XFMail.20030811180315.jhb@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, 11 Aug 2003, John Baldwin wrote:

> You can't ifconfig sk0 until after it attaches.  sk0 and sk1 don't
> share locks, so you don't have to worry about the interaction there.

I believe they do share a lock.  Each port of a dual port sk appears as an
individual interface, but they share the same sk_softc.  Is that
incorrect?  So sk0 will be attached, but for a short while, sk1 will not
be attached, even though they share the softc, which is really for the
skc.

> Also, SK_LOCK != SK_IF_LOCK, or is that a typo?  If it is a typo,
> then the lock order should still be fixed in some fashion.

They are the same.  SK_IF_LOCK is called on the sk_if_softc, but just
locks the shared sk_softc mutex.  Does that make sense?

#define SK_LOCK(_sc)            mtx_lock(&(_sc)->sk_mtx)
#define SK_IF_LOCK(_sc)         mtx_lock(&(_sc)->sk_softc->sk_mtx)


-- 
"I am a great mayor; I am an upstanding Christian man; I am an
intelligent man; I am a deeply educated man; I am a humble man."
      - M. Barry, Mayor of Washington, DC



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.GSO.4.44.0308111544090.21112-100000>