Hi, I read a bit about the FreeBSD mutex implementation for spinlock. I might be wrong, but I noticed a code section that might be problematic:
Taken from http://svn.freebsd.org/base/release/9.1.0/sys/ofed/include/linux/spinlock.h: static inline void spin_lock_init(spinlock_t *lock) { memset(&lock->m, 0, sizeof(lock->m)); mtx_init(&lock->m, "lnxspin", NULL, MTX_DEF | MTX_NOWITNESS); } But MTX_DEF initializes mutex as a sleep mutex: By default, MTX_DEF mutexes will context switch when they are already held. There is a flag MTX_SPIN Which I think is the right one in this case . I'd appreciate your take on this issue. Thanks, Orit Moskovich _______________________________________________ freebsd-questions@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-questions To unsubscribe, send any mail to "freebsd-questions-unsubscr...@freebsd.org"