qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH] apic: Make APIC ID limit error message clearer
@ 2018-11-26 22:56 Eduardo Habkost
  2018-12-03 21:07 ` Wainer dos Santos Moschetta
  0 siblings, 1 reply; 4+ messages in thread
From: Eduardo Habkost @ 2018-11-26 22:56 UTC (permalink / raw)
  To: Markus Armbruster, qemu-devel
  Cc: Paolo Bonzini, Eric Blake, Wainer dos Santos Moschetta,
	Michael S. Tsirkin

Remove the "apic initialization failed" prefix (it conveys no
useful information), replace "invalid" with "too large", and add
an error hint with two possible solutions for the problem.

Before:

  $ qemu-system-x86_64 -machine q35 -smp 256
  qemu-system-x86_64: apic initialization failed. APIC ID 255 is invalid

After:

  $ qemu-system-x86_64 -machine q35 -smp 256 -display none
  qemu-system-x86_64: APIC ID 255 is too large
  Possible solutions:
  * Lowering the number of VCPUs on the -smp option
  * Using accel=kvm,kernel-irqchip=on or accel=kvm,kernel-irqchip=split

Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
---
I'm not sure this is the best way to provide usage hints to the
user.  Any suggestions?
---
 hw/intc/apic.c | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/hw/intc/apic.c b/hw/intc/apic.c
index 97ffdd820f..f08006334d 100644
--- a/hw/intc/apic.c
+++ b/hw/intc/apic.c
@@ -886,8 +886,11 @@ static void apic_realize(DeviceState *dev, Error **errp)
     APICCommonState *s = APIC(dev);
 
     if (s->id >= MAX_APICS) {
-        error_setg(errp, "%s initialization failed. APIC ID %d is invalid",
-                   object_get_typename(OBJECT(dev)), s->id);
+        error_setg(errp, "APIC ID %d is too large", s->id);
+        error_append_hint(errp,
+            "Possible solutions:\n"
+            "* Lowering the number of VCPUs on the -smp option\n"
+            "* Using accel=kvm,kernel-irqchip=on or accel=kvm,kernel-irqchip=split\n");
         return;
     }
 
-- 
2.18.0.rc1.1.g3f1ff2140

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [Qemu-devel] [PATCH] apic: Make APIC ID limit error message clearer
  2018-11-26 22:56 [Qemu-devel] [PATCH] apic: Make APIC ID limit error message clearer Eduardo Habkost
@ 2018-12-03 21:07 ` Wainer dos Santos Moschetta
  2018-12-04 18:21   ` Eduardo Habkost
  0 siblings, 1 reply; 4+ messages in thread
From: Wainer dos Santos Moschetta @ 2018-12-03 21:07 UTC (permalink / raw)
  To: Eduardo Habkost, Markus Armbruster, qemu-devel
  Cc: Paolo Bonzini, Eric Blake, Michael S. Tsirkin


On 11/26/2018 08:56 PM, Eduardo Habkost wrote:
> Remove the "apic initialization failed" prefix (it conveys no
> useful information), replace "invalid" with "too large", and add
> an error hint with two possible solutions for the problem.
>
> Before:
>
>    $ qemu-system-x86_64 -machine q35 -smp 256
>    qemu-system-x86_64: apic initialization failed. APIC ID 255 is invalid
>
> After:
>
>    $ qemu-system-x86_64 -machine q35 -smp 256 -display none
>    qemu-system-x86_64: APIC ID 255 is too large

I would keep the problem "apic initialization failed" sentence. "APIC ID 
255 is too large" is just the cause.

>    Possible solutions:
>    * Lowering the number of VCPUs on the -smp option
>    * Using accel=kvm,kernel-irqchip=on or accel=kvm,kernel-irqchip=split
>
> Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
> ---
> I'm not sure this is the best way to provide usage hints to the
> user.  Any suggestions?

As a noob, I can testify that this kind of suggestion is very useful 
although there seems to not have many on QEMU. On the other hand, I 
understand it can make qemu verbose and so annoy people. Thus, maybe 
those suggestions could be enabled/disabled via options (e.g. -show-hints)?

- Wainer

> ---
>   hw/intc/apic.c | 7 +++++--
>   1 file changed, 5 insertions(+), 2 deletions(-)
>
> diff --git a/hw/intc/apic.c b/hw/intc/apic.c
> index 97ffdd820f..f08006334d 100644
> --- a/hw/intc/apic.c
> +++ b/hw/intc/apic.c
> @@ -886,8 +886,11 @@ static void apic_realize(DeviceState *dev, Error **errp)
>       APICCommonState *s = APIC(dev);
>   
>       if (s->id >= MAX_APICS) {
> -        error_setg(errp, "%s initialization failed. APIC ID %d is invalid",
> -                   object_get_typename(OBJECT(dev)), s->id);
> +        error_setg(errp, "APIC ID %d is too large", s->id);
> +        error_append_hint(errp,
> +            "Possible solutions:\n"
> +            "* Lowering the number of VCPUs on the -smp option\n"
> +            "* Using accel=kvm,kernel-irqchip=on or accel=kvm,kernel-irqchip=split\n");
>           return;
>       }
>   

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [Qemu-devel] [PATCH] apic: Make APIC ID limit error message clearer
  2018-12-03 21:07 ` Wainer dos Santos Moschetta
@ 2018-12-04 18:21   ` Eduardo Habkost
  2018-12-05  7:29     ` Markus Armbruster
  0 siblings, 1 reply; 4+ messages in thread
