public inbox for kvm@vger.kernel.org
 help / color / mirror / Atom feed
From: Eduardo Habkost <ehabkost@redhat.com>
To: Laszlo Ersek <lersek@redhat.com>
Cc: qemu-devel@nongnu.org, Haozhong Zhang <haozhong.zhang@intel.com>,
	kvm@vger.kernel.org, "Michael S. Tsirkin" <mst@redhat.com>,
	Marcelo Tosatti <mtosatti@redhat.com>,
	Igor Mammedov <imammedo@redhat.com>,
	Paolo Bonzini <pbonzini@redhat.com>
Subject: Re: [Qemu-devel] [PATCH 3/4] pc: Add 2.9 machine-types
Date: Wed, 4 Jan 2017 15:46:25 -0200	[thread overview]
Message-ID: <20170104174625.GL3315@thinpad.lan.raisama.net> (raw)
In-Reply-To: <4c5191bf-aac6-a702-126e-a27f9cb2d941@redhat.com>

On Wed, Jan 04, 2017 at 05:40:08PM +0100, Laszlo Ersek wrote:
> On 01/04/17 15:20, Eduardo Habkost wrote:
> > On Wed, Jan 04, 2017 at 03:01:07PM +0100, Laszlo Ersek wrote:
> >> On 12/27/16 20:21, Eduardo Habkost wrote:
> >>> Cc: "Michael S. Tsirkin" <mst@redhat.com>
> >>> Cc: Laszlo Ersek <lersek@redhat.com>
> >>> Cc: Igor Mammedov <imammedo@redhat.com>
> >>> Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
> >>> ---
> >>>  include/hw/i386/pc.h |  1 +
> >>>  hw/i386/pc_piix.c    | 15 ++++++++++++---
> >>>  hw/i386/pc_q35.c     | 13 +++++++++++--
> >>>  3 files changed, 24 insertions(+), 5 deletions(-)
> >>>
> >>> diff --git a/include/hw/i386/pc.h b/include/hw/i386/pc.h
> >>> index b22e699..ceeacca 100644
> >>> --- a/include/hw/i386/pc.h
> >>> +++ b/include/hw/i386/pc.h
> >>> @@ -375,6 +375,7 @@ int e820_get_num_entries(void);
> >>>  bool e820_get_entry(int, uint32_t, uint64_t *, uint64_t *);
> >>>  
> >>>  #define PC_COMPAT_2_8 \
> >>> +    HW_COMPAT_2_8
> >>>  
> >>>  #define PC_COMPAT_2_7 \
> >>>      HW_COMPAT_2_7 \
> >>
> >> Here I would recommend two things:
> >> - introduce an empty PC_COMPAT_2_9 macro
> >> - in the PC_COMPAT_2_8 macro being modified, add a trailing backslash
> >>   after HW_COMPAT_2_8
> >>
> >> Both of these aim at keeping up the current pattern; namely, for the
> >> most recent machine type, a PC_COMPAT macro should exist (even if empty
> >> / unused),
> > 
> > Why? An empty and unused macro would only confuse people reading
> > the code. The empty PC_COMPAT_2_8 macro was added to the 2.8 tree
> > by mistake in commit 14c985cffa6c.
> 
> * First, the mistake was not in commit 14c985cffa6cb -- I see that "git
> blame" fingers that commit, but if you actually show the commit, it
> added the macro with a non-empty replacement text:
> 
> +#define PC_COMPAT_2_8 \
> +    {\
> +        .driver   = TYPE_X86_CPU,\
> +        .property = "l3-cache",\
> +        .value    = "off",\
> +    },
> +
> +

The mistake on 14c985cffa6c was adding a macro that was not used
for anything.

> 
> Instead, the mistake was (apparently) in commit 152fcbecad37, where
> PC_COMPAT_2_8 was "emptied", but preserved.

Yes, I agree this was (also) a mistake.

> 
> * Second, you do realize periodic contributors / reviewers like me
> cannot be expected to do a good job writing / reviewing patches if
> existing practice in the tree cannot be trusted as example.

I agree completely. :)

> 
> If a standalone (empty) PC_COMPAT_2_9 macro is wrong / confusing (which
> I agree it could be), then the empty PC_COMPAT_2_8 macro was wrong /
> confusing just the same, and the reviewers of 152fcbecad37 should have
> arguably caught it at that time.

