From owner-cvs-all Sat Nov 23 0: 4:36 2002 Delivered-To: cvs-all@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 92C7237B401; Sat, 23 Nov 2002 00:04:35 -0800 (PST) Received: from freefall.freebsd.org (freefall.freebsd.org [216.136.204.21]) by mx1.FreeBSD.org (Postfix) with ESMTP id 41F3043E91; Sat, 23 Nov 2002 00:04:35 -0800 (PST) (envelope-from davidxu@FreeBSD.org) Received: from freefall.freebsd.org (davidxu@localhost [127.0.0.1]) by freefall.freebsd.org (8.12.6/8.12.6) with ESMTP id gAN84Zx3003587; Sat, 23 Nov 2002 00:04:35 -0800 (PST) (envelope-from davidxu@freefall.freebsd.org) Received: (from davidxu@localhost) by freefall.freebsd.org (8.12.6/8.12.6/Submit) id gAN84ZX0003586; Sat, 23 Nov 2002 00:04:35 -0800 (PST) Date: Sat, 23 Nov 2002 00:04:35 -0800 (PST) From: David Xu Message-Id: <200211230804.gAN84ZX0003586@freefall.freebsd.org> To: "Maxime Henrion" , "cvs-committers@FreeBSD.org" , "cvs-all@FreeBSD.org" Subject: Re: cvs commit: src/sys/kern kern_thread.c src/sys/sys proc.h src/sys/i386/i386 vm_machdep.c src/sys/alpha/alpha vm_machdep.c src/sys/ia64/ia64 vm_machdep.c src/ vm_machdep.c src/sys/sparc64/sparc64 vm_machdep.c Sender: owner-cvs-all@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG This commit cause kernel panic when run threaded program. try /usr/src/tools/KSE/ksetest ----- Original Message ----- From: "Maxime Henrion" To: ; Sent: Saturday, November 23, 2002 7:57 AM Subject: cvs commit: src/sys/kern kern_thread.c src/sys/sys proc.h src/sys/i386/i386 vm_machdep.c src/sys/alpha/alpha vm_machdep.c src/sys/ia64/ia64 vm_machdep.c src/sys/powerpc/powerpc vm_machdep.c src/sys/sparc64/sparc64 vm_machdep.c mux 2002/11/22 15:57:02 PST Modified files: sys/kern kern_thread.c sys/sys proc.h sys/i386/i386 vm_machdep.c sys/alpha/alpha vm_machdep.c sys/ia64/ia64 vm_machdep.c sys/powerpc/powerpc vm_machdep.c sys/sparc64/sparc64 vm_machdep.c Log: Under certain circumstances, we were calling kmem_free() from i386 cpu_thread_exit(). This resulted in a panic with WITNESS since we need to hold Giant to call kmem_free(), and we weren't helding it anymore in cpu_thread_exit(). We now do this from a new MD function, cpu_thread_dtor(), called by thread_dtor(). Approved by: re@ Suggested by: jhb Revision Changes Path 1.75 +5 -0 src/sys/alpha/alpha/vm_machdep.c 1.194 +17 -9 src/sys/i386/i386/vm_machdep.c 1.49 +5 -0 src/sys/ia64/ia64/vm_machdep.c 1.66 +3 -0 src/sys/kern/kern_thread.c 1.78 +5 -0 src/sys/powerpc/powerpc/vm_machdep.c 1.28 +5 -0 src/sys/sparc64/sparc64/vm_machdep.c 1.283 +1 -0 src/sys/sys/proc.h To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe cvs-all" in the body of the message