diff mbox series

[RFC,08/15] migration: Dump ramblock and offset too when non-same-page detected

Message ID 20220119080929.39485-9-peterx@redhat.com (mailing list archive)
State New, archived
Headers show
Series migration: Postcopy Preemption | expand

Commit Message

Peter Xu Jan. 19, 2022, 8:09 a.m. UTC
In ram_load_postcopy() we'll try to detect non-same-page case and dump error.
This error is very helpful for debugging.  Adding ramblock & offset into the
error log too.

Signed-off-by: Peter Xu <peterx@redhat.com>
---
 migration/ram.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

Comments

Dr. David Alan Gilbert Feb. 3, 2022, 3:15 p.m. UTC | #1
* Peter Xu (peterx@redhat.com) wrote:
> In ram_load_postcopy() we'll try to detect non-same-page case and dump error.
> This error is very helpful for debugging.  Adding ramblock & offset into the
> error log too.
> 
> Signed-off-by: Peter Xu <peterx@redhat.com>

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

> ---
>  migration/ram.c | 8 ++++++--
>  1 file changed, 6 insertions(+), 2 deletions(-)
> 
> diff --git a/migration/ram.c b/migration/ram.c
> index 930e722e39..3f823ffffc 100644
> --- a/migration/ram.c
> +++ b/migration/ram.c
> @@ -3705,8 +3705,12 @@ static int ram_load_postcopy(QEMUFile *f)
>              } else if (tmp_page->host_addr !=
>                         host_page_from_ram_block_offset(block, addr)) {
>                  /* not the 1st TP within the HP */
> -                error_report("Non-same host page %p/%p", tmp_page->host_addr,
> -                             host_page_from_ram_block_offset(block, addr));
> +                error_report("Non-same host page detected.  Target host page %p, "
> +                             "received host page %p "
> +                             "(rb %s offset 0x"RAM_ADDR_FMT" target_pages %d)",
> +                             tmp_page->host_addr,
> +                             host_page_from_ram_block_offset(block, addr),
> +                             block->idstr, addr, tmp_page->target_pages);
>                  ret = -EINVAL;
>                  break;
>              }
> -- 
> 2.32.0
>
diff mbox series

Patch

diff --git a/migration/ram.c b/migration/ram.c
index 930e722e39..3f823ffffc 100644
--- a/migration/ram.c
+++ b/migration/ram.c
@@ -3705,8 +3705,12 @@  static int ram_load_postcopy(QEMUFile *f)
             } else if (tmp_page->host_addr !=
                        host_page_from_ram_block_offset(block, addr)) {
                 /* not the 1st TP within the HP */
-                error_report("Non-same host page %p/%p", tmp_page->host_addr,
-                             host_page_from_ram_block_offset(block, addr));
+                error_report("Non-same host page detected.  Target host page %p, "
+                             "received host page %p "
+                             "(rb %s offset 0x"RAM_ADDR_FMT" target_pages %d)",
+                             tmp_page->host_addr,
+                             host_page_from_ram_block_offset(block, addr),
+                             block->idstr, addr, tmp_page->target_pages);
                 ret = -EINVAL;
                 break;
             }