[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <0837a34c-f66e-aa04-d4a7-b032d3dbab7a@intel.com>
Date: Tue, 11 Jul 2023 20:37:51 +0200
From: "Wysocki, Rafael J" <rafael.j.wysocki@...el.com>
To: Peter Zijlstra <peterz@...radead.org>,
Bruno Goncalves <bgoncalv@...hat.com>
CC: <arjan@...ux.intel.com>, <x86@...nel.org>,
LKML <linux-kernel@...r.kernel.org>
Subject: Re: [6.5.0-rc1] unchecked MSR access error: RDMSR from 0xe2 at rIP:
0xffffffff87090227 (native_read_msr+0x7/0x40) (intel_idle_init_cstates_icpu)
On 7/11/2023 3:25 PM, Peter Zijlstra wrote:
> On Tue, Jul 11, 2023 at 02:55:57PM +0200, Peter Zijlstra wrote:
>
>> Oohh, this vm-guest mode is new :/ But it doesn't make sense, that
>> commit babbles something about waking CPUs from idle to do TLB
>> invalidate, but that shouldn't be the case, that's what we have
>> kvm_flush_tlb_multi() for, it should avoid the IPI and flush on
>> vcpu-enter.
>>
>> Arjan, what is the actual problem you're trying to solve any why hide
>> this in intel_idle ?
>
> static __always_inline int __intel_idle_hlt(struct cpuidle_device *dev,
> struct cpuidle_driver *drv, int index)
> {
> raw_safe_halt();
> raw_local_irq_disable();
> return index;
> }
>
> Which does:
>
> STI
> HLT
> CLI
>
> static __cpuidle int intel_idle_hlt_irq_on(struct cpuidle_device *dev,
> struct cpuidle_driver *drv, int index)
> {
> int ret;
>
> raw_local_irq_enable();
> ret = __intel_idle_hlt(dev, drv, index);
> raw_local_irq_disable();
>
> return ret;
> }
>
> That is nonsensical code; because now you have:
>
> STI
> STI
> HLT
> CLI
> CLI
>
> And that makes sense how?
>
> Rafael, can we please just pull these patches and try again later?
I think you mean "revert"?
That can be done, but maybe it can be fixed instead?
Powered by blists - more mailing lists