From: Paolo Bonzini <pbonzini@redhat.com>
To: Pavel Dovgalyuk <dovgaluk@ispras.ru>,
'Pavel Dovgalyuk' <Pavel.Dovgaluk@ispras.ru>,
qemu-devel@nongnu.org
Cc: kwolf@redhat.com, peter.maydell@linaro.org,
boost.lists@gmail.com, quintela@redhat.com, jasowang@redhat.com,
mst@redhat.com, zuban32s@gmail.com,
maria.klimushenkova@ispras.ru, kraxel@redhat.com,
alex.bennee@linaro.org
Subject: Re: [Qemu-devel] [RFC PATCH v4 13/23] cpus: only take BQL for sleeping threads
Date: Fri, 19 Jan 2018 13:26:02 +0100 [thread overview]
Message-ID: <f7c459df-c68f-3995-4183-45da91e688a3@redhat.com> (raw)
In-Reply-To: <002b01d39120$8c88e880$a59ab980$@ru>
On 19/01/2018 13:25, Pavel Dovgalyuk wrote:
>>> It means, that I'll have to fix all the has_work function to avoid races,
>>> because x86_cpu_has_work may have them?
>> Why only x86_cpu_has_work?
>>
>> Even reading cs->interrupt_request outside the mutex is unsafe.
> All the vcpu function that access interrupt controller or peripheral state may be unsafe?
> How can it work safely then?
They do it inside the big QEMU lock. But here you're calling
cpu_has_work (via all_cpu_threads_idle) outside the lock.
Paolo
next prev parent reply other threads:[~2018-01-19 12:26 UTC|newest]
Thread overview: 37+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-01-19 8:42 [Qemu-devel] [RFC PATCH v4 00/23] replay additions Pavel Dovgalyuk
2018-01-19 8:42 ` [Qemu-devel] [RFC PATCH v4 01/23] This patch adds a condition before overwriting exception_index fields Pavel Dovgalyuk
2018-01-19 8:47 ` Paolo Bonzini
2018-01-19 8:42 ` [Qemu-devel] [RFC PATCH v4 02/23] block: implement bdrv_snapshot_goto for blkreplay Pavel Dovgalyuk
2018-01-19 8:42 ` [Qemu-devel] [RFC PATCH v4 03/23] blkreplay: create temporary overlay for underlaying devices Pavel Dovgalyuk
2018-01-19 8:43 ` [Qemu-devel] [RFC PATCH v4 04/23] replay: disable default snapshot for record/replay Pavel Dovgalyuk
2018-01-19 8:43 ` [Qemu-devel] [RFC PATCH v4 05/23] replay: fix processing async events Pavel Dovgalyuk
2018-01-19 8:43 ` [Qemu-devel] [RFC PATCH v4 06/23] replay: fixed replay_enable_events Pavel Dovgalyuk
2018-01-19 8:43 ` [Qemu-devel] [RFC PATCH v4 07/23] replay: fix save/load vm for non-empty queue Pavel Dovgalyuk
2018-01-19 8:43 ` [Qemu-devel] [RFC PATCH v4 08/23] replay: added replay log format description Pavel Dovgalyuk
2018-01-19 8:43 ` [Qemu-devel] [RFC PATCH v4 09/23] replay: make safe vmstop at record/replay Pavel Dovgalyuk
2018-01-19 8:43 ` [Qemu-devel] [RFC PATCH v4 10/23] replay: save prior value of the host clock Pavel Dovgalyuk
2018-01-19 8:43 ` [Qemu-devel] [RFC PATCH v4 11/23] target/arm/arm-powertctl: drop BQL assertions Pavel Dovgalyuk
2018-01-19 8:44 ` [Qemu-devel] [RFC PATCH v4 12/23] cpus: push BQL lock to qemu_*_wait_io_event Pavel Dovgalyuk
2018-01-19 8:55 ` Paolo Bonzini
2018-01-19 11:52 ` Pavel Dovgalyuk
2018-01-19 8:44 ` [Qemu-devel] [RFC PATCH v4 13/23] cpus: only take BQL for sleeping threads Pavel Dovgalyuk
2018-01-19 8:59 ` Paolo Bonzini
2018-01-19 12:05 ` Pavel Dovgalyuk
2018-01-19 12:19 ` Paolo Bonzini
2018-01-19 12:25 ` Pavel Dovgalyuk
2018-01-19 12:26 ` Paolo Bonzini [this message]
2018-01-19 12:36 ` Pavel Dovgalyuk
2018-01-19 13:20 ` Pavel Dovgalyuk
2018-01-19 13:33 ` Paolo Bonzini
2018-01-22 6:47 ` Pavel Dovgalyuk
2018-01-19 8:44 ` [Qemu-devel] [RFC PATCH v4 14/23] replay/replay.c: bump REPLAY_VERSION again Pavel Dovgalyuk
2018-01-19 8:44 ` [Qemu-devel] [RFC PATCH v4 15/23] replay/replay-internal.c: track holding of replay_lock Pavel Dovgalyuk
2018-01-19 8:44 ` [Qemu-devel] [RFC PATCH v4 16/23] replay: make locking visible outside replay code Pavel Dovgalyuk
2018-01-19 8:44 ` [Qemu-devel] [RFC PATCH v4 17/23] replay: push replay_mutex_lock up the call tree Pavel Dovgalyuk
2018-01-19 8:44 ` [Qemu-devel] [RFC PATCH v4 18/23] replay: don't destroy mutex at exit Pavel Dovgalyuk
2018-01-19 8:44 ` [Qemu-devel] [RFC PATCH v4 19/23] replay: check return values of fwrite Pavel Dovgalyuk
2018-01-19 8:45 ` [Qemu-devel] [RFC PATCH v4 20/23] replay: avoid recursive call of checkpoints Pavel Dovgalyuk
2018-01-19 8:45 ` [Qemu-devel] [RFC PATCH v4 21/23] scripts/replay-dump.py: replay log dumper Pavel Dovgalyuk
2018-01-19 8:45 ` [Qemu-devel] [RFC PATCH v4 22/23] replay: don't process async events when warping the clock Pavel Dovgalyuk
2018-01-19 8:45 ` [Qemu-devel] [RFC PATCH v4 23/23] replay: save vmstate of the asynchronous events Pavel Dovgalyuk
2018-01-19 9:25 ` [Qemu-devel] [RFC PATCH v4 00/23] replay additions no-reply
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=f7c459df-c68f-3995-4183-45da91e688a3@redhat.com \
--to=pbonzini@redhat.com \
--cc=Pavel.Dovgaluk@ispras.ru \
--cc=alex.bennee@linaro.org \
--cc=boost.lists@gmail.com \
--cc=dovgaluk@ispras.ru \
--cc=jasowang@redhat.com \
--cc=kraxel@redhat.com \
--cc=kwolf@redhat.com \
--cc=maria.klimushenkova@ispras.ru \
--cc=mst@redhat.com \
--cc=peter.maydell@linaro.org \
--cc=qemu-devel@nongnu.org \
--cc=quintela@redhat.com \
--cc=zuban32s@gmail.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).