From owner-freebsd-current@FreeBSD.ORG Sat Jul 21 10:19:48 2007 Return-Path: Delivered-To: current@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B925216A419 for ; Sat, 21 Jul 2007 10:19:48 +0000 (UTC) (envelope-from bsd@kuehlbox.de) Received: from samael.qmail-ldap.de (mail.kuehlbox.de [62.159.47.22]) by mx1.freebsd.org (Postfix) with ESMTP id 2033913C45D for ; Sat, 21 Jul 2007 10:19:47 +0000 (UTC) (envelope-from bsd@kuehlbox.de) Received: (qmail 5443 invoked from network); 21 Jul 2007 10:19:46 -0000 Comment: DomainKeys? See http://antispam.yahoo.com/domainkeys DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=default; d=kuehlbox.de; b=JoJ3H8QM9ZUYjdcUsOmGLMfRCg99iSV7VvsHOhWChQhhvLoZ21BBo5D5qno0wR+qO6XCNAOLXoavKJ9iw4RpKKM3482k2UP0n4nKwJp7846AsdPJAcXHidW+dszcndW8 ; Received: from unknown (HELO [192.168.200.128]) (bsd@kuehlbox.de@[82.135.93.20]) (envelope-sender ) by samael.qmail-ldap.de (qmail-ldap-1.03) with AES256-SHA encrypted SMTP for ; 21 Jul 2007 10:19:46 -0000 Message-ID: <46A1DF0B.6070705@kuehlbox.de> Date: Sat, 21 Jul 2007 12:25:15 +0200 From: Teufel User-Agent: Thunderbird 2.0.0.5 (Windows/20070716) MIME-Version: 1.0 To: current@FreeBSD.org References: <20070720213211.GA7262@saturn.kn-bremen.de> In-Reply-To: <20070720213211.GA7262@saturn.kn-bremen.de> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: Subject: Re: kqemu and sched_lock, please test port update X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 21 Jul 2007 10:19:48 -0000 Hi Juergen, just cvsuped the kernel and applied the kqemu-kmod below. Previously, I had immediately the sched lock 1 panic with the ULE 3.0 and this patch seems to fix the problem. The win2k3 image is now running for about 2 hours in kernel and user mode! Thanks! Hope this helps you. x86 kernel. Greetings, Stephan *kqemu status:* QEMU 0.9.0 monitor - type 'help' for more information (qemu) info kqemu kqemu support: enabled for user and kernel code (qemu *CPU:* CPU: Intel(R) Core(TM)2 CPU 6600 @ 2.40GHz (2404.13-MHz 686-class CPU) Origin = "GenuineIntel" Id = 0x6f6 Stepping = 6 Features=0xbfebfbff Features2=0xe3bd AMD Features=0x20000000 AMD Features2=0x1 Cores per package: 2 real memory = 2146828288 (2047 MB) avail memory = 2091282432 (1994 MB) Juergen Lock wrote: > I just noticed this, and came up with the update below. I still don't > have a -current box so I need you to test this before I commit it... > > Thanx, > Juergen > > Index: Makefile > =================================================================== > RCS file: /home/pcvs/ports/emulators/kqemu-kmod/Makefile,v > retrieving revision 1.19 > diff -u -r1.19 Makefile > --- Makefile 14 Jul 2007 17:48:56 -0000 1.19 > +++ Makefile 20 Jul 2007 21:21:14 -0000 > @@ -7,7 +7,7 @@ > > PORTNAME= kqemu > PORTVERSION= 1.3.0.p11 > -PORTREVISION= 1 > +PORTREVISION= 2 > CATEGORIES= emulators kld > MASTER_SITES= http://fabrice.bellard.free.fr/qemu/ \ > http://qemu.org/ \ > Index: files/patch-kqemu-freebsd.c > =================================================================== > RCS file: /home/pcvs/ports/emulators/kqemu-kmod/files/patch-kqemu-freebsd.c,v > retrieving revision 1.5 > diff -u -r1.5 patch-kqemu-freebsd.c > --- files/patch-kqemu-freebsd.c 6 Feb 2007 20:46:29 -0000 1.5 > +++ files/patch-kqemu-freebsd.c 20 Jul 2007 21:17:33 -0000 > @@ -1,5 +1,23 @@ > Index: kqemu-freebsd.c > -@@ -321,6 +321,9 @@ > +@@ -208,9 +208,17 @@ > + int CDECL kqemu_schedule(void) > + { > + /* kqemu_log("kqemu_schedule\n"); */ > ++#if __FreeBSD_version < 700044 > + mtx_lock_spin(&sched_lock); > + mi_switch(SW_VOL, NULL); > + mtx_unlock_spin(&sched_lock); > ++#else > ++ /* -current no longer uses sched_lock */ > ++ struct thread *td = curthread; > ++ thread_lock(td); > ++ mi_switch(SW_VOL, NULL); > ++ thread_unlock(td); > ++#endif > + return SIGPENDING(curthread); > + } > + #endif > +@@ -320,6 +328,9 @@ > #if __FreeBSD_version >= 500000 > dev->si_drv1 = NULL; > TAILQ_REMOVE(&kqemuhead, ks, kqemu_ent); > @@ -9,4 +27,3 @@ > destroy_dev(dev); > #endif > free(ks, M_KQEMU); > - > _______________________________________________ > freebsd-current@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-current > To unsubscribe, send any mail to "freebsd-current-unsubscribe@freebsd.org" >