[Qemu-devel] [PATCH] memory: set ioeventfd_update_pending after address_space_update_ioeventfds

linzhecheng posted 1 patch 6 years, 3 months ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/1515934519-16158-1-git-send-email-linzc@zju.edu.cn
Test checkpatch passed
Test docker passed
Test ppc passed
Test s390x passed
memory.c | 1 +
1 file changed, 1 insertion(+)
[Qemu-devel] [PATCH] memory: set ioeventfd_update_pending after address_space_update_ioeventfds
Posted by linzhecheng 6 years, 3 months ago
We should set ioeventfd_update_pending same as memory_region_update_pending.

Signed-off-by: linzhecheng <linzc@zju.edu.cn>
---
 memory.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/memory.c b/memory.c
index 4b41fb8..0cf39d0 100644
--- a/memory.c
+++ b/memory.c
@@ -1091,6 +1091,7 @@ void memory_region_transaction_commit(void)
                 address_space_update_ioeventfds(as);
             }
             memory_region_update_pending = false;
+            ioeventfd_update_pending = false;
             MEMORY_LISTENER_CALL_GLOBAL(commit, Forward);
         } else if (ioeventfd_update_pending) {
             QTAILQ_FOREACH(as, &address_spaces, address_spaces_link) {
-- 
1.8.3.1


Re: [Qemu-devel] [PATCH] memory: set ioeventfd_update_pending after address_space_update_ioeventfds
Posted by Paolo Bonzini 6 years, 3 months ago
On 14/01/2018 13:55, linzhecheng wrote:
> We should set ioeventfd_update_pending same as memory_region_update_pending.
> 
> Signed-off-by: linzhecheng <linzc@zju.edu.cn>

Thanks.  This indeed fixes a bug introduced by commit
ade9c1aac5292ff698fa550adebe794c37d86cc9.

Paolo

> ---
>  memory.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/memory.c b/memory.c
> index 4b41fb8..0cf39d0 100644
> --- a/memory.c
> +++ b/memory.c
> @@ -1091,6 +1091,7 @@ void memory_region_transaction_commit(void)
>                  address_space_update_ioeventfds(as);
>              }
>              memory_region_update_pending = false;
> +            ioeventfd_update_pending = false;
>              MEMORY_LISTENER_CALL_GLOBAL(commit, Forward);
>          } else if (ioeventfd_update_pending) {
>              QTAILQ_FOREACH(as, &address_spaces, address_spaces_link) {
>