Re: [PATCH] PPC: Don't sync timebase when inside VM

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, Mar 2, 2012 at 11:17 AM, Scott Wood <scottwood@xxxxxxxxxxxxx> wrote:
> On 03/02/2012 10:30 AM, Alexander Graf wrote:
>>
>> On 02.03.2012, at 17:20, Scott Wood wrote:
>>
>>> On Fri, Mar 02, 2012 at 03:12:33PM +0100, Alexander Graf wrote:
>>>> When running inside a virtual machine, we can not modify timebase, so
>>>> let's just not call the functions for it then.
>>>>
>>>> This resolves hangs when booting e500 SMP guests on overcommitted hosts.
>>>>
>>>> Reported-by: Stuart Yoder <B08248@xxxxxxxxxxxxx>
>>>> Signed-off-by: Alexander Graf <agraf@xxxxxxx>
>>>> ---
>>>> arch/powerpc/platforms/85xx/smp.c |    7 +++++++
>>>> 1 files changed, 7 insertions(+), 0 deletions(-)
>>>>
>>>> diff --git a/arch/powerpc/platforms/85xx/smp.c b/arch/powerpc/platforms/85xx/smp.c
>>>> index ff42490..d4b6c1f 100644
>>>> --- a/arch/powerpc/platforms/85xx/smp.c
>>>> +++ b/arch/powerpc/platforms/85xx/smp.c
>>>> @@ -249,6 +249,13 @@ void __init mpc85xx_smp_init(void)
>>>>             smp_85xx_ops.cause_ipi = doorbell_cause_ipi;
>>>>     }
>>>>
>>>> +   /* When running under a hypervisor, we can not modify tb */
>>>> +   np = of_find_node_by_path("/hypervisor");
>>>> +   if (np) {
>>>> +           smp_85xx_ops.give_timebase = NULL;
>>>> +           smp_85xx_ops.take_timebase = NULL;
>>>> +   }
>>>> +
>>>>     smp_ops = &smp_85xx_ops;
>>>
>>> Again, for 85xx we should *never* sync the timebase in the kernel,
>>> hypervisor or no.
>>
>> The code says "if the kexec config option is enabled, do the sync". I'm fairly sure it's there for a reason.
>
> Sigh.  I forgot about that.  It's because instead of doing kexec the
> simple way, we actually physically reset the core.  We really shouldn't
> do that.  And we *really* shouldn't do it just because CONFIG_KEXEC is
> defined, regardless of whether we're actually booting from kexec.

How would one rocver a core that's off in the weeds? We need to at
least stop it somehow before we restart into the kdump kernel. kexec
seems feasible since we have all the cores in a known state...

-M
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux