[PATCH] LOCK GUARDS: replace manual lock()/unlock() calls to QEMU_LOCK_GUARD()

nyoro.gachu@gmail.com posted 1 patch 1 year, 5 months ago
Failed in applying to current master (apply log)
softmmu/physmem.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
[PATCH] LOCK GUARDS: replace manual lock()/unlock() calls to QEMU_LOCK_GUARD()
Posted by nyoro.gachu@gmail.com 1 year, 5 months ago
From: Samker <nyoro.martin@gmail.com>

This is patch replaces WITH_QEMU_LOCK_GUARD() call with the
QEMU_LOCK_GUARD()

Signed-off-by: Samker <nyoro.martin@gmail.com>
---
 softmmu/physmem.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/softmmu/physmem.c b/softmmu/physmem.c
index fb00596777..907491ae17 100644
--- a/softmmu/physmem.c
+++ b/softmmu/physmem.c
@@ -3115,7 +3115,7 @@ void cpu_register_map_client(QEMUBH *bh)
 {
     MapClient *client = g_malloc(sizeof(*client));
 
-    WITH_QEMU_LOCK_GUARD(&map_client_list_lock);
+    QEMU_LOCK_GUARD(&map_client_list_lock);
     client->bh = bh;
     QLIST_INSERT_HEAD(&map_client_list, client, link);
     if (!qatomic_read(&bounce.in_use)) {
@@ -3143,7 +3143,7 @@ void cpu_unregister_map_client(QEMUBH *bh)
 {
     MapClient *client;
 
-    WITH_QEMU_LOCK_GUARD(&map_client_list_lock);
+    QEMU_LOCK_GUARD(&map_client_list_lock);
     QLIST_FOREACH(client, &map_client_list, link) {
         if (client->bh == bh) {
             cpu_unregister_map_client_do(client);
-- 
2.25.1
Re: [PATCH] LOCK GUARDS: replace manual lock()/unlock() calls to QEMU_LOCK_GUARD()
Posted by Alex Bennée 1 year, 5 months ago
nyoro.gachu@gmail.com writes:

> From: Samker <nyoro.martin@gmail.com>
>
> This is patch replaces WITH_QEMU_LOCK_GUARD() call with the
> QEMU_LOCK_GUARD()

You could extend this description as to why ".. because it extends the
scope of the lock to the whole function rather than the non-existent
block".

Otherwise:

Reviewed-by: Alex Bennée <alex.bennee@linaro.org>


>
> Signed-off-by: Samker <nyoro.martin@gmail.com>
> ---
>  softmmu/physmem.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/softmmu/physmem.c b/softmmu/physmem.c
> index fb00596777..907491ae17 100644
> --- a/softmmu/physmem.c
> +++ b/softmmu/physmem.c
> @@ -3115,7 +3115,7 @@ void cpu_register_map_client(QEMUBH *bh)
>  {
>      MapClient *client = g_malloc(sizeof(*client));
>  
> -    WITH_QEMU_LOCK_GUARD(&map_client_list_lock);
> +    QEMU_LOCK_GUARD(&map_client_list_lock);
>      client->bh = bh;
>      QLIST_INSERT_HEAD(&map_client_list, client, link);
>      if (!qatomic_read(&bounce.in_use)) {
> @@ -3143,7 +3143,7 @@ void cpu_unregister_map_client(QEMUBH *bh)
>  {
>      MapClient *client;
>  
> -    WITH_QEMU_LOCK_GUARD(&map_client_list_lock);
> +    QEMU_LOCK_GUARD(&map_client_list_lock);
>      QLIST_FOREACH(client, &map_client_list, link) {
>          if (client->bh == bh) {
>              cpu_unregister_map_client_do(client);


-- 
Alex Bennée
Re: [PATCH] LOCK GUARDS: replace manual lock()/unlock() calls to QEMU_LOCK_GUARD()
Posted by Philippe Mathieu-Daudé 1 year, 5 months ago
Hi,

On 8/11/22 06:11, nyoro.gachu@gmail.com wrote:
> From: Samker <nyoro.martin@gmail.com>
> 
> This is patch replaces WITH_QEMU_LOCK_GUARD() call with the
> QEMU_LOCK_GUARD()
> 
> Signed-off-by: Samker <nyoro.martin@gmail.com>
> ---
>   softmmu/physmem.c | 4 ++--
>   1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/softmmu/physmem.c b/softmmu/physmem.c
> index fb00596777..907491ae17 100644
> --- a/softmmu/physmem.c
> +++ b/softmmu/physmem.c
> @@ -3115,7 +3115,7 @@ void cpu_register_map_client(QEMUBH *bh)
>   {
>       MapClient *client = g_malloc(sizeof(*client));
>   
> -    WITH_QEMU_LOCK_GUARD(&map_client_list_lock);
> +    QEMU_LOCK_GUARD(&map_client_list_lock);
>       client->bh = bh;
>       QLIST_INSERT_HEAD(&map_client_list, client, link);
>       if (!qatomic_read(&bounce.in_use)) {
> @@ -3143,7 +3143,7 @@ void cpu_unregister_map_client(QEMUBH *bh)
>   {
>       MapClient *client;
>   
> -    WITH_QEMU_LOCK_GUARD(&map_client_list_lock);
> +    QEMU_LOCK_GUARD(&map_client_list_lock);
>       QLIST_FOREACH(client, &map_client_list, link) {
>           if (client->bh == bh) {
>               cpu_unregister_map_client_do(client);

This patch doesn't apply...

$ git grep QEMU_LOCK_GUARD origin/master -- softmmu/physmem.c
$

On what is it based?
Re: [PATCH] LOCK GUARDS: replace manual lock()/unlock() calls to QEMU_LOCK_GUARD()
Posted by Martin Gachu 1 year, 5 months ago
Hi Philippe,

> This patch doesn't apply...

> $ git grep QEMU_LOCK_GUARD origin/master -- softmmu/physmem.c

> $

> On what is it based?

I initially replaced  lock()/unlock() calls in the softmmu/physmem.c with
the more preferred WITH_QEMU_LOCK_GUARD() call.

However Stefan pointed out that instead I should have used QEMU_LOCK_GUARD
when I don't want to use block scope.