Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 17 Aug 2005 23:32:28 +0200
From:      Christian Brueffer <chris@unixpages.org>
To:        John Baldwin <jhb@FreeBSD.org>
Cc:        freebsd-current@freebsd.org
Subject:   Re: Locking fixes for my(4)
Message-ID:  <20050817213228.GA923@unixpages.org>
In-Reply-To: <200508171402.25154.jhb@FreeBSD.org>
References:  <200508101657.18678.jhb@FreeBSD.org> <200508171002.56163.jhb@FreeBSD.org> <20050817155044.GA911@unixpages.org> <200508171402.25154.jhb@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help

--fdj2RfSjLxBAspz7
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Wed, Aug 17, 2005 at 02:02:24PM -0400, John Baldwin wrote:
> On Wednesday 17 August 2005 11:50 am, Christian Brueffer wrote:
> > On Wed, Aug 17, 2005 at 10:02:55AM -0400, John Baldwin wrote:
> > > On Tuesday 16 August 2005 05:13 am, Christian Brueffer wrote:
> > > > On Wed, Aug 10, 2005 at 04:57:18PM -0400, John Baldwin wrote:
> > > > > I've fixed up the locking for the my(4) ethernet device driver but
> > > > > have no hardware to test.  Can someone please test these patches?=
=20
> > > > > Thanks.
> > > > >
> > > > > http://www.freebsd.org/~jhb/patches/my_locking.patch
> > > >
> > > > This one works fine.
> > >
> > > Thanks for testing!  I've just refreshed the sf_locking.patch patch as
> > > well (I think the last version I pointed you at didn't compile) which=
 has
> > > the recursive panic you reported fixed.
> >
> > panic: mutex sf0 not owned at /usr/home/build/src/sys/kern/kern_mutex.c=
:300
> > cpuid =3D 0
> > KDB: enter: panic
> > [thread pid 220 tid 100071 ]
> > Stopped at      kdb_enter+0x30: leave
> > db> tr
> > Tracing pid 220 tid 100071 td 0xc1d83600
> > kdb_enter(c07945bc,0,c0793ab3,d8945b08,c1d83600) at kdb_enter+0x30
> > panic(c0793ab3,c1ad7aa0,c0793946,12c,c1ac2acc) at panic+0x14e
> > _mtx_assert(c1ac2acc,1,c0793946,12c,c1ac2a80) at _mtx_assert+0x87
> > _mtx_unlock_flags(c1ac2acc,0,c08ea1ea,4b9,c1adb800) at
> > _mtx_unlock_flags+0x90 sf_init(c1ac2a80,740,c07a88e0,8020690c,c1ac2a80)=
 at
> > sf_init+0x59
> > ether_ioctl(c1adb800,8020690c,c1d41d00,c05a7f61,0) at ether_ioctl+0x67
> > sf_ioctl(c1adb800,8020690c,c1d41d00,100,1) at sf_ioctl+0xbc
> > in_ifinit(c1adb800,c1d41d00,c1c49790,0,1) at in_ifinit+0x208
> > in_control(c1e24de8,8040691a,c1c49780,c1adb800,c1d83600) at
> > in_control+0x986 ifioctl(c1e24de8,8040691a,c1c49780,c1d83600,2) at
> > ifioctl+0x1cd
> > soo_ioctl(c1d81048,8040691a,c1c49780,c19dca80,c1d83600) at soo_ioctl+0x=
3ef
> > ioctl(c1d83600,d8945d04,c,422,3) at ioctl+0x45d
> > syscall(3b,3b,3b,80beac0,1) at syscall+0x2c0
> > Xint0x80_syscall() at Xint0x80_syscall+0x1f
> > --- syscall (54, FreeBSD ELF32, ioctl), eip =3D 0x8055473, esp =3D 0xbf=
bfe5fc,
> > ebp =3D 0xbfbfee68 ---
>=20
> Sheesh, I haven't done nearly as badly on the other drivers I've changed.=
 :-P =20
> I had missed removing the SF_UNLOCK at the end of sf_init_locked().  I've=
=20
> fixed it and uploaded the patch.  Thanks for all the testing.  Hopefully =
this=20
> one will work. :)
>=20

Works as advertised :-)

> > I can ship you a card, but it would take some time because US customs
> > is pretty anal these days :-/
>=20
> No, that's fine.  I'd actually prefer it if you can test it unless it is =
an=20
> inconvenience.
>=20

Not at all.

- Christian

--=20
Christian Brueffer	chris@unixpages.org	brueffer@FreeBSD.org
GPG Key:	 http://people.freebsd.org/~brueffer/brueffer.key.asc
GPG Fingerprint: A5C8 2099 19FF AACA F41B  B29B 6C76 178C A0ED 982D

--fdj2RfSjLxBAspz7
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.6 (FreeBSD)

iD8DBQFDA6zsbHYXjKDtmC0RAllBAKDdzosk9JU1+7V2T/IQkAsqMjiqOgCcD2P9
DgnULaYG9ufQ0+FWSqowDf4=
=cKHX
-----END PGP SIGNATURE-----

--fdj2RfSjLxBAspz7--




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