Date: Thu, 15 Apr 2004 17:04:28 -0700 (PDT) From: Bill Paul <wpaul@FreeBSD.org> To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/sys/compat/ndis kern_ndis.c ntoskrnl_var.h subr_hal.c subr_ndis.c subr_ntoskrnl.c Message-ID: <200404160004.i3G04SnL050513@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200404160004.i3G04SnL050513>
