Source-Changes archive

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

CVS commit: [netbsd-8] src



Module Name:    src
Committed By:   martin
Date:           Tue Jan 16 13:01:11 UTC 2018

Modified Files:
        src/distrib/sets/lists/debug [netbsd-8]: mi
        src/distrib/sets/lists/tests [netbsd-8]: mi
        src/share/man/man9 [netbsd-8]: workqueue.9
        src/sys/kern [netbsd-8]: subr_workqueue.c
        src/sys/net [netbsd-8]: if_bridge.c if_spppsubr.c
        src/sys/sys [netbsd-8]: workqueue.h
        src/tests/rump/kernspace [netbsd-8]: Makefile kernspace.h
        src/tests/rump/rumpkern [netbsd-8]: Makefile
Added Files:
        src/tests/rump/kernspace [netbsd-8]: workqueue.c
        src/tests/rump/rumpkern [netbsd-8]: t_workqueue.c

Log Message:
Pull up following revision(s) (requested by ozaki-r in ticket #497):
        tests/rump/rumpkern/Makefile: revision 1.16
        tests/rump/kernspace/Makefile: revision 1.6
        tests/rump/kernspace/workqueue.c: revision 1.1
        tests/rump/kernspace/workqueue.c: revision 1.2
        tests/rump/kernspace/workqueue.c: revision 1.3
        tests/rump/kernspace/workqueue.c: revision 1.4
        tests/rump/kernspace/workqueue.c: revision 1.5
        tests/rump/kernspace/workqueue.c: revision 1.6
        tests/rump/rumpkern/t_workqueue.c: revision 1.1
        sys/sys/workqueue.h: revision 1.10
        tests/rump/rumpkern/t_workqueue.c: revision 1.2
        tests/rump/kernspace/kernspace.h: revision 1.5
        tests/rump/kernspace/kernspace.h: revision 1.6
        sys/net/if_bridge.c: revision 1.147
        distrib/sets/lists/debug/mi: revision 1.225
        sys/kern/subr_workqueue.c: revision 1.34
        share/man/man9/workqueue.9: revision 1.12
        sys/net/if_spppsubr.c: revision 1.178
        distrib/sets/lists/tests/mi: revision 1.763
Add simple test for workqueue(9)
Add declaration. build fix
sorry, I forgot to commit this file.
Tweak use of cv_timedwait
- Handle its return value
- Specify more appropriate time-out periods (2 ticks is too short)
Fix a race condition on taking the mutex
The workqueue worker can take the mutex before the tester tries to take it after
calling workqueue_enqueue. If it happens, the worker calls cv_broadcast before
the tester calls cv_timedwait and the tester will wait until the cv timed out
Take the mutex before calling workqueue_enqueue so that the tester surely calls
cv_timedwait before the worker calls cv_broadcast.
The fix stabilizes the test, t_workqueue/workqueue1.
Add workqueue_wait that waits for a specific work to finish
The caller must ensure that no new work is enqueued before calling
workqueue_wait. Note that Note that if the workqueue is WQ_PERCPU, the caller
can enqueue a new work to another queue other than the waiting queue.
Discussed on tech-kern@
Ensure the timer isn't running by using workqueue_wait
Functionalize some routines to add new tests easily (NFC)
Add a test case for workqueue_wait
Fix build


To generate a diff of this commit:
cvs rdiff -u -r1.216.2.7 -r1.216.2.8 src/distrib/sets/lists/debug/mi
cvs rdiff -u -r1.752.2.7 -r1.752.2.8 src/distrib/sets/lists/tests/mi
cvs rdiff -u -r1.11 -r1.11.8.1 src/share/man/man9/workqueue.9
cvs rdiff -u -r1.33 -r1.33.30.1 src/sys/kern/subr_workqueue.c
cvs rdiff -u -r1.134.6.5 -r1.134.6.6 src/sys/net/if_bridge.c
cvs rdiff -u -r1.169.6.3 -r1.169.6.4 src/sys/net/if_spppsubr.c
cvs rdiff -u -r1.9 -r1.9.100.1 src/sys/sys/workqueue.h
cvs rdiff -u -r1.5 -r1.5.38.1 src/tests/rump/kernspace/Makefile
cvs rdiff -u -r1.4 -r1.4.38.1 src/tests/rump/kernspace/kernspace.h
cvs rdiff -u -r0 -r1.6.2.2 src/tests/rump/kernspace/workqueue.c
cvs rdiff -u -r1.15 -r1.15.16.1 src/tests/rump/rumpkern/Makefile
cvs rdiff -u -r0 -r1.2.2.2 src/tests/rump/rumpkern/t_workqueue.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.




Home | Main Index | Thread Index | Old Index