From owner-freebsd-emulation@FreeBSD.ORG Sun Apr 12 19:26:03 2009 Return-Path: Delivered-To: freebsd-emulation@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2E8081065670; Sun, 12 Apr 2009 19:26:03 +0000 (UTC) (envelope-from bakul@bitblocks.com) Received: from mail.bitblocks.com (bitblocks.com [64.142.15.60]) by mx1.freebsd.org (Postfix) with ESMTP id 0E5BA8FC2C; Sun, 12 Apr 2009 19:26:03 +0000 (UTC) (envelope-from bakul@bitblocks.com) Received: from bitblocks.com (localhost.bitblocks.com [127.0.0.1]) by mail.bitblocks.com (Postfix) with ESMTP id 661B45B23; Sun, 12 Apr 2009 12:26:02 -0700 (PDT) To: Juergen Lock In-reply-to: Your message of "Sun, 12 Apr 2009 20:56:24 +0200." <20090412185624.GB65339@triton.kn-bremen.de> References: <22999502.post@talk.nabble.com> <22999521.post@talk.nabble.com> <200904121415.n3CEFDCf025538@triton.kn-bremen.de> <20090412182939.E23F15B23@mail.bitblocks.com> <20090412185624.GB65339@triton.kn-bremen.de> Comments: In-reply-to Juergen Lock message dated "Sun, 12 Apr 2009 20:56:24 +0200." Date: Sun, 12 Apr 2009 12:26:02 -0700 From: Bakul Shah Message-Id: <20090412192602.661B45B23@mail.bitblocks.com> Cc: jtidwell , freebsd-emulation@freebsd.org Subject: Re: cannot get kqemu to load with kldload X-BeenThere: freebsd-emulation@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Development of Emulators of other operating systems List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 12 Apr 2009 19:26:05 -0000 On Sun, 12 Apr 2009 20:56:24 +0200 Juergen Lock wrote: > On Sun, Apr 12, 2009 at 11:29:39AM -0700, Bakul Shah wrote: > > > > But this brings up another problem with kqemu: if you are > > using SCHED_4BSD with 7.x or current, kqemu is not guaranteed > > to work. > > Oh, so the code it then uses in kqemu_schedule() is ule only? > Does the old scheduler still use sched_lock? > > [...] > struct thread *td = curthread; > thread_lock(td); > mi_switch(SW_VOL, NULL); > thread_unlock(td); > [...] You'd have to ask a scheduling expert but it appears that 4BSD sticks sched_lock in thread lock so it should just work (checked only in -current). So I take back my complaint :-)