|
From: | Thomas Huth |
Subject: | Re: getting the console output for s390 cdrom-test? |
Date: | Fri, 12 Feb 2021 12:44:55 +0100 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.7.0 |
On 09/02/2021 19.25, Peter Maydell wrote:
On Tue, 9 Feb 2021 at 17:24, Cornelia Huck <cohuck@redhat.com> wrote:On Tue, 9 Feb 2021 17:17:19 +0000 Peter Maydell <peter.maydell@linaro.org> wrote:On Tue, 9 Feb 2021 at 17:10, Cornelia Huck <cohuck@redhat.com> wrote:On Tue, 9 Feb 2021 14:58:53 +0000 Peter Maydell <peter.maydell@linaro.org> wrote:This change significantly reduces the frequency with which I see the hang; but it doesn't get rid of it altogether. Also I couldn't really figure out from the virtio spec exactly where barriers were required: I think I would need to read the whole thing in more detail rather than trying to fish out the information by just reading small pieces of it.The Linux virtio-ccw code uses 'weak barriers', i.e. the heavy bcr15 should not be needed. We might well miss other (lightweight) barriers in other parts of the code part, though.Is that the version the Linux kernel has as /* Fast-BCR without checkpoint synchronization */ #define __ASM_BARRIER "bcr 14,0\n" ?No, just a simple memory barrier in most places (bcr15 and bcr14 do serialization).OK; if you let me know how that's written for s390 I can give it a test...
I guess Cornelia simply meant a: asm volatile("nop":::"memory");Anyway, I've now succeeded in getting my hands on an aarch64 host and tried to reproduce the issue, but even after running it in a loop like this:
for ((x=0;x<200;x++)) ; do \ QTEST_QEMU_BINARY=./qemu-system-s390x tests/qtest/cdrom-test \ || break ; \ done... I was not able to reproduce the issue. What kind of host distro are you using there? Could the exact host CPU type matter here, too? (I was running my code on an HPE Apollo system, with Fedora 33, gcc 10.2)
Thomas
[Prev in Thread] | Current Thread | [Next in Thread] |