From: <mwoodpatrick@gmail.com>
To: <qemu-devel@nongnu.org>, <kvm@vger.kernel.org>
Subject: Seeing a problem in multi cpu runs where memory mapped pcie device register reads are returning incorrect values
Date: Thu, 2 Jul 2020 04:59:52 -0700 [thread overview]
Message-ID: <05f901d65068$4c23be00$e46b3a00$@gmail.com> (raw)
In-Reply-To: <MN2PR12MB41758B8F79B8F3BBBAF6C314A06C0@MN2PR12MB4175.namprd12.prod.outlook.com>
Background
==========
I have a test environment which runs QEMU 4.2 with a plugin that runs two
copies of a PCIE device simulator on a CentOS 7.5 host with an Ubuntu 18.04
guest. When running with a single QEMU CPU using:
-cpu kvm64,+lahf_lm -M q35,kernel-irqchip=off -device
intel-iommu,intremap=on
Our tests run fine.
But when running with multiple cpus:
-cpu kvm64,+lahf_lm -M q35,kernel-irqchip=off -device
intel-iommu,intremap=on -smp 2,sockets=1,cores=2
Some mmio reads to the simulated devices BAR 0 registers by our device
driver running on the guest are returning are returning incorrect values.
Running QEMU under gdb I see that the read request is reaching our simulated
device correctly and that the correct result is being returned by the
simulator. Using gdb I have tracked the return value all the way back up the
call stack and the correct value is arriving in KVM_EXIT_MMIO
in kvm_cpu_exec (qemu-4.2.0/accel/kvm/kvm-all.c:2365) but the value
returned to the device driver which initiated the read is 0.
Question
========
Is anyone else running QEMU 4.2 in multi cpu mode? Is anyone getting
incorrect reads from memory mapped device registers when running in this
mode? I would appreciate any pointers on how best to debug the flow from
KVM_EXIT_MMIO back to the device driver running on the guest
next prev parent reply other threads:[~2020-07-02 11:59 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-07-01 18:26 Seeing a problem in multi cpu runs where memory mapped pcie device register reads are returning incorrect values Mark Wood-Patrick
2020-07-02 11:59 ` mwoodpatrick [this message]
2020-07-12 17:54 ` Mark Wood-Patrick
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='05f901d65068$4c23be00$e46b3a00$@gmail.com' \
--to=mwoodpatrick@gmail.com \
--cc=kvm@vger.kernel.org \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.