qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Gleb Natapov <gleb@redhat.com>
To: Jan Kiszka <jan.kiszka@web.de>
Cc: Marcelo Tosatti <mtosatti@redhat.com>,
	Avi Kivity <avi@redhat.com>,
	kvm@vger.kernel.org, qemu-devel@nongnu.org
Subject: [Qemu-devel] Re: [PATCH v4 03/10] x86: Extend validity of cpu_is_bsp
Date: Thu, 4 Mar 2010 08:47:23 +0200	[thread overview]
Message-ID: <20100304064723.GH16909@redhat.com> (raw)
In-Reply-To: <4B8EF1FE.7020000@web.de>

On Thu, Mar 04, 2010 at 12:34:22AM +0100, Jan Kiszka wrote:
> Gleb Natapov wrote:
> > On Mon, Mar 01, 2010 at 06:17:22PM +0100, Jan Kiszka wrote:
> >> As we hard-wire the BSP to CPU 0 anyway and cpuid_apic_id equals
> >> cpu_index, cpu_is_bsp can also be based on the latter directly. This
> >> will help an early user of it: KVM while initializing mp_state.
> >>
> >> Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
> >> ---
> >>  hw/pc.c |    3 ++-
> >>  1 files changed, 2 insertions(+), 1 deletions(-)
> >>
> >> diff --git a/hw/pc.c b/hw/pc.c
> >> index b90a79e..58c32ea 100644
> >> --- a/hw/pc.c
> >> +++ b/hw/pc.c
> >> @@ -767,7 +767,8 @@ static void pc_init_ne2k_isa(NICInfo *nd)
> >>  
> >>  int cpu_is_bsp(CPUState *env)
> >>  {
> >> -    return env->cpuid_apic_id == 0;
> >> +    /* We hard-wire the BSP to the first CPU. */
> >> +    return env->cpu_index == 0;
> >>  }
> > We should not assume that. The function was written like that
> > specifically so the code around it will not rely on this assumption.
> > Now you change that specifically to write code that will do incorrect
> > assumptions. I don't see the logic here.
> 
> The logic is that we do not support any other mapping yet - with or
> without this change. Without it, we complicate the APIC initialization
> for (so far) no good reason. Once we want to support different BSP
> assignments, we need to go through the code and rework some parts anyway.
> 
As far as I remember the only part that was missing was a command line to
specify apic IDs for each CPU and what CPU is BSP. The code was ready
otherwise. I's very sad if this was broken by other modifications. But
changes like that actually pushes us back from our goal. Why not rework
code so it will work with correct cpu_is_bsp() function instead of
introducing this hack?

--
			Gleb.

  reply	other threads:[~2010-03-04  6:47 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-03-01 17:17 [Qemu-devel] [PATCH v4 00/10] qemu-kvm: Hook cleanups and yet more use of upstream code Jan Kiszka
2010-03-01 17:17 ` [Qemu-devel] [PATCH v4 01/10] qemu-kvm: Add KVM_CAP_X86_ROBUST_SINGLESTEP-awareness Jan Kiszka
2010-03-01 17:17 ` [Qemu-devel] [PATCH v4 02/10] qemu-kvm: Rework VCPU state writeback API Jan Kiszka
2010-03-01 17:17 ` [Qemu-devel] [PATCH v4 03/10] x86: Extend validity of cpu_is_bsp Jan Kiszka
2010-03-03 16:00   ` [Qemu-devel] " Gleb Natapov
2010-03-03 23:34     ` Jan Kiszka
2010-03-04  6:47       ` Gleb Natapov [this message]
2010-03-04  8:23         ` Jan Kiszka
2010-03-04  8:35           ` Gleb Natapov
2010-03-04 11:35             ` Jan Kiszka
2010-03-04 12:03               ` Gleb Natapov
2010-03-07  6:36                 ` Gleb Natapov
2010-03-07 10:48                   ` Jan Kiszka
2010-03-07 13:44                     ` Jan Kiszka
2010-03-07 13:50                       ` Gleb Natapov
2010-03-01 17:17 ` [Qemu-devel] [PATCH v4 04/10] qemu-kvm: Clean up mpstate synchronization Jan Kiszka
2010-03-01 17:17 ` [Qemu-devel] [PATCH v4 05/10] KVM: x86: Restrict writeback of VCPU state Jan Kiszka
2010-03-01 17:17 ` [Qemu-devel] [PATCH v4 06/10] qemu-kvm: Use VCPU event state for reset and vmsave/load Jan Kiszka
2010-03-01 17:17 ` [Qemu-devel] [PATCH v4 07/10] qemu-kvm: Cleanup/fix TSC and PV clock writeback Jan Kiszka
2010-03-01 17:17 ` [Qemu-devel] [PATCH v4 08/10] qemu-kvm: Clean up KVM's APIC hooks Jan Kiszka
2010-03-01 17:17 ` [Qemu-devel] [PATCH v4 09/10] qemu-kvm: Move kvm_set_boot_cpu_id Jan Kiszka
2010-03-01 17:17 ` [Qemu-devel] [PATCH v4 10/10] qemu-kvm: Bring qemu_init_vcpu back home Jan Kiszka
2010-03-01 17:21 ` [Qemu-devel] Re: [PATCH v4 00/10] qemu-kvm: Hook cleanups and yet more use of upstream code Jan Kiszka
2010-03-01 20:01 ` Marcelo Tosatti

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=20100304064723.GH16909@redhat.com \
    --to=gleb@redhat.com \
    --cc=avi@redhat.com \
    --cc=jan.kiszka@web.de \
    --cc=kvm@vger.kernel.org \
    --cc=mtosatti@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).