PERFORCE change 110482 for review
Oleksandr Tymoshenko
gonzo at FreeBSD.org
Fri Nov 24 14:52:27 UTC 2006
http://perforce.freebsd.org/chv.cgi?CH=110482
Change 110482 by gonzo at gonzo_hq on 2006/11/24 14:51:19
o Add mutex to pmap struct
o Add macroses to handle pmap locking
Affected files ...
.. //depot/projects/mips2/src/sys/mips/include/pmap.h#7 edit
Differences ...
==== //depot/projects/mips2/src/sys/mips/include/pmap.h#7 (text+ko) ====
@@ -111,6 +111,10 @@
#ifndef LOCORE
+#include <sys/queue.h>
+#include <sys/_lock.h>
+#include <sys/_mutex.h>
+
struct pv_entry;
/*
@@ -144,6 +148,7 @@
extern struct segtab *segbase; /* current segtab base */
typedef struct pmap {
+ struct mtx pm_mtx;
struct pmap_statistics pm_stats;
int pm_asid;
int pm_asidgen;
@@ -160,6 +165,21 @@
LIST_ENTRY(pmap) pm_list; /* list of all pmaps. */
} *pmap_t;
+#ifdef _KERNEL
+#define pmap_kernel() kernel_pmap
+
+#define PMAP_ASSERT_LOCKED(pmap) \
+ mtx_assert(&(pmap)->pm_mtx, MA_OWNED)
+#define PMAP_LOCK(pmap) mtx_lock(&(pmap)->pm_mtx)
+#define PMAP_LOCK_DESTROY(pmap) mtx_destroy(&(pmap)->pm_mtx)
+#define PMAP_LOCK_INIT(pmap) mtx_init(&(pmap)->pm_mtx, "pmap", \
+ NULL, MTX_DEF | MTX_DUPOK)
+#define PMAP_OWNED(pmap) mtx_owned(&(pmap)->pm_mtx)
+#define PMAP_MTX(pmap) (&(pmap)->pm_mtx)
+#define PMAP_TRYLOCK(pmap) mtx_trylock(&(pmap)->pm_mtx)
+#define PMAP_UNLOCK(pmap) mtx_unlock(&(pmap)->pm_mtx)
+#endif
+
struct md_page {
int pv_list_count;
TAILQ_HEAD(,pv_entry) pv_list;
More information about the p4-projects
mailing list