[PATCH] memory: use RCU_READ_LOCK_GUARD

Paolo Bonzini posted 1 patch 4 years, 3 months ago
Test asan failed
Test checkpatch passed
Test FreeBSD failed
Test docker-mingw@fedora failed
Test docker-clang@ubuntu failed
Test docker-quick@centos7 failed
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/1576246112-23406-1-git-send-email-pbonzini@redhat.com
Maintainers: Paolo Bonzini <pbonzini@redhat.com>
include/exec/memory.h | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
[PATCH] memory: use RCU_READ_LOCK_GUARD
Posted by Paolo Bonzini 4 years, 3 months ago
Cc: Dr. David Alan Gilbert <dgilbert@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 include/exec/memory.h | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/include/exec/memory.h b/include/exec/memory.h
index e499dc2..e42a9d7 100644
--- a/include/exec/memory.h
+++ b/include/exec/memory.h
@@ -2165,7 +2165,7 @@ MemTxResult address_space_read(AddressSpace *as, hwaddr addr,
 
     if (__builtin_constant_p(len)) {
         if (len) {
-            rcu_read_lock();
+            RCU_READ_LOCK_GUARD();
             fv = address_space_to_flatview(as);
             l = len;
             mr = flatview_translate(fv, addr, &addr1, &l, false, attrs);
@@ -2176,7 +2176,6 @@ MemTxResult address_space_read(AddressSpace *as, hwaddr addr,
                 result = flatview_read_continue(fv, addr, attrs, buf, len,
                                                 addr1, l, mr);
             }
-            rcu_read_unlock();
         }
     } else {
         result = address_space_read_full(as, addr, attrs, buf, len);
-- 
1.8.3.1


Re: [PATCH] memory: use RCU_READ_LOCK_GUARD
Posted by Dr. David Alan Gilbert 4 years, 3 months ago
* Paolo Bonzini (pbonzini@redhat.com) wrote:
> Cc: Dr. David Alan Gilbert <dgilbert@redhat.com>
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>

Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>

> ---
>  include/exec/memory.h | 3 +--
>  1 file changed, 1 insertion(+), 2 deletions(-)
> 
> diff --git a/include/exec/memory.h b/include/exec/memory.h
> index e499dc2..e42a9d7 100644
> --- a/include/exec/memory.h
> +++ b/include/exec/memory.h
> @@ -2165,7 +2165,7 @@ MemTxResult address_space_read(AddressSpace *as, hwaddr addr,
>  
>      if (__builtin_constant_p(len)) {
>          if (len) {
> -            rcu_read_lock();
> +            RCU_READ_LOCK_GUARD();
>              fv = address_space_to_flatview(as);
>              l = len;
>              mr = flatview_translate(fv, addr, &addr1, &l, false, attrs);
> @@ -2176,7 +2176,6 @@ MemTxResult address_space_read(AddressSpace *as, hwaddr addr,
>                  result = flatview_read_continue(fv, addr, attrs, buf, len,
>                                                  addr1, l, mr);
>              }
> -            rcu_read_unlock();
>          }
>      } else {
>          result = address_space_read_full(as, addr, attrs, buf, len);
> -- 
> 1.8.3.1
> 
--
Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK