From owner-freebsd-i386@FreeBSD.ORG Fri Sep 2 18:00:41 2005 Return-Path: X-Original-To: freebsd-i386@hub.freebsd.org Delivered-To: freebsd-i386@hub.freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id AF83216A422 for ; Fri, 2 Sep 2005 18:00:40 +0000 (GMT) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [216.136.204.21]) by mx1.FreeBSD.org (Postfix) with ESMTP id 8511143D5A for ; Fri, 2 Sep 2005 18:00:36 +0000 (GMT) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) by freefall.freebsd.org (8.13.3/8.13.3) with ESMTP id j82I0agu055238 for ; Fri, 2 Sep 2005 18:00:36 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.13.3/8.13.1/Submit) id j82I0aZY055237; Fri, 2 Sep 2005 18:00:36 GMT (envelope-from gnats) Resent-Date: Fri, 2 Sep 2005 18:00:36 GMT Resent-Message-Id: <200509021800.j82I0aZY055237@freefall.freebsd.org> Resent-From: FreeBSD-gnats-submit@FreeBSD.org (GNATS Filer) Resent-To: freebsd-i386@FreeBSD.org Resent-Reply-To: FreeBSD-gnats-submit@FreeBSD.org, Ben Thomas Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 5E73416A41F for ; Fri, 2 Sep 2005 17:58:36 +0000 (GMT) (envelope-from bthomas@virtualiron.com) Received: from mail.virtualiron.com (mail.virtualiron.com [209.213.88.114]) by mx1.FreeBSD.org (Postfix) with ESMTP id 02DEC43D46 for ; Fri, 2 Sep 2005 17:58:35 +0000 (GMT) (envelope-from bthomas@virtualiron.com) Received: from [10.1.2.26] ([10.1.2.26]) by mail.virtualiron.com with Microsoft SMTPSVC(6.0.3790.1830); Fri, 2 Sep 2005 13:59:11 -0400 Message-Id: <431892CB.5060800@virtualiron.com> Date: Fri, 02 Sep 2005 13:58:35 -0400 From: Ben Thomas To: freeBSD-gnats-submit@FreeBSD.org Cc: Subject: i386/85653: [patch] relieve hangs in tight loops in processor support X-BeenThere: freebsd-i386@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: I386-specific issues for FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 02 Sep 2005 18:00:41 -0000 >Number: 85653 >Category: i386 >Synopsis: [patch] relieve hangs in tight loops in processor support >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-i386 >State: open >Quarter: >Keywords: >Date-Required: >Class: change-request >Submitter-Id: current-users >Arrival-Date: Fri Sep 02 18:00:36 GMT 2005 >Closed-Date: >Last-Modified: >Originator: Ben Thomas >Release: FreeBSD 5.4-RELEASE i386 >Organization: Virtual Iron Software >Environment: System: FreeBSD bthomas4.katana-technology.com 5.4-RELEASE FreeBSD 5.4-RELEASE #10: Sun Aug 28 13:48:00 EDT 2005 ben@bthomas4.katana-technology.com:/usr/obj/usr/home/ben/BSD/RELENG_5_4_0_RELEASE/src/sys/BEN i386 >Description: This is one of a few changes we've made to relieve hangs in SMP systems. We've seen hangs for stop/start CPUs, during reboots and at other inopportune times. Generally, the hangs are pretty hard and have been interesting to debug. In the end, we isolated a number of places and inserted a "pause" instruction to break very tight data access loops. This has resolved our issues. We have some other patches to help with these issues, but they probably need more clean-up before attempting to submit them. This patch is against the 5_4_0_RELEASE code >How-To-Repeat: >Fix: --- apic_vector.s-DIFF begins here --- --- /usr/src.original/sys/i386/i386/apic_vector.s Wed Jan 5 21:02:35 2005 +++ /usr/src/sys/i386/i386/apic_vector.s Thu Aug 11 17:36:09 2005 @@ -288,6 +288,7 @@ btsl %eax, CNAME(stopped_cpus) /* stopped_cpus |= (1<Release-Note: >Audit-Trail: >Unformatted: