qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH v1 6/9] softmmu/physmem: Don't use atomic operations in ram_b


From: Peter Xu
Subject: Re: [PATCH v1 6/9] softmmu/physmem: Don't use atomic operations in ram_block_discard_(disable|require)
Date: Thu, 19 Nov 2020 15:34:30 -0500

On Thu, Nov 19, 2020 at 04:39:15PM +0100, David Hildenbrand wrote:
>  int ram_block_discard_disable(bool state)
>  {
> -    int old;
> +    int ret = 0;
>  
> +    ram_block_discard_disable_mutex_lock();
>      if (!state) {
> -        qatomic_dec(&ram_block_discard_disabled);
> -        return 0;
> +        ram_block_discard_disablers--;
> +    } else if (!ram_block_discard_requirers) {
> +        ram_block_discard_disablers++;
> +    } else {
> +        ret = -EBUSY;
>      }

I would make things even easier by:

  if (ram_block_discard_is_required()) {
    return -EBUSY;
  }

  if (state) {
    ram_block_discard_disablers++;
  } else {
    ram_block_discard_disablers--;
  }

But I think it's kind of nitpicking. :)

Reviewed-by: Peter Xu <peterx@redhat.com>

Thanks for writing this patch.

-- 
Peter Xu




reply via email to

[Prev in Thread] Current Thread [Next in Thread]