From owner-cvs-src@FreeBSD.ORG Thu Apr 15 17:04:29 2004 Return-Path: Delivered-To: cvs-src@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 4FD5216A4CE; Thu, 15 Apr 2004 17:04:29 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 4369643D41; Thu, 15 Apr 2004 17:04:29 -0700 (PDT) (envelope-from wpaul@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i3G04TGe050514; Thu, 15 Apr 2004 17:04:29 -0700 (PDT) (envelope-from wpaul@repoman.freebsd.org) Received: (from wpaul@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i3G04SnL050513; Thu, 15 Apr 2004 17:04:28 -0700 (PDT) (envelope-from wpaul) Message-Id: <200404160004.i3G04SnL050513@repoman.freebsd.org> From: Bill Paul Date: Thu, 15 Apr 2004 17:04:28 -0700 (PDT) To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org X-FreeBSD-CVS-Branch: HEAD Subject: cvs commit: src/sys/compat/ndis kern_ndis.c ntoskrnl_var.h subr_hal.c subr_ndis.c subr_ntoskrnl.c X-BeenThere: cvs-src@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: CVS commit messages for the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 16 Apr 2004 00:04:29 -0000 wpaul 2004/04/15 17:04:28 PDT FreeBSD src repository Modified files: sys/compat/ndis kern_ndis.c ntoskrnl_var.h subr_hal.c subr_ndis.c subr_ntoskrnl.c Log: - Use memory barrier with atomic operations in ntoskrnl_lock_dpc() and ntoskrnl_unlocl_dpc(). - hal_raise_irql(), hal_lower_irql() and hal_irql() didn't work right on SMP (priority inheritance makes things... interesting). For now, use only two states: DISPATCH_LEVEL (PI_REALTIME) and PASSIVE_LEVEL (everything else). Tested on a dual PIII box. - Use ndis_thsuspend() in ndis_sleep() instead of tsleep(). (I added ndis_thsuspend() and ndis_thresume() to replace kthread_suspend() and kthread_resume(); the former will preserve a thread's priority when it wakes up, the latter will not.) - Change use of tsleep() in ndis_stop_thread() to prevent priority change on wakeup. Revision Changes Path 1.52 +1 -1 src/sys/compat/ndis/kern_ndis.c 1.14 +2 -2 src/sys/compat/ndis/ntoskrnl_var.h 1.11 +13 -41 src/sys/compat/ndis/subr_hal.c 1.56 +1 -2 src/sys/compat/ndis/subr_ndis.c 1.35 +3 -9 src/sys/compat/ndis/subr_ntoskrnl.c