diff mbox series

[v3,1/2] migration: Split ram_bytes_total_common() in two functions

Message ID 20230208141402.18865-2-quintela@redhat.com
State New
Headers show
Series migration: Store ram size value | expand

Commit Message

Juan Quintela Feb. 8, 2023, 2:14 p.m. UTC
It is just a big if in the middle of the function, and we need two
functions anways.

Signed-off-by: Juan Quintela <quintela@redhat.com>
---
 migration/ram.c | 25 ++++++++++++++-----------
 1 file changed, 14 insertions(+), 11 deletions(-)

Comments

Philippe Mathieu-Daudé Feb. 8, 2023, 2:54 p.m. UTC | #1
On 8/2/23 15:14, Juan Quintela wrote:
> It is just a big if in the middle of the function, and we need two
> functions anways.

Typo "anyways".

> 
> Signed-off-by: Juan Quintela <quintela@redhat.com>
> ---
>   migration/ram.c | 25 ++++++++++++++-----------
>   1 file changed, 14 insertions(+), 11 deletions(-)
> @@ -3222,7 +3224,8 @@ static int ram_save_setup(QEMUFile *f, void *opaque)
>       (*rsp)->pss[RAM_CHANNEL_PRECOPY].pss_channel = f;
>   
>       WITH_RCU_READ_LOCK_GUARD() {
> -        qemu_put_be64(f, ram_bytes_total_common(true) | RAM_SAVE_FLAG_MEM_SIZE);
> +        qemu_put_be64(f, ram_bytes_total_with_ignored()
> +                      | RAM_SAVE_FLAG_MEM_SIZE);

Per CODING_STYLE the '|' should go under ram_bytes_total_with_ignored ;)

            qemu_put_be64(f, ram_bytes_total_with_ignored()
                             | RAM_SAVE_FLAG_MEM_SIZE);

>           RAMBLOCK_FOREACH_MIGRATABLE(block) {
>               qemu_put_byte(f, strlen(block->idstr));
Juan Quintela Feb. 8, 2023, 2:57 p.m. UTC | #2
Philippe Mathieu-Daudé <philmd@linaro.org> wrote:
> On 8/2/23 15:14, Juan Quintela wrote:
>> It is just a big if in the middle of the function, and we need two
>> functions anways.
>
> Typo "anyways".
>
>> Signed-off-by: Juan Quintela <quintela@redhat.com>
>> ---
>>   migration/ram.c | 25 ++++++++++++++-----------
>>   1 file changed, 14 insertions(+), 11 deletions(-)
>> @@ -3222,7 +3224,8 @@ static int ram_save_setup(QEMUFile *f, void *opaque)
>>       (*rsp)->pss[RAM_CHANNEL_PRECOPY].pss_channel = f;
>>         WITH_RCU_READ_LOCK_GUARD() {
>> -        qemu_put_be64(f, ram_bytes_total_common(true) | RAM_SAVE_FLAG_MEM_SIZE);
>> +        qemu_put_be64(f, ram_bytes_total_with_ignored()
>> +                      | RAM_SAVE_FLAG_MEM_SIZE);
>
> Per CODING_STYLE the '|' should go under ram_bytes_total_with_ignored ;)

I thought so.  But emacs autoindent put it there.  And as proud follower
of the Emacs cult, emacs is never wrong O:-)

>            qemu_put_be64(f, ram_bytes_total_with_ignored()
>                             | RAM_SAVE_FLAG_MEM_SIZE);
>
>>           RAMBLOCK_FOREACH_MIGRATABLE(block) {
>>               qemu_put_byte(f, strlen(block->idstr));

I would have to see what I need to change in the indentation code to
make this correct.

BTW, nice catch.

Later, Juan.
diff mbox series

Patch

diff --git a/migration/ram.c b/migration/ram.c
index b966e148c2..24c96ea822 100644
--- a/migration/ram.c
+++ b/migration/ram.c
@@ -2596,28 +2596,30 @@  void acct_update_position(QEMUFile *f, size_t size, bool zero)
     }
 }
 
-static uint64_t ram_bytes_total_common(bool count_ignored)
+static uint64_t ram_bytes_total_with_ignored(void)
 {
     RAMBlock *block;
     uint64_t total = 0;
 
     RCU_READ_LOCK_GUARD();
 
-    if (count_ignored) {
-        RAMBLOCK_FOREACH_MIGRATABLE(block) {
-            total += block->used_length;
-        }
-    } else {
-        RAMBLOCK_FOREACH_NOT_IGNORED(block) {
-            total += block->used_length;
-        }
+    RAMBLOCK_FOREACH_MIGRATABLE(block) {
+        total += block->used_length;
     }
     return total;
 }
 
 uint64_t ram_bytes_total(void)
 {
-    return ram_bytes_total_common(false);
+    RAMBlock *block;
+    uint64_t total = 0;
+
+    RCU_READ_LOCK_GUARD();
+
+    RAMBLOCK_FOREACH_NOT_IGNORED(block) {
+        total += block->used_length;
+    }
+    return total;
 }
 
 static void xbzrle_load_setup(void)
@@ -3222,7 +3224,8 @@  static int ram_save_setup(QEMUFile *f, void *opaque)
     (*rsp)->pss[RAM_CHANNEL_PRECOPY].pss_channel = f;
 
     WITH_RCU_READ_LOCK_GUARD() {
-        qemu_put_be64(f, ram_bytes_total_common(true) | RAM_SAVE_FLAG_MEM_SIZE);
+        qemu_put_be64(f, ram_bytes_total_with_ignored()
+                      | RAM_SAVE_FLAG_MEM_SIZE);
 
         RAMBLOCK_FOREACH_MIGRATABLE(block) {
             qemu_put_byte(f, strlen(block->idstr));