Yes, I agree. I just thought you had a reason to believe the
existing empty macro was useful for something.

I did ask Igor to remove the PC_COMPAT_2_8 macro[1]. Michael and
Igor insisted that this should be done by a separate patch. That
additional patch was never written, though, and that's also my
fault (I just forgot about it after sending my R-b).

[1] https://www.mail-archive.com/qemu-devel@nongnu.org/msg398426.html


> 
> Anyway, my R-b stands, with whichever updates you prefer from my
> suggestions.

Thanks!

> 
> Thanks
> Laszlo
> 
> > 
> >>            plus each PC_COMPAT macro should be extensible by plain
> >> appending (hence the final trailing backslash).
> > 
> > Good idea.
> > 
> >>
> >> Functionally the above hunk is good of course, so I'll leave it to you
> >> whether you actually want to address my comments.
> >>
> >> The rest looks fine; I should be able to rebase my broadcast SMI (v5)
> >> stuff to this.
> >>
> >> Changed or unchanged:
> >>
> >> Reviewed-by: Laszlo Ersek <lersek@redhat.com>
> > 
> > Thanks!
> > 
> >>
> >> Thanks
> >> Laszlo
> >>
> >>> diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c
> >>> index 5e1adbe..9f102aa 100644
> >>> --- a/hw/i386/pc_piix.c
> >>> +++ b/hw/i386/pc_piix.c
> >>> @@ -437,13 +437,24 @@ static void pc_i440fx_machine_options(MachineClass *m)
> >>>      m->default_display = "std";
> >>>  }
> >>>  
> >>> -static void pc_i440fx_2_8_machine_options(MachineClass *m)
> >>> +static void pc_i440fx_2_9_machine_options(MachineClass *m)
> >>>  {
> >>>      pc_i440fx_machine_options(m);
> >>>      m->alias = "pc";
> >>>      m->is_default = 1;
> >>>  }
> >>>  
> >>> +DEFINE_I440FX_MACHINE(v2_9, "pc-i440fx-2.9", NULL,
> >>> +                      pc_i440fx_2_9_machine_options);
> >>> +
> >>> +static void pc_i440fx_2_8_machine_options(MachineClass *m)
> >>> +{
> >>> +    pc_i440fx_2_9_machine_options(m);
> >>> +    m->is_default = 0;
> >>> +    m->alias = NULL;
> >>> +    SET_MACHINE_COMPAT(m, PC_COMPAT_2_8);
> >>> +}
> >>> +
> >>>  DEFINE_I440FX_MACHINE(v2_8, "pc-i440fx-2.8", NULL,
> >>>                        pc_i440fx_2_8_machine_options);
> >>>  
> >>> @@ -451,8 +462,6 @@ DEFINE_I440FX_MACHINE(v2_8, "pc-i440fx-2.8", NULL,
> >>>  static void pc_i440fx_2_7_machine_options(MachineClass *m)
> >>>  {
> >>>      pc_i440fx_2_8_machine_options(m);
> >>> -    m->is_default = 0;
> >>> -    m->alias = NULL;
> >>>      SET_MACHINE_COMPAT(m, PC_COMPAT_2_7);
> >>>  }
> >>>  
> >>> diff --git a/hw/i386/pc_q35.c b/hw/i386/pc_q35.c
> >>> index d042fe0..dd792a8 100644
> >>> --- a/hw/i386/pc_q35.c
> >>> +++ b/hw/i386/pc_q35.c
> >>> @@ -301,19 +301,28 @@ static void pc_q35_machine_options(MachineClass *m)
> >>>      m->max_cpus = 288;
> >>>  }
> >>>  
> >>> -static void pc_q35_2_8_machine_options(MachineClass *m)
> >>> +static void pc_q35_2_9_machine_options(MachineClass *m)
> >>>  {
> >>>      pc_q35_machine_options(m);
> >>>      m->alias = "q35";
> >>>  }
> >>>  
> >>> +DEFINE_Q35_MACHINE(v2_9, "pc-q35-2.9", NULL,
> >>> +                   pc_q35_2_9_machine_options);
> >>> +
> >>> +static void pc_q35_2_8_machine_options(MachineClass *m)
> >>> +{
> >>> +    pc_q35_2_9_machine_options(m);
> >>> +    m->alias = NULL;
> >>> +    SET_MACHINE_COMPAT(m, PC_COMPAT_2_8);
> >>> +}
> >>> +
> >>>  DEFINE_Q35_MACHINE(v2_8, "pc-q35-2.8", NULL,
> >>>                     pc_q35_2_8_machine_options);
> >>>  
> >>>  static void pc_q35_2_7_machine_options(MachineClass *m)
> >>>  {
> >>>      pc_q35_2_8_machine_options(m);
> >>> -    m->alias = NULL;
> >>>      m->max_cpus = 255;
> >>>      SET_MACHINE_COMPAT(m, PC_COMPAT_2_7);
> >>>  }
> >>>
> >>
> > 
> 

