From owner-cvs-src-old@FreeBSD.ORG Sun Nov 22 14:33:20 2009 Return-Path: Delivered-To: cvs-src-old@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B2FE41065698 for ; Sun, 22 Nov 2009 14:33:20 +0000 (UTC) (envelope-from kuriyama@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 9F5C78FC1D for ; Sun, 22 Nov 2009 14:33:20 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id nAMEXKDp004641 for ; Sun, 22 Nov 2009 14:33:20 GMT (envelope-from kuriyama@repoman.freebsd.org) Received: (from svn2cvs@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id nAMEXKY9004640 for cvs-src-old@freebsd.org; Sun, 22 Nov 2009 14:33:20 GMT (envelope-from kuriyama@repoman.freebsd.org) Message-Id: <200911221433.nAMEXKY9004640@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: svn2cvs set sender to kuriyama@repoman.freebsd.org using -f From: Jun Kuriyama Date: Sun, 22 Nov 2009 14:32:32 +0000 (UTC) To: cvs-src-old@freebsd.org X-FreeBSD-CVS-Branch: RELENG_8 Subject: cvs commit: src/sys/amd64/amd64 initcpu.c machdep.c src/sys/amd64/include md_var.h src/sys/i386/i386 initcpu.c X-BeenThere: cvs-src-old@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: **OBSOLETE** CVS commit messages for the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 22 Nov 2009 14:33:20 -0000 kuriyama 2009-11-22 14:32:32 UTC FreeBSD src repository Modified files: (Branch: RELENG_8) sys/amd64/amd64 initcpu.c machdep.c sys/amd64/include md_var.h sys/i386/i386 initcpu.c Log: SVN rev 199648 on 2009-11-22 14:32:32Z by kuriyama - MFC r199067,199215,199253 - Add hw.clflush_disable loader tunable to avoid panic (trap 9) at map_invalidate_cache_range() even if CPU is not Intel. - This tunable can be set to -1 (default), 0 and 1. -1 is same as current behavior, which automatically disable CLFLUSH on Intel CPUs without CPUID_SS (should be occured on Xen only). You can specify 1 when this panic happened on non-Intel CPUs (such as AMD's). Because disabling CLFLUSH may reduce performance, you can try with setting 0 on Intel CPUs without SS to use CLFLUSH feature. - Amd64 init_secondary() calls initializecpu() while curthread is still not properly set up. r199067 added the call to TUNABLE_INT_FETCH() to initializecpu() that results in hang because AP are started when kernel environment is already dynamic and thus needs to acquire mutex, that is too early in AP start sequence to work. Extract the code that should be executed only once, because it sets up global variables, from initializecpu() to initializecpucache(), and call the later only from hammer_time() executed on BSP. Now, TUNABLE_INT_FETCH() is done only once at BSP at the early boot stage. Revision Changes Path 1.54.2.4 +21 -1 src/sys/amd64/amd64/initcpu.c 1.707.2.5 +1 -0 src/sys/amd64/amd64/machdep.c 1.86.2.2 +1 -0 src/sys/amd64/include/md_var.h 1.62.2.3 +16 -1 src/sys/i386/i386/initcpu.c