From: Eduardo Habkost @ 2018-12-04 18:21 UTC (permalink / raw)
  To: Wainer dos Santos Moschetta
  Cc: Markus Armbruster, qemu-devel, Paolo Bonzini, Eric Blake,
	Michael S. Tsirkin

On Mon, Dec 03, 2018 at 07:07:10PM -0200, Wainer dos Santos Moschetta wrote:
> 
> On 11/26/2018 08:56 PM, Eduardo Habkost wrote:
> > Remove the "apic initialization failed" prefix (it conveys no
> > useful information), replace "invalid" with "too large", and add
> > an error hint with two possible solutions for the problem.
> > 
> > Before:
> > 
> >    $ qemu-system-x86_64 -machine q35 -smp 256
> >    qemu-system-x86_64: apic initialization failed. APIC ID 255 is invalid
> > 
> > After:
> > 
> >    $ qemu-system-x86_64 -machine q35 -smp 256 -display none
> >    qemu-system-x86_64: APIC ID 255 is too large
> 
> I would keep the problem "apic initialization failed" sentence. "APIC ID 255
> is too large" is just the cause.

I'm not sure I agree.  "APIC initialization failed" doesn't
convey any useful information to the user, does it?


> 
> >    Possible solutions:
> >    * Lowering the number of VCPUs on the -smp option
> >    * Using accel=kvm,kernel-irqchip=on or accel=kvm,kernel-irqchip=split
> > 
> > Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
> > ---
> > I'm not sure this is the best way to provide usage hints to the
> > user.  Any suggestions?
> 
> As a noob, I can testify that this kind of suggestion is very useful
> although there seems to not have many on QEMU. On the other hand, I
> understand it can make qemu verbose and so annoy people. Thus, maybe those
> suggestions could be enabled/disabled via options (e.g. -show-hints)?

I can't imagine who would be annoyed by them.


> 
> - Wainer
> 
> > ---
> >   hw/intc/apic.c | 7 +++++--
> >   1 file changed, 5 insertions(+), 2 deletions(-)
> > 
> > diff --git a/hw/intc/apic.c b/hw/intc/apic.c
> > index 97ffdd820f..f08006334d 100644
> > --- a/hw/intc/apic.c
> > +++ b/hw/intc/apic.c
> > @@ -886,8 +886,11 @@ static void apic_realize(DeviceState *dev, Error **errp)
> >       APICCommonState *s = APIC(dev);
> >       if (s->id >= MAX_APICS) {
> > -        error_setg(errp, "%s initialization failed. APIC ID %d is invalid",
> > -                   object_get_typename(OBJECT(dev)), s->id);
> > +        error_setg(errp, "APIC ID %d is too large", s->id);
> > +        error_append_hint(errp,
> > +            "Possible solutions:\n"
> > +            "* Lowering the number of VCPUs on the -smp option\n"
> > +            "* Using accel=kvm,kernel-irqchip=on or accel=kvm,kernel-irqchip=split\n");
> >           return;
> >       }
> 

-- 
Eduardo

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [Qemu-devel] [PATCH] apic: Make APIC ID limit error message clearer
  2018-12-04 18:21   ` Eduardo Habkost
@ 2018-12-05  7:29     ` Markus Armbruster
  0 siblings, 0 replies; 4+ messages in thread
From: Markus Armbruster @ 2018-12-05  7:29 UTC (permalink / raw)
  To: Eduardo Habkost
  Cc: Wainer dos Santos Moschetta, Paolo Bonzini, Michael S. Tsirkin,
	qemu-devel

Eduardo Habkost <ehabkost@redhat.com> writes:

> On Mon, Dec 03, 2018 at 07:07:10PM -0200, Wainer dos Santos Moschetta wrote:
>> 
>> On 11/26/2018 08:56 PM, Eduardo Habkost wrote:
>> > Remove the "apic initialization failed" prefix (it conveys no
>> > useful information), replace "invalid" with "too large", and add
>> > an error hint with two possible solutions for the problem.
>> > 
>> > Before:
>> > 
>> >    $ qemu-system-x86_64 -machine q35 -smp 256
>> >    qemu-system-x86_64: apic initialization failed. APIC ID 255 is invalid
>> > 
>> > After:
>> > 
>> >    $ qemu-system-x86_64 -machine q35 -smp 256 -display none
>> >    qemu-system-x86_64: APIC ID 255 is too large
>> 
>> I would keep the problem "apic initialization failed" sentence. "APIC ID 255
>> is too large" is just the cause.
>
> I'm not sure I agree.  "APIC initialization failed" doesn't
> convey any useful information to the user, does it?

Concur.

>> >    Possible solutions:
>> >    * Lowering the number of VCPUs on the -smp option
>> >    * Using accel=kvm,kernel-irqchip=on or accel=kvm,kernel-irqchip=split
>> > 
>> > Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
>> > ---
>> > I'm not sure this is the best way to provide usage hints to the
>> > user.  Any suggestions?
>> 
>> As a noob, I can testify that this kind of suggestion is very useful
>> although there seems to not have many on QEMU. On the other hand, I
>> understand it can make qemu verbose and so annoy people. Thus, maybe those
>> suggestions could be enabled/disabled via options (e.g. -show-hints)?
>
> I can't imagine who would be annoyed by them.

A few lines of hints are fine.  Longer than that and the error becomes
hard to spot among the hints.

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2018-12-05  7:29 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-11-26 22:56 [Qemu-devel] [PATCH] apic: Make APIC ID limit error message clearer Eduardo Habkost
2018-12-03 21:07 ` Wainer dos Santos Moschetta
2018-12-04 18:21   ` Eduardo Habkost
2018-12-05  7:29     ` Markus Armbruster

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).