From: Laszlo Ersek <lersek@redhat.com>
To: Eduardo Habkost <ehabkost@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 17:40:08 +0100 [thread overview]
Message-ID: <4c5191bf-aac6-a702-126e-a27f9cb2d941@redhat.com> (raw)
In-Reply-To: <20170104142007.GJ3315@thinpad.lan.raisama.net>
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",\
+ },
+
+
Instead, the mistake was (apparently) in commit 152fcbecad37, where
PC_COMPAT_2_8 was "emptied", but preserved.
* 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.
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.
Anyway, my R-b stands, with whichever updates you prefer from my
suggestions.
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);
>>> }
>>>
>>
>
next prev parent reply other threads:[~2017-01-04 16:40 UTC|newest]
Thread overview: 40+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-12-27 19:21 [Qemu-devel] [PATCH 0/4] Allow migration with invtsc if there's no frequency mismatch Eduardo Habkost
2016-12-27 19:21 ` [Qemu-devel] [PATCH 1/4] kvm: Simplify invtsc check Eduardo Habkost
2016-12-29 18:57 ` Marcelo Tosatti
2016-12-27 19:21 ` [Qemu-devel] [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 ` [Qemu-devel] [PATCH 3/4] pc: Add 2.9 machine-types Eduardo Habkost
2016-12-30 13:38 ` Igor Mammedov
2017-01-04 14:01 ` Laszlo Ersek
2017-01-04 14:20 ` Eduardo Habkost
2017-01-04 16:40 ` Laszlo Ersek [this message]
2017-01-04 17:46 ` Eduardo Habkost
2016-12-27 19:21 ` [Qemu-devel] [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 ` [Qemu-devel] 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 ` [Qemu-devel] [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 ` [Qemu-devel] " Marcelo Tosatti
2017-01-08 15:49 ` [Qemu-devel] How to make dest host abort migration safely " Eduardo Habkost
2017-01-09 10:04 ` Dr. David Alan Gilbert
2017-01-08 20:28 ` [Qemu-devel] 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 ` [Qemu-devel] 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=4c5191bf-aac6-a702-126e-a27f9cb2d941@redhat.com \
--to=lersek@redhat.com \
--cc=ehabkost@redhat.com \
--cc=haozhong.zhang@intel.com \
--cc=imammedo@redhat.com \
--cc=kvm@vger.kernel.org \
--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;
as well as URLs for NNTP newsgroup(s).