All of lore.kernel.org
 help / color / mirror / Atom feed
From: Markus Armbruster <armbru@redhat.com>
To: Alistair Francis <alistair.francis@xilinx.com>
Cc: qemu-devel@nongnu.org, alistair23@gmail.com,
	philippe@mathieu-daude.net, "Michael S. Tsirkin" <mst@redhat.com>,
	Igor Mammedov <imammedo@redhat.com>,
	Eduardo Habkost <ehabkost@redhat.com>
Subject: Re: [Qemu-devel] [PATCH v3 4/8] hw/i386: Improve some of the warning messages
Date: Wed, 12 Jul 2017 11:39:59 +0200	[thread overview]
Message-ID: <874lui9eog.fsf@dusky.pond.sub.org> (raw)
In-Reply-To: <b80b284089ce9d4664a5014b65266c0e25e40072.1499774331.git.alistair.francis@xilinx.com> (Alistair Francis's message of "Tue, 11 Jul 2017 05:07:26 -0700")

Alistair Francis <alistair.francis@xilinx.com> writes:

> Signed-off-by: Alistair Francis <alistair.francis@xilinx.com>
> Suggested-by: Eduardo Habkost <ehabkost@redhat.com>

You forgot to cc: Eduardo.  Fixed.

> ---
>
>  hw/i386/acpi-build.c | 7 ++++---
>  hw/i386/pc.c         | 9 ++++-----
>  hw/i386/pc_q35.c     | 4 ++--
>  3 files changed, 10 insertions(+), 10 deletions(-)
>
> diff --git a/hw/i386/acpi-build.c b/hw/i386/acpi-build.c
> index 6b7bade183..f9efb6be41 100644
> --- a/hw/i386/acpi-build.c
> +++ b/hw/i386/acpi-build.c
> @@ -2766,7 +2766,8 @@ void acpi_build(AcpiBuildTables *tables, MachineState *machine)
>                       ACPI_BUILD_ALIGN_SIZE);
>          if (tables_blob->len > legacy_table_size) {
>              /* Should happen only with PCI bridges and -M pc-i440fx-2.0.  */
> -            warn_report("migration may not work.");
> +            warn_report("ACPI tables are larger than legacy_table_size");
> +            warn_report("migration may not work");

The user has no idea what legacy_table_size means, what its value might
be, or what he can do to reduce it.

Recommend

               warn_report("ACPI tables too large, migration may not work");

If the user can do something to reduce the table size, printing suitable
hints would be nice.  Printing both tables_blob->len and
legacy_table_size might also help then.

>          }
>          g_array_set_size(tables_blob, legacy_table_size);
>      } else {
> @@ -2774,9 +2775,9 @@ void acpi_build(AcpiBuildTables *tables, MachineState *machine)
>          if (tables_blob->len > ACPI_BUILD_TABLE_SIZE / 2) {
>              /* As of QEMU 2.1, this fires with 160 VCPUs and 255 memory slots.  */
>              warn_report("ACPI tables are larger than 64k.");

The warning text hardcodes the value of ACPI_BUILD_TABLE_SIZE / 2.  Not
nice.  Clean up while there?

> -            warn_report("migration may not work.");
> +            warn_report("migration may not work");
>              warn_report("please remove CPUs, NUMA nodes, "
> -                        "memory slots or PCI bridges.");
> +                        "memory slots or PCI bridges");

Aha, here's what the user can do.

What about:

               warn_report("ACPI tables are large, migration may not work");
               error_printf("Try removing CPUs, NUMA nodes, memory slots"
                            " or PCI bridges.");

If we want to show actual size and limit, then this might do instead:

               warn_report("ACPI table size %u exceeds %d bytes,"
                           " migration may not work",
                           tables_blob->len, ACPI_BUILD_TABLE_SIZE / 2);
               error_printf("Try removing CPUs, NUMA nodes, memory slots"
                            " or PCI bridges.");

>          }
>          acpi_align_size(tables_blob, ACPI_BUILD_TABLE_SIZE);
>      }
> diff --git a/hw/i386/pc.c b/hw/i386/pc.c
> index 465e91cc5b..084ca796c2 100644
> --- a/hw/i386/pc.c
> +++ b/hw/i386/pc.c
> @@ -383,8 +383,8 @@ ISADevice *pc_find_fdc0(void)
>      if (state.multiple) {
>          warn_report("multiple floppy disk controllers with "
>                      "iobase=0x3f0 have been found");
> -        error_printf("the one being picked for CMOS setup might not reflect "
> -                     "your intent\n");
> +        warn_report("the one being picked for CMOS setup might not reflect "
> +                    "your intent");

Please keep error_printf() here.

>      }
>  
>      return state.floppy;
> @@ -2087,9 +2087,8 @@ static void pc_machine_set_max_ram_below_4g(Object *obj, Visitor *v,
>      }
>  
>      if (value < (1ULL << 20)) {
> -        warn_report("small max_ram_below_4g(%"PRIu64
> -                    ") less than 1M.  BIOS may not work..",
> -                    value);
> +        warn_report("max_ram_below_4g (%" PRIu64 ") is less than 1M; "
> +                    "BIOS may not work.", value);

The user has no idea what max_ram_below_4g might be.  Suggest:

           warn_report("Only %" PRIu64 " bytes of RAM below the 4GiB boundary,"
                       "BIOS may not work with less than 1MiB");

>      }
>  
>      pcms->max_ram_below_4g = value;
> diff --git a/hw/i386/pc_q35.c b/hw/i386/pc_q35.c
> index 1653a47f0a..682c576cf1 100644
> --- a/hw/i386/pc_q35.c
> +++ b/hw/i386/pc_q35.c
> @@ -101,8 +101,8 @@ static void pc_q35_init(MachineState *machine)
>          lowmem = pcms->max_ram_below_4g;
>          if (machine->ram_size - lowmem > lowmem &&
>              lowmem & ((1ULL << 30) - 1)) {
> -            warn_report("Large machine and max_ram_below_4g(%"PRIu64
> -                        ") not a multiple of 1G; possible bad performance.",
> +            warn_report("Large machine and max_ram_below_4g (%"PRIu64") not a "
> +                        "multiple of 1G; possible bad performance.",

Space between string literal and PRIu64, please.

The user has no idea what max_ram_below_4g might be, or what makes the
machine "large".

>                          pcms->max_ram_below_4g);
>          }
>      }

  reply	other threads:[~2017-07-12  9:40 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-07-11 12:07 [Qemu-devel] [PATCH v3 0/8] Implement a warning_report function Alistair Francis
2017-07-11 12:07 ` [Qemu-devel] [PATCH v3 1/8] util/qemu-error: Rename error_print_loc() to be more generic Alistair Francis
2017-07-11 12:07 ` [Qemu-devel] [PATCH v3 2/8] error: Functions to report warnings and informational messages Alistair Francis
2017-07-12  7:57   ` Markus Armbruster
2017-07-12 10:48     ` Alistair Francis
2017-07-11 12:07 ` [Qemu-devel] [PATCH v3 3/8] Convert error_report() to warn_report() Alistair Francis
2017-07-11 16:51   ` Max Reitz
2017-07-12  8:34   ` Markus Armbruster
2017-07-12 10:46     ` Alistair Francis
2017-07-11 12:07 ` [Qemu-devel] [PATCH v3 4/8] hw/i386: Improve some of the warning messages Alistair Francis
2017-07-12  9:39   ` Markus Armbruster [this message]
2017-07-12 19:45     ` Eduardo Habkost
2017-07-13  6:24       ` Markus Armbruster
2017-07-13  7:10         ` Alistair Francis
2017-07-11 12:07 ` [Qemu-devel] [PATCH v3 5/8] char-socket: Report TCP socket waiting as information Alistair Francis
2017-07-11 12:07 ` [Qemu-devel] [PATCH v3 6/8] error: Implement the warn and free Error functions Alistair Francis
2017-07-11 12:07 ` [Qemu-devel] [PATCH v3 7/8] Convert error_report*_err() to warn_report*_err() Alistair Francis
2017-07-11 12:07 ` [Qemu-devel] [PATCH v3 8/8] error: Add a 'error: ' prefix to error_report() Alistair Francis
2017-07-11 17:44   ` Max Reitz
2017-07-12 12:27     ` Alistair Francis
2017-07-12 12:37       ` Max Reitz
2017-07-12 13:03       ` Markus Armbruster
2017-07-11 13:58 ` [Qemu-devel] [PATCH v3 0/8] Implement a warning_report function no-reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=874lui9eog.fsf@dusky.pond.sub.org \
    --to=armbru@redhat.com \
    --cc=alistair.francis@xilinx.com \
    --cc=alistair23@gmail.com \
    --cc=ehabkost@redhat.com \
    --cc=imammedo@redhat.com \
    --cc=mst@redhat.com \
    --cc=philippe@mathieu-daude.net \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.