summary refs log tree commit diff stats
path: root/docs/devel/build-system.rst
diff options
context:
space:
mode:
authorDavid Edmondson <david.edmondson@oracle.com>2021-03-25 12:29:41 +0100
committerStefan Hajnoczi <stefanha@redhat.com>2021-03-31 10:44:21 +0100
commitb6489ac06695e257ea0a9841364577e247fdee30 (patch)
tree99a6e235d356604850385ff49cce3b68e5b90c01 /docs/devel/build-system.rst
parent25bc2daed0482732a2dd258dde4386f505582fa9 (diff)
downloadfocaccia-qemu-b6489ac06695e257ea0a9841364577e247fdee30.tar.gz
focaccia-qemu-b6489ac06695e257ea0a9841364577e247fdee30.zip
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 'docs/devel/build-system.rst')
0 files changed, 0 insertions, 0 deletions