From: Paolo Bonzini <pbonzini@redhat.com>
To: Stefan Hajnoczi <stefanha@gmail.com>
Cc: Peter Maydell <peter.maydell@linaro.org>,
Anthony Liguori <aliguori@us.ibm.com>,
Jan Kiszka <jan.kiszka@siemens.com>,
Marcelo Tosatti <mtosatti@redhat.com>,
liu ping fan <qemulist@gmail.com>,
qemu-devel@nongnu.org,
Vasilis Liaskovitis <vasilis.liaskovitis@profitbricks.com>
Subject: Re: [Qemu-devel] [PATCH 2/5] hostmem: make hostmem global and RAM hotunplg safe
Date: Fri, 12 Apr 2013 12:03:40 +0200 [thread overview]
Message-ID: <5167DBFC.2060405@redhat.com> (raw)
In-Reply-To: <20130412083855.GC31055@stefanha-thinkpad.redhat.com>
Il 12/04/2013 10:38, Stefan Hajnoczi ha scritto:
>> > Yes, protect. Supposed we have HostMem A, and it will become B. Then
>> > hostmem_lookup will either see A or B. If it see A, it should use A
>> > refcnt agaist hostmem_listener_commit to drop A. This refcnt has no
>> > relation with mr's object's refcnt.
> My question is why you are accessing cur_hostmem outside hostmem_lock
> but then assigning it inside the lock on the next line...
>
>>>> > >> + cur_hostmem = next_hostmem;
> ...here.
>
> If you want an atomic exchange then tmp = cur_hostmem should be inside
> the lock.
It will work because readers will grab either the hostmem_lock or the
BQL, while writers will grab both. A kind of local/global lock, but I'm
not sure it was intentional. :) It's simpler to just move the read
inside the lock.
Paolo
next prev parent reply other threads:[~2013-04-12 10:03 UTC|newest]
Thread overview: 35+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-04-01 8:20 [Qemu-devel] [PATCH 0/5] proposal to make hostmem listener RAM unplug safe Liu Ping Fan
2013-04-01 8:20 ` [Qemu-devel] [PATCH 1/5] memory: add ref/unref interface for MemroyRegionOps Liu Ping Fan
2013-04-11 9:49 ` Stefan Hajnoczi
2013-04-12 4:12 ` liu ping fan
2013-04-01 8:20 ` [Qemu-devel] [PATCH 2/5] hostmem: make hostmem global and RAM hotunplg safe Liu Ping Fan
2013-04-02 6:11 ` li guang
2013-04-11 10:09 ` Paolo Bonzini
2013-04-12 6:46 ` liu ping fan
2013-04-12 8:21 ` Stefan Hajnoczi
2013-04-11 10:11 ` Stefan Hajnoczi
2013-04-11 10:26 ` Paolo Bonzini
2013-04-12 3:55 ` liu ping fan
2013-04-12 8:38 ` Stefan Hajnoczi
2013-04-12 10:03 ` Paolo Bonzini [this message]
2013-04-15 1:42 ` liu ping fan
2013-04-15 6:38 ` Paolo Bonzini
2013-04-01 8:20 ` [Qemu-devel] [PATCH 3/5] vring: use hostmem's RAM safe api Liu Ping Fan
2013-04-11 10:15 ` Stefan Hajnoczi
2013-04-12 4:49 ` liu ping fan
2013-04-12 8:41 ` Stefan Hajnoczi
2013-04-01 8:20 ` [Qemu-devel] [PATCH 4/5] virtio-blk: release reference to RAM's memoryRegion Liu Ping Fan
2013-04-02 5:58 ` li guang
2013-04-12 4:44 ` liu ping fan
2013-04-11 10:20 ` Stefan Hajnoczi
2013-04-12 4:48 ` liu ping fan
2013-04-12 8:45 ` Stefan Hajnoczi
2013-04-12 9:05 ` liu ping fan
2013-04-16 7:57 ` Stefan Hajnoczi
2013-04-16 8:12 ` Paolo Bonzini
2013-04-01 8:20 ` [Qemu-devel] [PATCH 5/5] hostmem: init/finalize hostmem listener Liu Ping Fan
2013-04-11 10:02 ` Paolo Bonzini
2013-04-11 12:08 ` liu ping fan
2013-04-11 13:14 ` Paolo Bonzini
2013-06-13 4:38 ` [Qemu-devel] about atexit() (was: [PATCH 5/5] hostmem: init/finalize hostmem listener) Amos Kong
2013-06-13 8:51 ` liu ping fan
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=5167DBFC.2060405@redhat.com \
--to=pbonzini@redhat.com \
--cc=aliguori@us.ibm.com \
--cc=jan.kiszka@siemens.com \
--cc=mtosatti@redhat.com \
--cc=peter.maydell@linaro.org \
--cc=qemu-devel@nongnu.org \
--cc=qemulist@gmail.com \
--cc=stefanha@gmail.com \
--cc=vasilis.liaskovitis@profitbricks.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 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.