df4bbc9dcb
coroutine: Clean up superfluous inclusion of qemu/lockable.h
...
Signed-off-by: Markus Armbruster <armbru@redhat.com >
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com >
Message-Id: <20221221131435.3851212-4-armbru@redhat.com >
2023-01-19 10:18:28 +01:00
2379247810
coroutine: Clean up superfluous inclusion of qemu/coroutine.h
...
Signed-off-by: Markus Armbruster <armbru@redhat.com >
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com >
Message-Id: <20221221131435.3851212-2-armbru@redhat.com >
2023-01-19 10:18:28 +01:00
f7bbb1564d
test-coroutine: add missing coroutine_fn annotations
...
Callers of coroutine_fn must be coroutine_fn themselves, or the call
must be within "if (qemu_in_coroutine())". Apply coroutine_fn to
functions where this holds.
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com >
Reviewed-by: Alberto Faria <afaria@redhat.com >
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com >
Message-Id: <20220922084924.201610-27-pbonzini@redhat.com >
Reviewed-by: Kevin Wolf <kwolf@redhat.com >
Signed-off-by: Kevin Wolf <kwolf@redhat.com >
2022-10-07 12:11:41 +02:00
b6489ac066
test-coroutine: Add rwlock downgrade test
...
Test that downgrading an rwlock does not result in a failure to
schedule coroutines queued on the rwlock.
The diagram associated with test_co_rwlock_downgrade() describes the
intended behaviour, but what was observed previously corresponds to:
| c1 | c2 | c3 | c4 |
|--------+------------+------------+----------|
| rdlock | | | |
| yield | | | |
| | wrlock | | |
| | <queued> | | |
| | | rdlock | |
| | | <queued> | |
| | | | wrlock |
| | | | <queued> |
| unlock | | | |
| yield | | | |
| | <dequeued> | | |
| | downgrade | | |
| | ... | | |
| | unlock | | |
| | | <dequeued> | |
| | | <queued> | |
This results in a failure...
ERROR:../tests/test-coroutine.c:369:test_co_rwlock_downgrade: assertion failed: (c3_done)
Bail out! ERROR:../tests/test-coroutine.c:369:test_co_rwlock_downgrade: assertion failed: (c3_done)
...as a result of the c3 coroutine failing to run to completion.
Signed-off-by: David Edmondson <david.edmondson@oracle.com >
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com >
Message-id: 20210325112941.365238-7-pbonzini@redhat.com
Message-Id: <20210309144015.557477-5-david.edmondson@oracle.com >
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com >
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com >
2021-03-31 10:44:21 +01:00
25bc2daed0
test-coroutine: Add rwlock upgrade test
...
Test that rwlock upgrade is fair, and that readers go back to sleep if
a writer is in line.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com >
Message-id: 20210325112941.365238-6-pbonzini@redhat.com
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com >
2021-03-31 10:44:21 +01:00
da668aa15b
tests: Move unit tests into a separate directory
...
The main tests directory still looks very crowded, and it's not
clear which files are part of a unit tests and which belong to
a different test subsystem. Let's clean up the mess and move the
unit tests to a separate directory.
Message-Id: <20210310063314.1049838-1-thuth@redhat.com >
Acked-by: Paolo Bonzini <pbonzini@redhat.com >
Signed-off-by: Thomas Huth <thuth@redhat.com >
2021-03-12 15:46:30 +01:00