diff options
author | jhb <jhb@FreeBSD.org> | 2002-10-02 20:31:47 +0000 |
---|---|---|
committer | jhb <jhb@FreeBSD.org> | 2002-10-02 20:31:47 +0000 |
commit | 8c9a393a0433c7cc2ee90541164cdcb927fa5bdb (patch) | |
tree | 4e540e60eb5d2ee3fc581a4014df11fe04763455 /sys | |
parent | f4c70e659ffb00b8f69da48f3d5a0e5bb540f8cb (diff) | |
download | FreeBSD-src-8c9a393a0433c7cc2ee90541164cdcb927fa5bdb.zip FreeBSD-src-8c9a393a0433c7cc2ee90541164cdcb927fa5bdb.tar.gz |
Rename the mutex thread and process states to use a more generic 'LOCK'
name instead. (e.g., SLOCK instead of SMTX, TD_ON_LOCK() instead of
TD_ON_MUTEX()) Eventually a turnstile abstraction will be added that
will be shared with mutexes and other types of locks. SLOCK/TDI_LOCK will
be used internally by the turnstile code and will not be specific to
mutexes. Making the change now ensures that turnstiles can be dropped
in at a later date without affecting the ABI of userland applications.
Diffstat (limited to 'sys')
-rw-r--r-- | sys/ddb/db_ps.c | 6 | ||||
-rw-r--r-- | sys/kern/kern_mutex.c | 26 | ||||
-rw-r--r-- | sys/kern/kern_proc.c | 12 | ||||
-rw-r--r-- | sys/kern/kern_synch.c | 2 | ||||
-rw-r--r-- | sys/kern/subr_turnstile.c | 26 | ||||
-rw-r--r-- | sys/kern/tty.c | 6 | ||||
-rw-r--r-- | sys/sys/proc.h | 14 | ||||
-rw-r--r-- | sys/sys/user.h | 6 | ||||
-rw-r--r-- | sys/vm/vm_meter.c | 2 |
9 files changed, 50 insertions, 50 deletions
diff --git a/sys/ddb/db_ps.c b/sys/ddb/db_ps.c index cb9bfc9..26dc00b 100644 --- a/sys/ddb/db_ps.c +++ b/sys/ddb/db_ps.c @@ -138,9 +138,9 @@ db_ps(dummy1, dummy2, dummy3, dummy4) } switch (td->td_state) { case TDS_INHIBITED: - if (TD_ON_MUTEX(td)) { - db_printf("[MTX %6s %8p]", - td->td_mtxname, + if (TD_ON_LOCK(td)) { + db_printf("[LOCK %6s %8p]", + td->td_lockname, (void *)td->td_blocked); } if (TD_IS_SLEEPING(td)) { diff --git a/sys/kern/kern_mutex.c b/sys/kern/kern_mutex.c index 6becc78..e60d805 100644 --- a/sys/kern/kern_mutex.c +++ b/sys/kern/kern_mutex.c @@ -163,7 +163,7 @@ propagate_priority(struct thread *td) /* * If we aren't blocked on a mutex, we should be. */ - KASSERT(TD_ON_MUTEX(td), ( + KASSERT(TD_ON_LOCK(td), ( "process %d(%s):%d holds %s but isn't blocked on a mutex\n", td->td_proc->p_pid, td->td_proc->p_comm, td->td_state, m->mtx_object.lo_name)); @@ -182,7 +182,7 @@ propagate_priority(struct thread *td) continue; } - td1 = TAILQ_PREV(td, threadqueue, td_blkq); + td1 = TAILQ_PREV(td, threadqueue, td_lockq); if (td1->td_priority <= pri) { continue; } @@ -194,15 +194,15 @@ propagate_priority(struct thread *td) * thread in the chain has a lower priority and that * td1 will thus not be NULL after the loop. */ - TAILQ_REMOVE(&m->mtx_blocked, td, td_blkq); - TAILQ_FOREACH(td1, &m->mtx_blocked, td_blkq) { + TAILQ_REMOVE(&m->mtx_blocked, td, td_lockq); + TAILQ_FOREACH(td1, &m->mtx_blocked, td_lockq) { MPASS(td1->td_proc->p_magic == P_MAGIC); if (td1->td_priority > pri) break; } MPASS(td1 != NULL); - TAILQ_INSERT_BEFORE(td1, td, td_blkq); + TAILQ_INSERT_BEFORE(td1, td, td_lockq); CTR4(KTR_LOCK, "propagate_priority: p %p moved before %p on [%p] %s", td, td1, m, m->mtx_object.lo_name); @@ -591,15 +591,15 @@ _mtx_lock_sleep(struct mtx *m, int opts, const char *file, int line) if (TAILQ_EMPTY(&m->mtx_blocked)) { td1 = mtx_owner(m); LIST_INSERT_HEAD(&td1->td_contested, m, mtx_contested); - TAILQ_INSERT_TAIL(&m->mtx_blocked, td, td_blkq); + TAILQ_INSERT_TAIL(&m->mtx_blocked, td, td_lockq); } else { - TAILQ_FOREACH(td1, &m->mtx_blocked, td_blkq) + TAILQ_FOREACH(td1, &m->mtx_blocked, td_lockq) if (td1->td_priority > td->td_priority) break; if (td1) - TAILQ_INSERT_BEFORE(td1, td, td_blkq); + TAILQ_INSERT_BEFORE(td1, td, td_lockq); else - TAILQ_INSERT_TAIL(&m->mtx_blocked, td, td_blkq); + TAILQ_INSERT_TAIL(&m->mtx_blocked, td, td_lockq); } #ifdef KTR if (!cont_logged) { @@ -616,8 +616,8 @@ _mtx_lock_sleep(struct mtx *m, int opts, const char *file, int line) * Save who we're blocked on. */ td->td_blocked = m; - td->td_mtxname = m->mtx_object.lo_name; - TD_SET_MUTEX(td); + td->td_lockname = m->mtx_object.lo_name; + TD_SET_LOCK(td); propagate_priority(td); if (LOCK_LOG_TEST(&m->mtx_object, opts)) @@ -735,7 +735,7 @@ _mtx_unlock_sleep(struct mtx *m, int opts, const char *file, int line) MPASS(td->td_proc->p_magic == P_MAGIC); MPASS(td1->td_proc->p_magic == P_MAGIC); - TAILQ_REMOVE(&m->mtx_blocked, td1, td_blkq); + TAILQ_REMOVE(&m->mtx_blocked, td1, td_lockq); if (TAILQ_EMPTY(&m->mtx_blocked)) { LIST_REMOVE(m, mtx_contested); @@ -761,7 +761,7 @@ _mtx_unlock_sleep(struct mtx *m, int opts, const char *file, int line) m, td1); td1->td_blocked = NULL; - TD_CLR_MUTEX(td1); + TD_CLR_LOCK(td1); if (!TD_CAN_RUN(td1)) { mtx_unlock_spin(&sched_lock); return; diff --git a/sys/kern/kern_proc.c b/sys/kern/kern_proc.c index 81c5c7b..bd613c45 100644 --- a/sys/kern/kern_proc.c +++ b/sys/kern/kern_proc.c @@ -927,10 +927,10 @@ fill_kinfo_proc(p, kp) strncpy(kp->ki_wmesg, td->td_wmesg, sizeof(kp->ki_wmesg) - 1); } - if (TD_ON_MUTEX(td)) { - kp->ki_kiflag |= KI_MTXBLOCK; - strncpy(kp->ki_mtxname, td->td_mtxname, - sizeof(kp->ki_mtxname) - 1); + if (TD_ON_LOCK(td)) { + kp->ki_kiflag |= KI_LOCKBLOCK; + strncpy(kp->ki_lockname, td->td_lockname, + sizeof(kp->ki_lockname) - 1); } } @@ -943,8 +943,8 @@ fill_kinfo_proc(p, kp) kp->ki_stat = SSTOP; } else if (TD_IS_SLEEPING(td)) { kp->ki_stat = SSLEEP; - } else if (TD_ON_MUTEX(td)) { - kp->ki_stat = SMTX; + } else if (TD_ON_LOCK(td)) { + kp->ki_stat = SLOCK; } else { kp->ki_stat = SWAIT; } diff --git a/sys/kern/kern_synch.c b/sys/kern/kern_synch.c index d46ef12..83f3d28 100644 --- a/sys/kern/kern_synch.c +++ b/sys/kern/kern_synch.c @@ -759,7 +759,7 @@ mi_switch(void) KASSERT((ke->ke_state == KES_THREAD), ("mi_switch: kse state?")); KASSERT(!TD_ON_RUNQ(td), ("mi_switch: called by old code")); #ifdef INVARIANTS - if (!TD_ON_MUTEX(td) && + if (!TD_ON_LOCK(td) && !TD_ON_RUNQ(td) && !TD_IS_RUNNING(td)) mtx_assert(&Giant, MA_NOTOWNED); diff --git a/sys/kern/subr_turnstile.c b/sys/kern/subr_turnstile.c index 6becc78..e60d805 100644 --- a/sys/kern/subr_turnstile.c +++ b/sys/kern/subr_turnstile.c @@ -163,7 +163,7 @@ propagate_priority(struct thread *td) /* * If we aren't blocked on a mutex, we should be. */ - KASSERT(TD_ON_MUTEX(td), ( + KASSERT(TD_ON_LOCK(td), ( "process %d(%s):%d holds %s but isn't blocked on a mutex\n", td->td_proc->p_pid, td->td_proc->p_comm, td->td_state, m->mtx_object.lo_name)); @@ -182,7 +182,7 @@ propagate_priority(struct thread *td) continue; } - td1 = TAILQ_PREV(td, threadqueue, td_blkq); + td1 = TAILQ_PREV(td, threadqueue, td_lockq); if (td1->td_priority <= pri) { continue; } @@ -194,15 +194,15 @@ propagate_priority(struct thread *td) * thread in the chain has a lower priority and that * td1 will thus not be NULL after the loop. */ - TAILQ_REMOVE(&m->mtx_blocked, td, td_blkq); - TAILQ_FOREACH(td1, &m->mtx_blocked, td_blkq) { + TAILQ_REMOVE(&m->mtx_blocked, td, td_lockq); + TAILQ_FOREACH(td1, &m->mtx_blocked, td_lockq) { MPASS(td1->td_proc->p_magic == P_MAGIC); if (td1->td_priority > pri) break; } MPASS(td1 != NULL); - TAILQ_INSERT_BEFORE(td1, td, td_blkq); + TAILQ_INSERT_BEFORE(td1, td, td_lockq); CTR4(KTR_LOCK, "propagate_priority: p %p moved before %p on [%p] %s", td, td1, m, m->mtx_object.lo_name); @@ -591,15 +591,15 @@ _mtx_lock_sleep(struct mtx *m, int opts, const char *file, int line) if (TAILQ_EMPTY(&m->mtx_blocked)) { td1 = mtx_owner(m); LIST_INSERT_HEAD(&td1->td_contested, m, mtx_contested); - TAILQ_INSERT_TAIL(&m->mtx_blocked, td, td_blkq); + TAILQ_INSERT_TAIL(&m->mtx_blocked, td, td_lockq); } else { - TAILQ_FOREACH(td1, &m->mtx_blocked, td_blkq) + TAILQ_FOREACH(td1, &m->mtx_blocked, td_lockq) if (td1->td_priority > td->td_priority) break; if (td1) - TAILQ_INSERT_BEFORE(td1, td, td_blkq); + TAILQ_INSERT_BEFORE(td1, td, td_lockq); else - TAILQ_INSERT_TAIL(&m->mtx_blocked, td, td_blkq); + TAILQ_INSERT_TAIL(&m->mtx_blocked, td, td_lockq); } #ifdef KTR if (!cont_logged) { @@ -616,8 +616,8 @@ _mtx_lock_sleep(struct mtx *m, int opts, const char *file, int line) * Save who we're blocked on. */ td->td_blocked = m; - td->td_mtxname = m->mtx_object.lo_name; - TD_SET_MUTEX(td); + td->td_lockname = m->mtx_object.lo_name; + TD_SET_LOCK(td); propagate_priority(td); if (LOCK_LOG_TEST(&m->mtx_object, opts)) @@ -735,7 +735,7 @@ _mtx_unlock_sleep(struct mtx *m, int opts, const char *file, int line) MPASS(td->td_proc->p_magic == P_MAGIC); MPASS(td1->td_proc->p_magic == P_MAGIC); - TAILQ_REMOVE(&m->mtx_blocked, td1, td_blkq); + TAILQ_REMOVE(&m->mtx_blocked, td1, td_lockq); if (TAILQ_EMPTY(&m->mtx_blocked)) { LIST_REMOVE(m, mtx_contested); @@ -761,7 +761,7 @@ _mtx_unlock_sleep(struct mtx *m, int opts, const char *file, int line) m, td1); td1->td_blocked = NULL; - TD_CLR_MUTEX(td1); + TD_CLR_LOCK(td1); if (!TD_CAN_RUN(td1)) { mtx_unlock_spin(&sched_lock); return; diff --git a/sys/kern/tty.c b/sys/kern/tty.c index c075a47..717b123 100644 --- a/sys/kern/tty.c +++ b/sys/kern/tty.c @@ -2399,8 +2399,8 @@ ttyinfo(struct tty *tp) if (TD_ON_RUNQ(td) || (TD_IS_RUNNING(td))) { stmp = "running"; - } else if (TD_ON_MUTEX(td)) { - stmp = td->td_mtxname; + } else if (TD_ON_LOCK(td)) { + stmp = td->td_lockname; } else if (td->td_wmesg) { stmp = td->td_wmesg; } else { @@ -2425,7 +2425,7 @@ ttyinfo(struct tty *tp) ttyprintf(tp, " cmd: %s %d [%s%s] ", pick->p_comm, pick->p_pid, - TD_ON_MUTEX(td) ? "*" : "", + TD_ON_LOCK(td) ? "*" : "", stmp); /* Print user time. */ diff --git a/sys/sys/proc.h b/sys/sys/proc.h index 9f4bf95..41a775f 100644 --- a/sys/sys/proc.h +++ b/sys/sys/proc.h @@ -259,7 +259,7 @@ struct thread { /* The two queues below should someday be merged */ TAILQ_ENTRY(thread) td_slpq; /* (j) Sleep queue. XXXKSE */ - TAILQ_ENTRY(thread) td_blkq; /* (j) Mutex queue. XXXKSE */ + TAILQ_ENTRY(thread) td_lockq; /* (j) Lock queue. XXXKSE */ TAILQ_ENTRY(thread) td_runq; /* (j) Run queue(s). XXXKSE */ TAILQ_HEAD(, selinfo) td_selq; /* (p) List of selinfos. */ @@ -279,7 +279,7 @@ struct thread { short td_locks; /* (k) DEBUG: lockmgr count of locks */ struct mtx *td_blocked; /* (j) Mutex process is blocked on. */ struct ithd *td_ithd; /* (b) For interrupt threads only. */ - const char *td_mtxname; /* (j) Name of mutex blocked on. */ + const char *td_lockname; /* (j) Name of lock blocked on. */ LIST_HEAD(, mtx) td_contested; /* (j) Contested locks. */ struct lock_list_entry *td_sleeplocks; /* (k) Held sleep locks. */ int td_intr_nesting_level; /* (k) Interrupt recursion. */ @@ -335,7 +335,7 @@ struct thread { #define TDI_SUSPENDED 0x01 /* On suspension queue. */ #define TDI_SLEEPING 0x02 /* Actually asleep! (tricky). */ #define TDI_SWAPPED 0x04 /* Stack not in mem.. bad juju if run. */ -#define TDI_MUTEX 0x08 /* Stopped on a mutex. */ +#define TDI_LOCK 0x08 /* Stopped on a lock. */ #define TDI_IWAIT 0x10 /* Awaiting interrupt. */ #define TDI_LOAN 0x20 /* bound thread's KSE is lent */ @@ -343,7 +343,7 @@ struct thread { #define TD_ON_SLEEPQ(td) ((td)->td_wchan != NULL) #define TD_IS_SUSPENDED(td) ((td)->td_inhibitors & TDI_SUSPENDED) #define TD_IS_SWAPPED(td) ((td)->td_inhibitors & TDI_SWAPPED) -#define TD_ON_MUTEX(td) ((td)->td_inhibitors & TDI_MUTEX) +#define TD_ON_LOCK(td) ((td)->td_inhibitors & TDI_LOCK) #define TD_AWAITING_INTR(td) ((td)->td_inhibitors & TDI_IWAIT) #define TD_IS_RUNNING(td) ((td)->td_state == TDS_RUNNING) #define TD_ON_RUNQ(td) ((td)->td_state == TDS_RUNQ) @@ -363,14 +363,14 @@ struct thread { #define TD_SET_SLEEPING(td) TD_SET_INHIB((td), TDI_SLEEPING) #define TD_SET_SWAPPED(td) TD_SET_INHIB((td), TDI_SWAPPED) -#define TD_SET_MUTEX(td) TD_SET_INHIB((td), TDI_MUTEX) +#define TD_SET_LOCK(td) TD_SET_INHIB((td), TDI_LOCK) #define TD_SET_SUSPENDED(td) TD_SET_INHIB((td), TDI_SUSPENDED) #define TD_SET_IWAIT(td) TD_SET_INHIB((td), TDI_IWAIT) #define TD_SET_LOAN(td) TD_SET_INHIB((td), TDI_LOAN) #define TD_CLR_SLEEPING(td) TD_CLR_INHIB((td), TDI_SLEEPING) #define TD_CLR_SWAPPED(td) TD_CLR_INHIB((td), TDI_SWAPPED) -#define TD_CLR_MUTEX(td) TD_CLR_INHIB((td), TDI_MUTEX) +#define TD_CLR_LOCK(td) TD_CLR_INHIB((td), TDI_LOCK) #define TD_CLR_SUSPENDED(td) TD_CLR_INHIB((td), TDI_SUSPENDED) #define TD_CLR_IWAIT(td) TD_CLR_INHIB((td), TDI_IWAIT) #define TD_CLR_LOAN(td) TD_CLR_INHIB((td), TDI_LOAN) @@ -650,7 +650,7 @@ struct proc { #define SSTOP 4 /* Process debugging or suspension. */ #define SZOMB 5 /* Awaiting collection by parent. */ #define SWAIT 6 /* Waiting for interrupt. */ -#define SMTX 7 /* Blocked on a mutex. */ +#define SLOCK 7 /* Blocked on a lock. */ #define P_MAGIC 0xbeefface diff --git a/sys/sys/user.h b/sys/sys/user.h index dfcb7ea..00eb901 100644 --- a/sys/sys/user.h +++ b/sys/sys/user.h @@ -87,7 +87,7 @@ #error "Unknown architecture" #endif #define WMESGLEN 8 /* size of returned wchan message */ -#define MTXNAMELEN 8 /* size of returned mutex name */ +#define LOCKNAMELEN 8 /* size of returned lock name */ #define OCOMMLEN 16 /* size of returned ki_ocomm name */ #define COMMLEN 19 /* size of returned ki_comm name */ #define KI_NGROUPS 16 /* number of groups in ki_groups */ @@ -150,7 +150,7 @@ struct kinfo_proc { char ki_ocomm[OCOMMLEN+1]; /* command name */ char ki_wmesg[WMESGLEN+1]; /* wchan message */ char ki_login[LOGNAMELEN+1]; /* setlogin name */ - char ki_mtxname[MTXNAMELEN+1]; /* mutex name */ + char ki_lockname[LOCKNAMELEN+1]; /* lock name */ char ki_comm[COMMLEN+1]; /* command name */ char ki_sparestrings[85]; /* spare string space */ struct rusage ki_rusage; /* process rusage statistics */ @@ -166,7 +166,7 @@ void fill_kinfo_proc(struct proc *, struct kinfo_proc *); /* ki_sessflag values */ #define KI_CTTY 0x00000001 /* controlling tty vnode active */ #define KI_SLEADER 0x00000002 /* session leader */ -#define KI_MTXBLOCK 0x00000004 /* proc blocked on mutex ki_mtxname */ +#define KI_LOCKBLOCK 0x00000004 /* proc blocked on lock ki_lockname */ /* * Per process structure containing data that isn't needed in core diff --git a/sys/vm/vm_meter.c b/sys/vm/vm_meter.c index 78a5348..178f5a9 100644 --- a/sys/vm/vm_meter.c +++ b/sys/vm/vm_meter.c @@ -118,7 +118,7 @@ vmtotal(SYSCTL_HANDLER_ARGS) /* Need new statistics XXX */ switch (td->td_state) { case TDS_INHIBITED: - if (TD_ON_MUTEX(td) || + if (TD_ON_LOCK(td) || (td->td_inhibitors == TDI_SWAPPED)) { totalp->t_sw++; |