| History log of /src/tests/rump/rumpkern/Makefile |
| Revision | | Date | Author | Comments |
| 1.20 |
| 09-Aug-2023 |
riastradh | tests/rump/rumpkern: Use PROGDPLIBS, not explicit -L/-l.
This way we relink the t_* test programs whenever changes under tests/rump/kernspace change libkernspace.a.
|
| 1.19 |
| 01-Mar-2020 |
christos | branches: 1.19.8; Centralize the base rump libraries into a variable used by all the other Makefiles so that we can make changes to it centrally as needed and have less mess. Fixes the sun2 build that needs rumpvfs after librump after the latest changes.
|
| 1.18 |
| 26-Dec-2018 |
thorpej | branches: 1.18.2; Add -lrump after -lkernspace, because kernspace.a references symbols from librump and hooray for static linking semantics.
Fixes sun2 build issue reported by kre@.
(XXX WTF did this only start failing after the addition of t_threadpool?)
|
| 1.17 |
| 24-Dec-2018 |
thorpej | Add rump-based test cases for threadpool(9).
|
| 1.16 |
| 29-Sep-2017 |
maya | branches: 1.16.2; 1.16.4; Add simple test for workqueue(9)
|
| 1.15 |
| 10-Jun-2014 |
he | branches: 1.15.16; Fix static linking for the tests: -lrump is also used by -lrumpuser, so we also need -lrump after -lrumpuser. Fixes build for sun2.
|
| 1.14 |
| 14-Jan-2011 |
pooka | branches: 1.14.12; 1.14.22; test remove signal delivery
|
| 1.13 |
| 14-Jan-2011 |
pooka | elementary tests for rump sigmodels
|
| 1.12 |
| 06-Jan-2011 |
pooka | Add some tests for lock errors. Notably, some of them fare nicely with just the pthread consistency checks (which are enabled by default in rumpuser), but others require real LOCKDEBUG.
|
| 1.11 |
| 13-Dec-2010 |
pooka | Retire h_simpleserver and use rump_server instead.
|
| 1.10 |
| 30-Nov-2010 |
pooka | Add a simple and stress test cases for the rump remote syscall code. Fun fact: since the server daemonizes into its own process group, it's not in atf's pgrp. Use rump_sys_reboot() in atf cleanup to kill the server after the test.
|
| 1.9 |
| 09-Nov-2010 |
pooka | Test copystr/copyinstr/copyoutstr focusing on the off-by-one cases.
As a notable caveat, this does not test the remote RPC paths of those routines, which are arguably a little more complex.
|
| 1.8 |
| 01-Sep-2010 |
pooka | tests for rump_lwproc
|
| 1.7 |
| 31-May-2010 |
pooka | add tests for: * threading * tsleep variants * uvm page busying and wanting
|
| 1.6 |
| 25-Jan-2010 |
pooka | msdosfs depends on disk devices now
|
| 1.5 |
| 28-Nov-2009 |
he | It seems that LDADD.file gets added to the linker invocation after the LDADD variable expansion. To support static linking, ensure that the common libraries gets tacked on at the end as well (order matters for static linking), by using a convenience variable and add it to the end of LDADD.t_modlinkset, as well as when doing the general LDADD+= setting.
|
| 1.4 |
| 06-Nov-2009 |
pooka | WARNS=4
|
| 1.3 |
| 24-Sep-2009 |
pooka | Add regression test to verify that linksets work correctly with rump.
|
| 1.2 |
| 09-Jun-2009 |
he | Apparently, there's not a clear dependency ordering for the libraries, this becomes apparent when linking statically (e.g. as for sun2). Add an extra instance of -lrump to the library list so that it can be linked statically as well.
|
| 1.1 |
| 02-May-2009 |
pooka | branches: 1.1.2; add regression test for module init/fini in rump
|
| 1.1.2.2 |
| 13-May-2009 |
jym | Sync with HEAD.
Third (and last) commit. See http://mail-index.netbsd.org/source-changes/2009/05/13/msg221222.html
|
| 1.1.2.1 |
| 02-May-2009 |
jym | file Makefile was added on branch jym-xensuspend on 2009-05-13 19:19:34 +0000
|
| 1.14.22.1 |
| 10-Aug-2014 |
tls | Rebase.
|
| 1.14.12.1 |
| 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
| 1.15.16.1 |
| 16-Jan-2018 |
martin | 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
|
| 1.16.4.2 |
| 08-Apr-2020 |
martin | Merge changes from current as of 20200406
|
| 1.16.4.1 |
| 10-Jun-2019 |
christos | Sync with HEAD
|
| 1.16.2.2 |
| 01-Jan-2019 |
pgoyette | Bring in some fixes from HEAD to address a couple of build breaks (in i386 ipmi driver and sun2 rump tests). Also fix a 'resolve conflict' from previous commit in sparc64
With this, I am able to successfully build 66 out of 67 architectures (the same architectures as handled by the releng build server. The only exception is evbarm64 which has a strange build failure during the installcd step - the same failure occurs on HEAD. It seems to be something in the build itself, perhaps a difference between handling of -O vs -M (MAKEOBJDIR vs MAKEOBJDIRPREFIX).
|
| 1.16.2.1 |
| 26-Dec-2018 |
pgoyette | Sync with HEAD, resolve a few conflicts
|
| 1.18.2.1 |
| 18-Apr-2024 |
martin | Pull up following revision(s) (requested by riastradh in ticket #1830):
sys/kern/subr_workqueue.c: revision 1.40 sys/kern/subr_workqueue.c: revision 1.41 sys/kern/subr_workqueue.c: revision 1.42 sys/kern/subr_workqueue.c: revision 1.43 sys/kern/subr_workqueue.c: revision 1.44 sys/kern/subr_workqueue.c: revision 1.45 sys/kern/subr_workqueue.c: revision 1.46 tests/rump/kernspace/workqueue.c: revision 1.7 sys/kern/subr_workqueue.c: revision 1.47 tests/rump/kernspace/workqueue.c: revision 1.8 tests/rump/kernspace/workqueue.c: revision 1.9 tests/rump/rumpkern/t_workqueue.c: revision 1.3 tests/rump/rumpkern/t_workqueue.c: revision 1.4 tests/rump/kernspace/kernspace.h: revision 1.9 tests/rump/rumpkern/Makefile: revision 1.20 sys/kern/subr_workqueue.c: revision 1.39 share/man/man9/workqueue.9: revision 1.15 (all via patch)
workqueue: Lift unnecessary restriction on workqueue_wait.
Allow multiple concurrent waits at a time, and allow enqueueing work at the same time (as long as it's not the work we're waiting for).
This way multiple users can use a shared global workqueue and safely wait for individual work items concurrently, while the workqueue is still in use for other items (e.g., wg(4) peers).
This has the side effect of taking away a diagnostic measure, but I think allowing the diagnostic's false positives instead of rejecting them is worth it. We could cheaply add it back with some false negatives if it's important. workqueue(9): workqueue_wait and workqueue_destroy may sleep.
But might not, so assert sleepable up front. workqueue(9): Sprinkle dtrace probes. tests/rump/rumpkern: Use PROGDPLIBS, not explicit -L/-l.
This way we relink the t_* test programs whenever changes under tests/rump/kernspace change libkernspace.a.
workqueue(9) tests: Nix trailing whitespace.
workqueue(9) tests: Destroy struct work immediately on entry.
workqueue(9) tests: Add test for PR kern/57574.
workqueue(9): Avoid touching running work items in workqueue_wait.
As soon as the workqueue function has called, it is forbidden to touch the struct work passed to it -- the function might free or reuse the data structure it is embedded in.
So workqueue_wait is forbidden to search the queue for the batch of running work items. Instead, use a generation number which is odd while the thread is processing a batch of work and even when not. There's still a small optimization available with the struct work pointer to wait for: if we find the work item in one of the per-CPU _pending_ queues, then after we wait for a batch of work to complete on that CPU, we don't need to wait for work on any other CPUs. PR kern/57574
workqueue(9): Sprinkle dtrace probes for workqueue_wait edge cases.
Let's make it easy to find out whether these are hit.
workqueue(9): Stop violating queue(3) internals.
workqueue(9): Avoid unnecessary mutex_exit/enter cycle each loop.
workqueue(9): Sort includes. No functional change intended.
workqueue(9): Factor out wq->wq_flags & WQ_FPU in workqueue_worker. No functional change intended. Makes it clearer that s is initialized when used.
|
| 1.19.8.1 |
| 04-Sep-2023 |
martin | Pull up following revision(s) (requested by riastradh in ticket #342):
sys/kern/subr_workqueue.c: revision 1.42 sys/kern/subr_workqueue.c: revision 1.43 sys/kern/subr_workqueue.c: revision 1.44 sys/kern/subr_workqueue.c: revision 1.45 sys/kern/subr_workqueue.c: revision 1.46 tests/rump/kernspace/workqueue.c: revision 1.7 sys/kern/subr_workqueue.c: revision 1.47 tests/rump/kernspace/workqueue.c: revision 1.8 tests/rump/kernspace/workqueue.c: revision 1.9 tests/rump/rumpkern/t_workqueue.c: revision 1.3 tests/rump/rumpkern/t_workqueue.c: revision 1.4 tests/rump/kernspace/kernspace.h: revision 1.9 tests/rump/rumpkern/Makefile: revision 1.20
tests/rump/rumpkern: Use PROGDPLIBS, not explicit -L/-l.
This way we relink the t_* test programs whenever changes under tests/rump/kernspace change libkernspace.a.
workqueue(9) tests: Nix trailing whitespace.
workqueue(9) tests: Destroy struct work immediately on entry.
workqueue(9) tests: Add test for PR kern/57574.
workqueue(9): Avoid touching running work items in workqueue_wait.
As soon as the workqueue function has called, it is forbidden to touch the struct work passed to it -- the function might free or reuse the data structure it is embedded in.
So workqueue_wait is forbidden to search the queue for the batch of running work items. Instead, use a generation number which is odd while the thread is processing a batch of work and even when not.
There's still a small optimization available with the struct work pointer to wait for: if we find the work item in one of the per-CPU _pending_ queues, then after we wait for a batch of work to complete on that CPU, we don't need to wait for work on any other CPUs. PR kern/57574
workqueue(9): Sprinkle dtrace probes for workqueue_wait edge cases.
Let's make it easy to find out whether these are hit.
workqueue(9): Stop violating queue(3) internals.
workqueue(9): Avoid unnecessary mutex_exit/enter cycle each loop.
workqueue(9): Sort includes. No functional change intended.
workqueue(9): Factor out wq->wq_flags & WQ_FPU in workqueue_worker. No functional change intended. Makes it clearer that s is initialized when used.
|