NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

re: port-mips/52892: Tests hang on MIPS



On Apr 23,  2:57am, mrg%eterna.com.au@localhost (matthew green) wrote:
-- Subject: re: port-mips/52892: Tests hang on MIPS

| >  Index: kern_condvar.c
| >  ===================================================================
| >  RCS file: /cvsroot/src/sys/kern/kern_condvar.c,v
| >  retrieving revision 1.41
| >  diff -u -r1.41 kern_condvar.c
| >  --- kern_condvar.c	30 Jan 2018 07:52:22 -0000	1.41
| >  +++ kern_condvar.c	22 Apr 2018 16:12:19 -0000
| >  @@ -268,9 +268,10 @@
| >   
| >   	KASSERT(mutex_owned(mtx));
| >   
| >  -	cv_enter(cv, mtx, l);
| >  +	CV_LOCKDEBUG_HANDOFF(l, cv);
| >   	error = sleepq_block(0, true);
| >  -	return cv_exit(cv, mtx, l, error);
| >  +	mutex_enter(mtx);
| >  +	return error;
| >   }
| 
| this can't be right.  you've removed cv_enter() entirely,
| and the cv_exit() only means we don't potentially cv_signal()
| something.  perhaps this is proc_lock being held issue, ie,
| is that the only place it could hang here?

Then cv_wait() is wrong too, because it is the same code; except sleepq_block
is called with false.

christos


Home | Main Index | Thread Index | Old Index