| History log of /src/tests/rump/rumpkern |
| Revision | Date | Author | Comments |
| 1.3 | 13-Jul-2010 |
jmmv | Get rid of static Atffiles and let bsd.test.mk generate them on the fly.
|
| 1.2 | 24-Sep-2009 |
pooka | Add regression test to verify that linksets work correctly with rump.
|
| 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 Atffile was added on branch jym-xensuspend on 2009-05-13 19:19:34 +0000
|
| 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.
|
| 1.1 | 23-Jan-2016 |
christos | bridge with the higher Makefile.inc
|
| 1.2 | 26-Jul-2013 |
njoly | New testcase which checks that rump copyin/copyout/copyinstr/copyoutstr version return EFAULT for special NULL "user" address. ok pooka@.
|
| 1.1 | 09-Nov-2010 |
pooka | branches: 1.1.6; 1.1.12; 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.1.12.1 | 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
| 1.1.6.1 | 22-May-2014 |
yamt | sync with head.
for a reference, the tree before this commit was tagged as yamt-pagecache-tag8.
this commit was splitted into small chunks to avoid a limitation of cvs. ("Protocol error: too many arguments")
|
| 1.6 | 28-Aug-2020 |
martin | lockme_DOUBLEINIT: The failure message differs slightly when using LOCKDEBUG, modify the expected pattern to cover both variants.
|
| 1.5 | 03-May-2017 |
pgoyette | Fix detection of expected results. The rump kernel code apparently includes source-code line numbers in the messages, so rather than hard-coding them in the test, just use a reg-ex to match the text.
Fixes PR bin/52207
|
| 1.4 | 13-Jan-2017 |
christos | branches: 1.4.4; Don't play with "../.." in includes for h_macros.h; deal with it centrally. Minor fixes.
|
| 1.3 | 30-Jan-2012 |
njoly | branches: 1.3.22; Adjust MEMFREE expected output to recent kmem(9) changes.
|
| 1.2 | 06-Jan-2011 |
pooka | branches: 1.2.6; In case of LOCKDEBUG, expect certain text in the kernel output.
|
| 1.1 | 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.2.6.1 | 17-Apr-2012 |
yamt | sync with head
|
| 1.3.22.1 | 20-Mar-2017 |
pgoyette | Sync with HEAD
|
| 1.4.4.2 | 11-May-2017 |
pgoyette | Sync with HEAD
|
| 1.4.4.1 | 03-May-2017 |
pgoyette | Include fix for PR bin/52207 on the localcount2 branch.
|
| 1.10 | 08-Jan-2020 |
ad | Hopefully fix some problems seen with MP support on non-x86, in particular where curcpu() is defined as curlwp->l_cpu:
- mi_switch(): undo the ~2007ish optimisation to unlock curlwp before calling cpu_switchto(). It's not safe to let other actors mess with the LWP (in particular l->l_cpu) while it's still context switching. This removes l->l_ctxswtch.
- Move the LP_RUNNING flag into l->l_flag and rename to LW_RUNNING since it's now covered by the LWP's lock.
- Ditch lwp_exit_switchaway() and just call mi_switch() instead. Everything is in cache anyway so it wasn't buying much by trying to avoid saving old state. This means cpu_switchto() will never be called with prevlwp == NULL.
- Remove some KERNEL_LOCK handling which hasn't been needed for years.
|
| 1.9 | 13-Jan-2017 |
christos | branches: 1.9.14; Don't play with "../.." in includes for h_macros.h; deal with it centrally. Minor fixes.
|
| 1.8 | 10-Jan-2017 |
christos | more tests needing <sys/stat.h>
|
| 1.7 | 21-Jan-2015 |
pooka | branches: 1.7.2; call previous with the correct args too
|
| 1.6 | 21-Jan-2015 |
pooka | check that setuid() works for procs with >1 lwp
|
| 1.5 | 02-Jan-2011 |
pooka | + rump_lwproc_newproc -> rump_lwproc_rfork() + add a tess for rump_lwproc_rfork()
|
| 1.4 | 29-Oct-2010 |
pooka | implicit pid is 1 instead of 0 now
|
| 1.3 | 07-Sep-2010 |
pooka | +tc (turns out the bug was elsewhere, but a test is always a test)
|
| 1.2 | 02-Sep-2010 |
pooka | check that curlwp for an implicit context is NULL
|
| 1.1 | 01-Sep-2010 |
pooka | tests for rump_lwproc
|
| 1.7.2.1 | 20-Mar-2017 |
pgoyette | Sync with HEAD
|
| 1.9.14.1 | 08-Apr-2020 |
martin | Merge changes from current as of 20200406
|
| 1.10 | 13-Jan-2017 |
christos | Don't play with "../.." in includes for h_macros.h; deal with it centrally. Minor fixes.
|
| 1.9 | 31-May-2010 |
pooka | branches: 1.9.28; hmm, using unifdef for the previous might have been a good idea ...
|
| 1.8 | 31-May-2010 |
pooka | Now that atf gdb/coredump conflicts have been solved (thanks jmmv!), remove USE_ATF ifdefs.
|
| 1.7 | 01-May-2010 |
pooka | convert to ifdef USE_ATF
|
| 1.6 | 01-May-2010 |
pooka | Disable module autoload so that it won't foil our module unload test.
|
| 1.5 | 05-Mar-2010 |
pooka | Update to use newstyle rump_module interfaces.
|
| 1.4 | 06-Nov-2009 |
pooka | WARNS=4
|
| 1.3 | 06-Nov-2009 |
pooka | rump_module -> rump_pub_module
|
| 1.2 | 02-May-2009 |
pooka | branches: 1.2.2; don't hardcode /usr/lib path
|
| 1.1 | 02-May-2009 |
pooka | add regression test for module init/fini in rump
|
| 1.2.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.2.2.1 | 02-May-2009 |
jym | file t_modcmd.c was added on branch jym-xensuspend on 2009-05-13 19:19:34 +0000
|
| 1.9.28.1 | 20-Mar-2017 |
pgoyette | Sync with HEAD
|
| 1.4 | 24-May-2022 |
andvar | fix various typos in comments, docs and log messages.
|
| 1.3 | 13-Jan-2017 |
christos | Don't play with "../.." in includes for h_macros.h; deal with it centrally. Minor fixes.
|
| 1.2 | 06-Nov-2009 |
pooka | branches: 1.2.28; WARNS=4
|
| 1.1 | 24-Sep-2009 |
pooka | Add regression test to verify that linksets work correctly with rump.
|
| 1.2.28.1 | 20-Mar-2017 |
pgoyette | Sync with HEAD
|
| 1.3 | 13-Jan-2017 |
christos | Don't play with "../.." in includes for h_macros.h; deal with it centrally. Minor fixes.
|
| 1.2 | 20-Feb-2011 |
pooka | branches: 1.2.26; explicitly set the signal model
|
| 1.1 | 14-Jan-2011 |
pooka | branches: 1.1.2; elementary tests for rump sigmodels
|
| 1.1.2.1 | 05-Mar-2011 |
bouyer | Sync with HEAD
|
| 1.2.26.1 | 20-Mar-2017 |
pgoyette | Sync with HEAD
|
| 1.21 | 02-Apr-2025 |
riastradh | tests/rump/rumpkern/t_sp: Go fishing for a rump_server core dump.
|
| 1.20 | 02-Apr-2025 |
riastradh | librumpuser: New RUMPUSER_DEBUG env var enables debug output.
Use it in t_sp:sigsafe to see if we can get more diagnostics out.
|
| 1.19 | 04-Apr-2024 |
riastradh | branches: 1.19.2; Temporarily make PR t_sp:sigsafe noisier.
This is an attempt to diagnose why it's flaky in the releng testbeds but not when I run it. This change will be backed out once we get new testbed output.
|
| 1.18 | 04-Apr-2024 |
riastradh | rumpkern/t_sp: Save stdout and stderr to report on failure.
This is not very tidy at the moment, but it's an experiment using the approach in PR bin/58112, to diagnose why t_sp:sigsafe keeps failing intermittently. If this works, perhaps can tidy it up and apply it to all the other tests that run rump_servers.
|
| 1.17 | 01-Sep-2020 |
gson | Format PR references consistently so that they can be automatically turned into links in HTML reports.
|
| 1.16 | 28-Aug-2020 |
martin | Also skip the stress_short test - it just needs way too long to timeout and fail.
|
| 1.15 | 28-Aug-2020 |
martin | Skip a few tests with reference to already existing PRs as after "recent" scheduler changes these tests now leave rump_server processes around that eat CPU and disturb later tests.
|
| 1.14 | 13-May-2019 |
bad | Get rid of all the -lrumpdev and -lrumpvfs that are no longer needed after moving rump's mainbus from rumpdev to rumpkern.
Produces the same atf-run results as before.
|
| 1.13 | 10-Aug-2016 |
kre | branches: 1.13.14;
+ -lrumpdev
|
| 1.12 | 30-Aug-2014 |
gson | On systems that have only 32M of memory, the stress_short and stress_long tests thrash a lot, and the stress_long test sometimes times out, so skip them if we don't have at least 64M.
|
| 1.11 | 24-Feb-2011 |
pooka | in reconnect, ignore any all reconnect messages
|
| 1.10 | 24-Jan-2011 |
pooka | test for rumpclient reconnect feature
|
| 1.9 | 14-Jan-2011 |
pooka | branches: 1.9.2; test remove signal delivery
|
| 1.8 | 12-Jan-2011 |
pooka | Execute a variety of syscalls in the stress test, including opening files and sockets.
|
| 1.7 | 12-Jan-2011 |
pooka | * run the killer stress test * reduce default runtime to 5s
|
| 1.6 | 10-Jan-2011 |
pooka | Make sure stressclient worker threads complete their operation instead of hanging.
|
| 1.5 | 06-Jan-2011 |
pooka | test rumpclient syscalls from a signal handler
|
| 1.4 | 05-Jan-2011 |
pooka | Some tests for rumpclient fork.
|
| 1.3 | 13-Dec-2010 |
pooka | Retire h_simpleserver and use rump_server instead.
|
| 1.2 | 12-Dec-2010 |
pooka | use rump.halt in cleanup
|
| 1.1 | 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.2.2 | 05-Mar-2011 |
bouyer | Sync with HEAD
|
| 1.9.2.1 | 08-Feb-2011 |
bouyer | Sync with HEAD
|
| 1.13.14.1 | 10-Jun-2019 |
christos | Sync with HEAD
|
| 1.19.2.1 | 02-Aug-2025 |
perseant | Sync with HEAD
|
| 1.2 | 28-Dec-2018 |
thorpej | branches: 1.2.2; Add a test case that exercises repeated sceduling and cancelling of a job, with periodic dropping of the interlock.
|
| 1.1 | 24-Dec-2018 |
thorpej | branches: 1.1.2; Add rump-based test cases for threadpool(9).
|
| 1.1.2.3 | 18-Jan-2019 |
pgoyette | Synch with HEAD
|
| 1.1.2.2 | 26-Dec-2018 |
pgoyette | Sync with HEAD, resolve a few conflicts
|
| 1.1.2.1 | 24-Dec-2018 |
pgoyette | file t_threadpool.c was added on branch pgoyette-compat on 2018-12-26 14:02:10 +0000
|
| 1.2.2.2 | 10-Jun-2019 |
christos | Sync with HEAD
|
| 1.2.2.1 | 28-Dec-2018 |
christos | file t_threadpool.c was added on branch phil-wifi on 2019-06-10 22:10:11 +0000
|
| 1.3 | 29-Sep-2017 |
maya | Run both tests (rather than rumptest_threadjoin twice)
|
| 1.2 | 13-Jan-2017 |
christos | Don't play with "../.." in includes for h_macros.h; deal with it centrally. Minor fixes.
|
| 1.1 | 31-May-2010 |
pooka | branches: 1.1.28; add tests for: * threading * tsleep variants * uvm page busying and wanting
|
| 1.1.28.1 | 20-Mar-2017 |
pgoyette | Sync with HEAD
|
| 1.2 | 13-Jan-2017 |
christos | Don't play with "../.." in includes for h_macros.h; deal with it centrally. Minor fixes.
|
| 1.1 | 31-May-2010 |
pooka | branches: 1.1.28; add tests for: * threading * tsleep variants * uvm page busying and wanting
|
| 1.1.28.1 | 20-Mar-2017 |
pgoyette | Sync with HEAD
|
| 1.8 | 02-Apr-2025 |
riastradh | tests/rump/rumpkern/t_vm: Re-enable test as xfail.
We do, after all, have a way to mark a test as expecting a crash, namely, with atf_tc_expect_signal(SIGABRT, ...). Also cite the PR while here.
It is unclear to me what the bug in the test is. Is it supposed to get the page via uobj->uo_pager->pgo_get (perhaps in turn via uvm_obj_wirepages) instead of uvm_pagealloc? This should be explained more clearly in the message (or just fixed).
PR kern/55945: rump/rumpkern/t_vm:busypage fails since early December
|
| 1.7 | 11-Apr-2023 |
kre | branches: 1.7.2;
PR misc/57343 (Jim Spath) - fixed a typo in atf_tc_skip message.
|
| 1.6 | 22-Jan-2021 |
chs | for the busypage test, replace atf_tc_expect_fail() with atf_tc_skip() because atf apparently has no way to expect a test program to crash. fixes PR 55945.
|
| 1.5 | 08-Dec-2020 |
chs | the busypage test is buggy, expect it to fail.
|
| 1.4 | 13-Jan-2017 |
christos | branches: 1.4.16; Don't play with "../.." in includes for h_macros.h; deal with it centrally. Minor fixes.
|
| 1.3 | 17-Mar-2012 |
hannken | branches: 1.3.14; Starting with Rev. 1.191 of kern/subr_pool.c a pool has to be inactive for at least 10 seconds before it can be reclaimed.
Change the uvmwait test timeout from 10 to 30 seconds so it has a chance to reclaim memory and succeed.
|
| 1.2 | 14-Jun-2010 |
pooka | branches: 1.2.6; 1.2.8; add a vm allocator test which tests that: * RUMP_MEMLIMIT works * allocating memory with PR_NOWAIT will fail immediately if no memory is available and PR_WAITOK will wait for memory to be available
|
| 1.1 | 31-May-2010 |
pooka | add tests for: * threading * tsleep variants * uvm page busying and wanting
|
| 1.2.8.1 | 25-Mar-2012 |
bouyer | Pull up following revision(s) (requested by hannken in ticket #141): tests/rump/rumpkern/t_vm.c: revision 1.3 sys/rump/librump/rumpkern/vm.c: revision 1.125 Don't take a mutex we already took 6 lines above. Starting with Rev. 1.191 of kern/subr_pool.c a pool has to be inactive for at least 10 seconds before it can be reclaimed. Change the uvmwait test timeout from 10 to 30 seconds so it has a chance to reclaim memory and succeed.
|
| 1.2.6.1 | 17-Apr-2012 |
yamt | sync with head
|
| 1.3.14.1 | 20-Mar-2017 |
pgoyette | Sync with HEAD
|
| 1.4.16.1 | 06-Jul-2021 |
martin | Pull up following revision(s) - all via patch - (requested by riastradh in ticket #1317):
sys/uvm/uvm_page.c: revision 1.248 sys/uvm/uvm_anon.c: revision 1.80 sys/rump/librump/rumpvfs/vm_vfs.c: revision 1.40 sys/rump/librump/rumpvfs/vm_vfs.c: revision 1.41 sys/rump/librump/rumpkern/vm.c: revision 1.191 sys/uvm/uvm_pager.c: revision 1.130 external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vnops.c: revision 1.71 tests/rump/rumpkern/t_vm.c: revision 1.5 tests/rump/rumpkern/t_vm.c: revision 1.6 sys/rump/librump/rumpvfs/vm_vfs.c: revision 1.39
Move the handling of PG_PAGEOUT from uvm_aio_aiodone_pages() to uvm_page_unbusy() so that all callers of uvm_page_unbusy() don't need to handle this flag separately. Split out the pages part of uvm_aio_aiodone() into uvm_aio_aiodone_pages() in rump just like in the real kernel.
In ZFS functions that can fail to copy data between the ARC and VM pages, use uvm_aio_aiodone_pages() rather than uvm_page_unbusy() so that we can handle these "I/O" errors. Fixes PR 55702.
fix an incorrect assertion in the previous commit.
Handle PG_PAGEOUT in uvm_anon_release() too.
Commit the ZFS file that I forgot in this previous commit:
Move the handling of PG_PAGEOUT from uvm_aio_aiodone_pages() to uvm_page_unbusy() so that all callers of uvm_page_unbusy() don't need to handle this flag separately. Split out the pages part of uvm_aio_aiodone() into uvm_aio_aiodone_pages() in rump just like in the real kernel.
In ZFS functions that can fail to copy data between the ARC and VM pages, use uvm_aio_aiodone_pages() rather than uvm_page_unbusy() so that we can handle these "I/O" errors. Fixes PR 55702. update the rump copy of uvm_page_unbusy() to match the real version, in particular handle PG_PAGEOUT. fixes a few atf tests. the busypage test is buggy, expect it to fail.
make rump's uvm_aio_aiodone_pages() look more like the kernel version. fixes some more rumpy assertions.
for the busypage test, replace atf_tc_expect_fail() with atf_tc_skip() because atf apparently has no way to expect a test program to crash. fixes PR 55945.
|
| 1.7.2.1 | 02-Aug-2025 |
perseant | Sync with HEAD
|
| 1.4 | 09-Aug-2023 |
riastradh | 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
XXX pullup-10 XXX pullup-9 XXX pullup-8
|
| 1.3 | 09-Aug-2023 |
riastradh | workqueue(9) tests: Add test for PR kern/57574.
XXX pullup-10 XXX pullup-9 XXX pullup-8
|
| 1.2 | 28-Dec-2017 |
ozaki-r | branches: 1.2.2; 1.2.8; 1.2.16; Add a test case for workqueue_wait
|
| 1.1 | 29-Sep-2017 |
maya | Add simple test for workqueue(9)
|
| 1.2.16.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.
|
| 1.2.8.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.2.2.2 | 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.2.2.1 | 28-Dec-2017 |
martin | file t_workqueue.c was added on branch netbsd-8 on 2018-01-16 13:01:10 +0000
|
| 1.5 | 24-Jan-2011 |
pooka | test for rumpclient reconnect feature
|
| 1.4 | 06-Jan-2011 |
pooka | branches: 1.4.2; test rumpclient syscalls from a signal handler
|
| 1.3 | 05-Jan-2011 |
pooka | Some tests for rumpclient fork.
|
| 1.2 | 12-Dec-2010 |
pooka | h_reboot has been superceded by rump.halt
|
| 1.1 | 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.4.2.1 | 08-Feb-2011 |
bouyer | Sync with HEAD
|
| 1.2 | 16-Jul-2019 |
martin | PR misc/54382: whenever open(2) is called with O_CREAT, make sure to pass an open mode argument.
|
| 1.1 | 05-Jan-2011 |
pooka | branches: 1.1.46; Some tests for rumpclient fork.
|
| 1.1.46.1 | 13-Apr-2020 |
martin | Mostly merge changes from HEAD upto 20200411
|
| 1.2 | 12-Dec-2010 |
pooka | h_reboot has been superceded by rump.halt
|
| 1.1 | 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.2 | 19-Feb-2011 |
pooka | set reconnect property now that it's off by default
|
| 1.1 | 24-Jan-2011 |
pooka | branches: 1.1.2; test for rumpclient reconnect feature
|
| 1.1.2.3 | 05-Mar-2011 |
bouyer | Sync with HEAD
|
| 1.1.2.2 | 08-Feb-2011 |
bouyer | Sync with HEAD
|
| 1.1.2.1 | 24-Jan-2011 |
bouyer | file h_reconcli.c was added on branch bouyer-quota2 on 2011-02-08 16:20:10 +0000
|
| 1.3 | 07-Feb-2011 |
pooka | Limit test duration based on wall time instead of loops (took a long time on slow platforms).
|
| 1.2 | 10-Jan-2011 |
pooka | branches: 1.2.2; check that we actually go into the signal handler
|
| 1.1 | 06-Jan-2011 |
pooka | test rumpclient syscalls from a signal handler
|
| 1.2.2.1 | 08-Feb-2011 |
bouyer | Sync with HEAD
|
| 1.2 | 14-Jan-2011 |
pooka | test remove signal delivery
|
| 1.1 | 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 | 26-Jun-2011 |
christos | fix fallout from including signal.h in rump_syscallargs.h
|
| 1.8 | 12-Jan-2011 |
pooka | Execute a variety of syscalls in the stress test, including opening files and sockets.
|
| 1.7 | 12-Jan-2011 |
pooka | Give the stress queen two modes: one which nicely suggests an exit and another one which keeps moet et chandon in her pretty cabinet.
|
| 1.6 | 12-Jan-2011 |
pooka | Establish signal handler already in parent. Otherwise the child might be killed before it has a chance to run.
|
| 1.5 | 11-Jan-2011 |
pooka | Print some more info in an attempt to try to understand why the test fails in automated test runs but not my desktop.
|
| 1.4 | 10-Jan-2011 |
pooka | Make sure stressclient worker threads complete their operation instead of hanging.
|
| 1.3 | 10-Jan-2011 |
pooka | Don't use printf in a signal handler.
XXX: it would be nice if the deadlock with malloc were a little more obvious, especially since gdb doesn't provide any clues unless you compile libpthread with -g
|
| 1.2 | 06-Jan-2011 |
pooka | check that child exits with an expected status
|
| 1.1 | 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.7 | 01-Mar-2020 |
christos | 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.6 | 01-Jun-2019 |
kre | Deal with fallout from the addition of KERN_PROC_CWD in sysctl(3) That is kern.proc.$$.KERN_PROC_CWD (I think - not that it matters here)
The effect is that -lrump now requires -lrumpvfs
This set of changes fixes (I believe) regular dynamic builds, more might be required for static builds (will be verified soon).
|
| 1.5 | 07-Jan-2015 |
pooka | branches: 1.5.16; Move sysproxy support into a separate component, rumpkern_sysproxy, instead of it being always provided by the rump kernel base. This move accomplishes two things:
1) it is no longer necessary to provide sysproxy hypercall stubs for platforms which do not want to use sysproxy 2) it is easier to reason about the security aspects, since configurations not linking the sysproxy component simply do not support remote system calls
discussed on rumpkernel-users
|
| 1.4 | 10-Jun-2014 |
he | Fix static linking for the tests: -lrump is also used by -lrumpuser, so we also need -lrump after -lrumpuser. Fixes build for sun2.
|
| 1.3 | 14-Jan-2011 |
pooka | branches: 1.3.12; 1.3.22; test remove signal delivery
|
| 1.2 | 13-Dec-2010 |
pooka | Retire h_simpleserver and use rump_server instead.
|
| 1.1 | 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.3.22.1 | 10-Aug-2014 |
tls | Rebase.
|
| 1.3.12.1 | 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
| 1.5.16.2 | 08-Apr-2020 |
martin | Merge changes from current as of 20200406
|
| 1.5.16.1 | 10-Jun-2019 |
christos | Sync with HEAD
|
| 1.4 | 25-Jan-2016 |
pooka | include <stdbool.h> for bool
|
| 1.3 | 14-Jan-2011 |
pooka | test remove signal delivery
|
| 1.2 | 13-Dec-2010 |
pooka | Retire h_simpleserver and use rump_server instead.
|
| 1.1 | 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.
|