-- 
Eduardo

  reply	other threads:[~2017-01-04 17:46 UTC|newest]

Thread overview: 40+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-12-27 19:21 [PATCH 0/4] Allow migration with invtsc if there's no frequency mismatch Eduardo Habkost
2016-12-27 19:21 ` [PATCH 1/4] kvm: Simplify invtsc check Eduardo Habkost
2016-12-29 18:57   ` Marcelo Tosatti
2016-12-27 19:21 ` [PATCH 2/4] kvm: Allow invtsc migration if tsc-khz is set explicitly Eduardo Habkost
2017-01-04 11:44   ` Marcelo Tosatti
2017-01-04 11:57     ` Marcelo Tosatti
2017-01-04 13:40     ` Eduardo Habkost
2017-01-04 13:45       ` Marcelo Tosatti
2017-01-04 13:51         ` Eduardo Habkost
2016-12-27 19:21 ` [PATCH 3/4] pc: Add 2.9 machine-types Eduardo Habkost
2016-12-30 13:38   ` Igor Mammedov
2017-01-04 14:01   ` [Qemu-devel] " Laszlo Ersek
2017-01-04 14:20     ` Eduardo Habkost
2017-01-04 16:40       ` Laszlo Ersek
2017-01-04 17:46         ` Eduardo Habkost [this message]
2016-12-27 19:21 ` [PATCH 4/4] kvm: Allow migration with invtsc Eduardo Habkost
2017-01-04 11:56   ` Marcelo Tosatti
2017-01-04 13:39     ` Eduardo Habkost
2017-01-04 19:59       ` [libvirt] TSC frequency configuration & invtsc migration (was Re: [PATCH 4/4] kvm: Allow migration with invtsc) Eduardo Habkost
2017-01-04 22:26         ` Marcelo Tosatti
2017-01-05  1:36           ` Eduardo Habkost
2017-01-05 10:48             ` Marcelo Tosatti
2017-01-05 10:50               ` Marcelo Tosatti
2017-01-05 12:19               ` Eduardo Habkost
2017-01-05 12:33                 ` [libvirt] " Daniel P. Berrange
2017-01-05 12:48                   ` Eduardo Habkost
2017-01-05 13:00                     ` Daniel P. Berrange
2017-01-05 13:11                       ` Eduardo Habkost
2017-01-10 16:38                       ` Paolo Bonzini
2017-01-06 10:31                 ` Marcelo Tosatti
2017-01-08 15:49                   ` How to make dest host abort migration safely " Eduardo Habkost
2017-01-09 10:04                     ` [libvirt] " Dr. David Alan Gilbert
2017-01-08 20:28                   ` Exporting kvm_max_guest_tsc_khz to userspace " Eduardo Habkost
2017-01-09 14:58                     ` Paolo Bonzini
2017-01-11 13:26                       ` Eduardo Habkost
2017-01-11 14:06                         ` Paolo Bonzini
2017-01-10 16:36               ` TSC frequency configuration & invtsc migration " Paolo Bonzini
2017-01-11 11:58                 ` Eduardo Habkost
2017-01-18 11:55                 ` Marcelo Tosatti
2017-01-18 12:43                   ` Eduardo Habkost

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=20170104174625.GL3315@thinpad.lan.raisama.net \
    --to=ehabkost@redhat.com \
    --cc=haozhong.zhang@intel.com \
    --cc=imammedo@redhat.com \
    --cc=kvm@vger.kernel.org \
    --cc=lersek@redhat.com \
    --cc=mst@redhat.com \
    --cc=mtosatti@redhat.com \
    --cc=pbonzini@redhat.com \
    --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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox