Date: Tue, 26 May 2009 11:41:03 -0700 From: Kip Macy <kmacy@freebsd.org> To: John Baldwin <jhb@freebsd.org> Cc: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: Re: svn commit: r192604 - in user/kmacy/releng_7_2_fcs/sys: dev/hwpmc sys Message-ID: <3c1674c90905261141n44bc7c24h5b82a2e25b84f1eb@mail.gmail.com> In-Reply-To: <200905261437.49148.jhb@freebsd.org> References: <200905222145.n4MLjhm3019802@svn.freebsd.org> <200905260830.36831.jhb@freebsd.org> <3c1674c90905261118y282d9b0fn7d54630f507d8363@mail.gmail.com> <200905261437.49148.jhb@freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
ter. > > Umm, that doesn't help. =A0Your kthread's main routine is "physically" lo= cated > in your kld. =A0It needs to get into the text of kthread_exit() before it= is > safe for your module to unload, and so you have to sleep on the kthread/k= proc > pointer to wait for the wakeup in kthread_exit() to fire. =A0You could ha= ve > easily used msleep_spin() for this w/o hacking up condvar's to support sp= in > locks too, FWIW. > Good point. Which gets to my next question. Why is condvar preferred to msleep / wakeup for everything BUT spin locks? This seems a bit hackish. Thanks, Kip
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3c1674c90905261141n44bc7c24h5b82a2e25b84f1eb>