diff options
author | David Edmondson <david.edmondson@oracle.com> | 2021-03-25 12:29:41 +0100 |
---|---|---|
committer | Stefan Hajnoczi <stefanha@redhat.com> | 2021-03-31 10:44:21 +0100 |
commit | b6489ac06695e257ea0a9841364577e247fdee30 (patch) | |
tree | 99a6e235d356604850385ff49cce3b68e5b90c01 /module-common.c | |
parent | 25bc2daed0482732a2dd258dde4386f505582fa9 (diff) |
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>
Diffstat (limited to 'module-common.c')
0 files changed, 0 insertions, 0 deletions