Author: hiren
Date: Sun May 12 22:01:22 2013
New Revision: 250581
URL: http://svnweb.freebsd.org/changeset/base/250581

Log:
  MFC: r240475
  
  Remove all the checks on curthread != NULL with the exception of some MD
  trap checks (eg. printtrap()).
  
  Generally this check is not needed anymore, as there is not a legitimate
  case where curthread != NULL, after pcpu 0 area has been properly
  initialized.
  
  Reviewed by:  attilio
  Approved by:  sbruno (mentor)

Modified:
  stable/9/sys/dev/hwpmc/hwpmc_arm.c
  stable/9/sys/dev/hwpmc/hwpmc_x86.c
  stable/9/sys/kern/kern_condvar.c
  stable/9/sys/kern/kern_mutex.c
  stable/9/sys/kern/kern_rwlock.c
  stable/9/sys/kern/kern_sx.c
  stable/9/sys/kern/kern_thread.c
  stable/9/sys/kern/vfs_subr.c
Directory Properties:
  stable/9/sys/   (props changed)
  stable/9/sys/dev/   (props changed)

Modified: stable/9/sys/dev/hwpmc/hwpmc_arm.c
==============================================================================
--- stable/9/sys/dev/hwpmc/hwpmc_arm.c  Sun May 12 21:48:08 2013        
(r250580)
+++ stable/9/sys/dev/hwpmc/hwpmc_arm.c  Sun May 12 22:01:22 2013        
(r250581)
@@ -75,12 +75,10 @@ pmc_save_kernel_callchain(uintptr_t *cc,
        KASSERT(TRAPF_USERMODE(tf) == 0,("[arm,%d] not a kernel backtrace",
            __LINE__));
 
+       td = curthread;
        pc = PMC_TRAPFRAME_TO_PC(tf);
        *cc++ = pc;
 
-       if ((td = curthread) == NULL)
-               return (1);
-
        if (maxsamples <= 1)
                return (1);
 
@@ -126,12 +124,10 @@ pmc_save_user_callchain(uintptr_t *cc, i
        KASSERT(TRAPF_USERMODE(tf), ("[x86,%d] Not a user trap frame tf=%p",
            __LINE__, (void *) tf));
 
+       td = curthread;
        pc = PMC_TRAPFRAME_TO_PC(tf);
        *cc++ = pc;
 
-       if ((td = curthread) == NULL)
-               return (1);
-
        if (maxsamples <= 1)
                return (1);
 

Modified: stable/9/sys/dev/hwpmc/hwpmc_x86.c
==============================================================================
--- stable/9/sys/dev/hwpmc/hwpmc_x86.c  Sun May 12 21:48:08 2013        
(r250580)
+++ stable/9/sys/dev/hwpmc/hwpmc_x86.c  Sun May 12 22:01:22 2013        
(r250581)
@@ -161,6 +161,7 @@ pmc_save_kernel_callchain(uintptr_t *cc,
        KASSERT(TRAPF_USERMODE(tf) == 0,("[x86,%d] not a kernel backtrace",
            __LINE__));
 
+       td = curthread;
        pc = PMC_TRAPFRAME_TO_PC(tf);
        fp = PMC_TRAPFRAME_TO_FP(tf);
        sp = PMC_TRAPFRAME_TO_KERNEL_SP(tf);
@@ -168,9 +169,6 @@ pmc_save_kernel_callchain(uintptr_t *cc,
        *cc++ = pc;
        r = fp + sizeof(uintptr_t); /* points to return address */
 
-       if ((td = curthread) == NULL)
-               return (1);
-
        if (nframes <= 1)
                return (1);
 

Modified: stable/9/sys/kern/kern_condvar.c
==============================================================================
--- stable/9/sys/kern/kern_condvar.c    Sun May 12 21:48:08 2013        
(r250580)
+++ stable/9/sys/kern/kern_condvar.c    Sun May 12 22:01:22 2013        
(r250581)
@@ -50,7 +50,7 @@ __FBSDID("$FreeBSD$");
  * Common sanity checks for cv_wait* functions.
  */
 #define        CV_ASSERT(cvp, lock, td) do {                                   
\
-       KASSERT((td) != NULL, ("%s: curthread NULL", __func__));        \
+       KASSERT((td) != NULL, ("%s: td NULL", __func__));               \
        KASSERT(TD_IS_RUNNING(td), ("%s: not TDS_RUNNING", __func__));  \
        KASSERT((cvp) != NULL, ("%s: cvp NULL", __func__));             \
        KASSERT((lock) != NULL, ("%s: lock NULL", __func__));           \

Modified: stable/9/sys/kern/kern_mutex.c
==============================================================================
--- stable/9/sys/kern/kern_mutex.c      Sun May 12 21:48:08 2013        
(r250580)
+++ stable/9/sys/kern/kern_mutex.c      Sun May 12 22:01:22 2013        
(r250581)
@@ -199,7 +199,6 @@ _mtx_lock_flags(struct mtx *m, int opts,
 
        if (SCHEDULER_STOPPED())
                return;
-       MPASS(curthread != NULL);
        KASSERT(m->mtx_lock != MTX_DESTROYED,
            ("mtx_lock() of destroyed mutex @ %s:%d", file, line));
        KASSERT(LOCK_CLASS(&m->lock_object) == &lock_class_mtx_sleep,
@@ -221,7 +220,6 @@ _mtx_unlock_flags(struct mtx *m, int opt
 
        if (SCHEDULER_STOPPED())
                return;
-       MPASS(curthread != NULL);
        KASSERT(m->mtx_lock != MTX_DESTROYED,
            ("mtx_unlock() of destroyed mutex @ %s:%d", file, line));
        KASSERT(LOCK_CLASS(&m->lock_object) == &lock_class_mtx_sleep,
@@ -244,7 +242,6 @@ _mtx_lock_spin_flags(struct mtx *m, int 
 
        if (SCHEDULER_STOPPED())
                return;
-       MPASS(curthread != NULL);
        KASSERT(m->mtx_lock != MTX_DESTROYED,
            ("mtx_lock_spin() of destroyed mutex @ %s:%d", file, line));
        KASSERT(LOCK_CLASS(&m->lock_object) == &lock_class_mtx_spin,
@@ -268,7 +265,6 @@ _mtx_unlock_spin_flags(struct mtx *m, in
 
        if (SCHEDULER_STOPPED())
                return;
-       MPASS(curthread != NULL);
        KASSERT(m->mtx_lock != MTX_DESTROYED,
            ("mtx_unlock_spin() of destroyed mutex @ %s:%d", file, line));
        KASSERT(LOCK_CLASS(&m->lock_object) == &lock_class_mtx_spin,
@@ -299,7 +295,6 @@ _mtx_trylock(struct mtx *m, int opts, co
        if (SCHEDULER_STOPPED())
                return (1);
 
-       MPASS(curthread != NULL);
        KASSERT(m->mtx_lock != MTX_DESTROYED,
            ("mtx_trylock() of destroyed mutex @ %s:%d", file, line));
        KASSERT(LOCK_CLASS(&m->lock_object) == &lock_class_mtx_sleep,

Modified: stable/9/sys/kern/kern_rwlock.c
==============================================================================
--- stable/9/sys/kern/kern_rwlock.c     Sun May 12 21:48:08 2013        
(r250580)
+++ stable/9/sys/kern/kern_rwlock.c     Sun May 12 22:01:22 2013        
(r250581)
@@ -237,7 +237,6 @@ _rw_wlock(struct rwlock *rw, const char 
 
        if (SCHEDULER_STOPPED())
                return;
-       MPASS(curthread != NULL);
        KASSERT(rw->rw_lock != RW_DESTROYED,
            ("rw_wlock() of destroyed rwlock @ %s:%d", file, line));
        WITNESS_CHECKORDER(&rw->lock_object, LOP_NEWORDER | LOP_EXCLUSIVE, file,
@@ -282,7 +281,6 @@ _rw_wunlock(struct rwlock *rw, const cha
 
        if (SCHEDULER_STOPPED())
                return;
-       MPASS(curthread != NULL);
        KASSERT(rw->rw_lock != RW_DESTROYED,
            ("rw_wunlock() of destroyed rwlock @ %s:%d", file, line));
        _rw_assert(rw, RA_WLOCKED, file, line);

Modified: stable/9/sys/kern/kern_sx.c
==============================================================================
--- stable/9/sys/kern/kern_sx.c Sun May 12 21:48:08 2013        (r250580)
+++ stable/9/sys/kern/kern_sx.c Sun May 12 22:01:22 2013        (r250581)
@@ -246,7 +246,6 @@ _sx_slock(struct sx *sx, int opts, const
 
        if (SCHEDULER_STOPPED())
                return (0);
-       MPASS(curthread != NULL);
        KASSERT(sx->sx_lock != SX_LOCK_DESTROYED,
            ("sx_slock() of destroyed sx @ %s:%d", file, line));
        WITNESS_CHECKORDER(&sx->lock_object, LOP_NEWORDER, file, line, NULL);
@@ -293,7 +292,6 @@ _sx_xlock(struct sx *sx, int opts, const
 
        if (SCHEDULER_STOPPED())
                return (0);
-       MPASS(curthread != NULL);
        KASSERT(sx->sx_lock != SX_LOCK_DESTROYED,
            ("sx_xlock() of destroyed sx @ %s:%d", file, line));
        WITNESS_CHECKORDER(&sx->lock_object, LOP_NEWORDER | LOP_EXCLUSIVE, file,
@@ -317,7 +315,6 @@ _sx_try_xlock(struct sx *sx, const char 
        if (SCHEDULER_STOPPED())
                return (1);
 
-       MPASS(curthread != NULL);
        KASSERT(sx->sx_lock != SX_LOCK_DESTROYED,
            ("sx_try_xlock() of destroyed sx @ %s:%d", file, line));
 
@@ -345,7 +342,6 @@ _sx_sunlock(struct sx *sx, const char *f
 
        if (SCHEDULER_STOPPED())
                return;
-       MPASS(curthread != NULL);
        KASSERT(sx->sx_lock != SX_LOCK_DESTROYED,
            ("sx_sunlock() of destroyed sx @ %s:%d", file, line));
        _sx_assert(sx, SA_SLOCKED, file, line);
@@ -362,7 +358,6 @@ _sx_xunlock(struct sx *sx, const char *f
 
        if (SCHEDULER_STOPPED())
                return;
-       MPASS(curthread != NULL);
        KASSERT(sx->sx_lock != SX_LOCK_DESTROYED,
            ("sx_xunlock() of destroyed sx @ %s:%d", file, line));
        _sx_assert(sx, SA_XLOCKED, file, line);

Modified: stable/9/sys/kern/kern_thread.c
==============================================================================
--- stable/9/sys/kern/kern_thread.c     Sun May 12 21:48:08 2013        
(r250580)
+++ stable/9/sys/kern/kern_thread.c     Sun May 12 22:01:22 2013        
(r250581)
@@ -623,7 +623,6 @@ thread_single(int mode)
        p = td->td_proc;
        mtx_assert(&Giant, MA_NOTOWNED);
        PROC_LOCK_ASSERT(p, MA_OWNED);
-       KASSERT((td != NULL), ("curthread is NULL"));
 
        if ((p->p_flag & P_HADTHREADS) == 0)
                return (0);

Modified: stable/9/sys/kern/vfs_subr.c
==============================================================================
--- stable/9/sys/kern/vfs_subr.c        Sun May 12 21:48:08 2013        
(r250580)
+++ stable/9/sys/kern/vfs_subr.c        Sun May 12 22:01:22 2013        
(r250581)
@@ -3494,7 +3494,6 @@ vfs_unmountall(void)
        struct thread *td;
        int error;
 
-       KASSERT(curthread != NULL, ("vfs_unmountall: NULL curthread"));
        CTR1(KTR_VFS, "%s: unmounting all filesystems", __func__);
        td = curthread;
 
_______________________________________________
svn-src-stable-9@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-stable-9
To unsubscribe, send any mail to "svn-src-stable-9-unsubscr...@freebsd.org"

Reply via email to