cvs commit: src/sys/compat/ndis kern_ndis.c ntoskrnl_var.h
subr_hal.c subr_ndis.c subr_ntoskrnl.c
Bill Paul
wpaul at FreeBSD.org
Thu Apr 15 17:04:29 PDT 2004
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
More information about the cvs-src
mailing list