Module Name: src
Committed By: riastradh
Date: Tue Jul 22 02:38:31 UTC 2014
Modified Files:
src/sys/external/bsd/drm2/include/linux: ww_mutex.h
Log Message:
Make Linux ww_mutex use a spin lock inside, not an adaptive lock.
To generate a diff of this commit:
cvs rdiff -u -r1.1 -r1.2 src/sys/external/bsd/drm2/include/linux/ww_mutex.h
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/external/bsd/drm2/include/linux/ww_mutex.h
diff -u src/sys/external/bsd/drm2/include/linux/ww_mutex.h:1.1 src/sys/external/bsd/drm2/include/linux/ww_mutex.h:1.2
--- src/sys/external/bsd/drm2/include/linux/ww_mutex.h:1.1 Wed Jul 16 20:59:58 2014
+++ src/sys/external/bsd/drm2/include/linux/ww_mutex.h Tue Jul 22 02:38:31 2014
@@ -1,4 +1,4 @@
-/* $NetBSD: ww_mutex.h,v 1.1 2014/07/16 20:59:58 riastradh Exp $ */
+/* $NetBSD: ww_mutex.h,v 1.2 2014/07/22 02:38:31 riastradh Exp $ */
/*-
* Copyright (c) 2014 The NetBSD Foundation, Inc.
@@ -144,7 +144,11 @@ static inline void
ww_mutex_init(struct ww_mutex *mutex, struct ww_class *class)
{
- mutex_init(&mutex->wwm_lock, MUTEX_DEFAULT, IPL_NONE);
+ /*
+ * XXX Apparently Linux takes these with spin locks held. That
+ * strikes me as a bad idea, but so it is...
+ */
+ mutex_init(&mutex->wwm_lock, MUTEX_DEFAULT, IPL_VM);
mutex->wwm_state = WW_UNLOCKED;
mutex->wwm_class = class;
rb_tree_init(&mutex->wwm_waiters, &ww_acquire_ctx_rb_ops);