Kernel KVM-PPC virtualization development
 help / color / mirror / Atom feed
From: Shrikanth Hegde <sshegde@linux.ibm.com>
To: "Christian Zigotzky" <chzigotzky@xenosoft.de>,
	"Michal Suchánek" <msuchanek@suse.de>
Cc: "Christophe Leroy (CS GROUP)" <chleroy@kernel.org>,
	Michael Ellerman <mpe@ellerman.id.au>,
	harshpb@linux.ibm.com, Gautam Menghani <gautam@linux.ibm.com>,
	amachhiw@linux.ibm.com,
	linuxppc-dev <linuxppc-dev@lists.ozlabs.org>,
	"kvm-ppc@vger.kernel.org" <kvm-ppc@vger.kernel.org>,
	Madhavan Srinivasan <maddy@linux.ibm.com>,
	Peter Zijlstra <peterz@infradead.org>,
	"R.T.Dickinson" <rtd2@xtra.co.nz>,
	hypexed@yahoo.com.au, mad skateman <madskateman@gmail.com>,
	Christian Zigotzky <info@xenosoft.de>,
	Samir M <samir@linux.ibm.com>,
	Venkat Rao Bagalkote <venkat88@linux.ibm.com>,
	Narayana Murty N <nnmlinux@linux.ibm.com>,
	Hari Bathini <hbathini@linux.ibm.com>
Subject: Re: [Linux PPC] Disable PREEMPT
Date: Fri, 25 Sep 2026 12:10:14 +0530	[thread overview]
Message-ID: <d64240cc-62f7-4f59-8598-d1dc18e07c43@linux.ibm.com> (raw)
In-Reply-To: <a9fd6f5f-cdfa-a010-05b9-507689026fe4@xenosoft.de>

Hi Christian, Michal,


>>>>>>
>>>>>> I see it is mostly busy with printing
>>>>>> WARNING: at .enable_kernel_fp+0x30/0x78, CPU#3: qemu-system-ppc/4884
>>>>>>
>>>>>> The path seems to be same also.
>>>>>>
>>>>>> [c000000085ca7700] [c00000000005de84] .kvmppc_load_guest_fp+0x30/0x80
>>>>>> [c000000085ca7780] [c00000000005f2a0] .kvmppc_handle_exit+0x5bc/0x5cc
>>>>>> [c000000085ca7830] [c00000000006204c] .kvmppc_resume_host+0xb8/0x10c
>>>>>>
>>>>>>
>>>>>> Does below help to boot or make it stable?
>>>>>> ---
>>>>>>  arch/powerpc/kvm/booke.c | 9 ++++++++-
>>>>>>  1 file changed, 8 insertions(+), 1 deletion(-)
>>>>>>
>>>>>> diff --git a/arch/powerpc/kvm/booke.c b/arch/powerpc/kvm/booke.c
>>>>>> index 13ad4cf5fa71..d4be7a306bfc 100644
>>>>>> --- a/arch/powerpc/kvm/booke.c
>>>>>> +++ b/arch/powerpc/kvm/booke.c
>>>>>> @@ -1404,10 +1404,17 @@ int kvmppc_handle_exit(struct kvm_vcpu *vcpu, unsigned int exit_nr)
>>>>>>          if (s <= 0)
>>>>>>              r = (s << 2) | RESUME_HOST | (r & RESUME_FLAG_NV);
>>>>>>          else {
>>>>>> -            /* interrupts now hard-disabled */
>>>>>> +            /*
>>>>>> +             * interrupts now hard-disabled. i.e EE=0
>>>>>> +             * But irqs_disabled relies on PACA entries
>>>>>> +             * and fixup below enables it.
>>>>>> +             * So irqs_disabled == false
>>>>>> +             */
>>>>>>              kvmppc_fix_ee_before_entry();
>>>>>> +            preempt_disable();
>>>>>>              kvmppc_load_guest_fp(vcpu);
>>>>>>              kvmppc_load_guest_altivec(vcpu);
>>>>>> +            preempt_enable_no_resched();
>>>>>>          }
>>>>>>      }
>>>>>>
>>>>>>
>>>>> Hi,
>>>>>
>>>>> Thanks a lot for your patch!
>>>>>
>>>>> I patched the 7.3-rc4 kernel sources with your new patch and compiled the kernel again yesterday. [1]
>>>>>
>>>>
>>>> Thanks for trying.
>>>>
>>>>> Unfortunately, the issue still exists.
>>>>>
>>>>
>>>> Can you share the console log of the kernel with the patch applied?
>>>> We need to see where it is stuck now. Has it made forward progress?
>>>>
>>>>> I tested it with a guest kernel with and without preempt support.
>>>>>
>>>>> Cheers,
>>>>> Christian
>>>>>
>>>>> [1] https://github.com/chzigotzky/kernels/releases/tag/v7.3.0-rc4-2-preempt
>>>>>
>>>>
>>> Here is a new serial log from the patched kernel: https://github.com/user-attachments/files/32570808/e5500_preempt_pcie_ports_compat_patched_putty.log
>>>
>>
>> That paca mismatch is independent of preemption modes.
>>
>> It shows a few warnings and even after that a console message has come through.
>> Do warning continue forever?
>>
>> To fix those warnings, can you try this diff on the top of the earlier ones?
>> (Igonore whitespace mangling if any, Also patch is UNTESTED. It is more of my
>> speculation.).
>>
>> Sorry, I don't have any way to test it out locally.
>>
>> ---
>>
>> diff --git a/arch/powerpc/kvm/powerpc.c b/arch/powerpc/kvm/powerpc.c
>> index 9194cf492d1c..0a014fa45b20 100644
>> --- a/arch/powerpc/kvm/powerpc.c
>> +++ b/arch/powerpc/kvm/powerpc.c
>> @@ -147,6 +147,19 @@ int kvmppc_prepare_to_enter(struct kvm_vcpu *vcpu)
>>                         continue;
>>                 }
>>
>> +#ifdef CONFIG_PPC64
>> +               if (unlikely(local_paca->irq_happened != PACA_IRQ_HARD_DIS)) {
>> +               /*
>> +                * An interrupt arrived between the soft and hard
>> +                * disable. Replay it and retry guest entry.
>> +                */
>> +                       local_irq_enable();
>> +                       local_irq_disable();
>> +                       hard_irq_disable();
>> +                       continue;
>> +               }
>> +#endif
>> +
>>                 guest_enter_irqoff();
>>                 return 1;
>>         }
>>
> 
> Hi,
> 
> I patched the RC4 of kernel 7.3 with the two patches and compiled it again today.
> 
> I'm happy to report that the patched PREEMPT kernel with KVM HV works on the X5000/40. (e5500)
> 

That's very nice to hear. I will write changelog for both and send it across soon.
Give me sometime.

> Serial log: https://github.com/user-attachments/files/32619259/e5500_preempt_pcie_ports_compat_patched-2_putty.log
> 
> I also successfully tested it with KVM PR on the X1000 today. (PA6T)
> 

Nice.

> Further information: https://github.com/chzigotzky/kernels/issues/19#issuecomment-5818925408
> 
> Many thanks for your help,
> 

Happy to help.
Thanks for reporting and testing. We can finally close this thread :)
Thanks to michal for helping in getting the logs.

> Christian
> 

Also, Michal, can you report that kvm specific issue you are seeing with the
ftrace fix applied in separate thread. This thread has become long already.


  reply	other threads:[~2026-09-25  6:40 UTC|newest]

Thread overview: 78+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-02-14 14:02 [Linux PPC] KVM PR and KVM HV do not work if the kernel was compiled with PREEMPT Christian Zigotzky
2026-02-17  5:02 ` Shrikanth Hegde
2026-02-17  8:52   ` Christian Zigotzky
2026-02-17  9:03     ` Shrikanth Hegde
2026-02-17  9:44       ` Christian Zigotzky
2026-02-17 10:17         ` Madhavan Srinivasan
2026-02-17 10:26           ` Christian Zigotzky
2026-02-17 11:34             ` Shrikanth Hegde
2026-02-21  5:30               ` Christian Zigotzky
2026-02-23  3:45                 ` Shrikanth Hegde
2026-02-23 16:48                   ` [Linux PPC] 7.0-rc1: e500_mmu.c:923:26: error: assignment to 'struct tlbe_priv *' from incompatible pointer type 'struct tlbe_ref *' Christian Zigotzky
2026-02-23 18:07                     ` Christophe Leroy (CS GROUP)
2026-02-23 19:38                       ` Christophe Leroy (CS GROUP)
2026-02-23 22:40                         ` Kees Cook
2026-02-24  6:30                           ` Christian Zigotzky
2026-02-24  7:18                           ` Christophe Leroy (CS GROUP)
2026-02-25  5:54               ` [Linux PPC] Disable PREEMPT Christian Zigotzky
2026-02-25  6:23                 ` Shrikanth Hegde
2026-02-25  7:16                 ` Christophe Leroy (CS GROUP)
2026-02-25 11:36                   ` Peter Zijlstra
2026-02-26  5:37                   ` Christian Zigotzky
2026-02-26 13:24                     ` Christophe Leroy (CS GROUP)
2026-09-03  9:53                       ` Michal Suchánek
2026-09-03 10:56                         ` Shrikanth Hegde
2026-09-03 11:25                           ` Michal Suchánek
2026-09-03 11:31                             ` Shrikanth Hegde
2026-09-03 11:40                               ` Michal Suchánek
2026-09-03 12:04                                 ` Shrikanth Hegde
2026-09-03 12:25                                   ` Michal Suchánek
2026-09-03 12:36                                     ` Harsh Prateek Bora
2026-09-03 12:55                                       ` Michal Suchánek
2026-09-03 15:17                                         ` Amit Machhiwal
2026-09-03 13:28                                       ` Michal Suchánek
2026-09-04  7:39                                         ` Michal Suchánek
2026-09-21  8:06                                         ` Michal Suchánek
2026-09-21 16:46                                           ` Michal Suchánek
2026-09-21 17:20                                             ` Shrikanth Hegde
2026-09-22  8:22                                               ` Michal Suchánek
2026-09-03 17:22                             ` Shrikanth Hegde
2026-09-04  7:35                               ` Michal Suchánek
2026-09-04  9:04                                 ` Shrikanth Hegde
2026-09-10  8:59                                   ` Michal Suchánek
2026-09-10 10:41                                     ` Shrikanth Hegde
2026-09-10 11:29                                       ` Michal Suchánek
2026-09-10 12:16                                         ` Michal Suchánek
2026-09-11 17:09                                           ` Shrikanth Hegde
2026-09-14 10:58                                             ` Michal Suchánek
2026-09-15  5:47                                               ` Narayana Murty N
2026-09-15  7:35                                                 ` Michal Suchánek
2026-09-15  9:08                                                   ` Shrikanth Hegde
2026-09-16 18:11                                                     ` Shrikanth Hegde
2026-09-17 10:14                                                       ` Michal Suchánek
2026-09-17 10:28                                                         ` Shrikanth Hegde
2026-09-17 13:12                                                           ` Michal Suchánek
2026-09-17 14:15                                                             ` Shrikanth Hegde
2026-09-18  2:39                                                               ` Christian Zigotzky
2026-09-18  7:10                                                                 ` Michal Suchánek
2026-09-20 11:49                                                                   ` Christian Zigotzky
2026-09-20 13:04                                                                     ` Christian Zigotzky
2026-09-21  5:12                                                                       ` Shrikanth Hegde
2026-09-23  5:09                                                                         ` Christian Zigotzky
2026-09-23  5:13                                                                           ` Shrikanth Hegde
2026-09-23 16:01                                                                             ` Christian Zigotzky
2026-09-23 18:42                                                                               ` Shrikanth Hegde
2026-09-24 17:47                                                                                 ` Christian Zigotzky
2026-09-25  6:40                                                                                   ` Shrikanth Hegde [this message]
2026-09-18  9:26                                                               ` Shrikanth Hegde
2026-09-18 11:52                                                                 ` Michal Suchánek
2026-09-04  8:55                               ` Christian Zigotzky
2026-09-04  9:20                                 ` Christian Zigotzky
2026-09-04  9:24                                   ` Shrikanth Hegde
2026-09-04  9:34                                     ` Christian Zigotzky
2026-09-05 13:07                                       ` Christian Zigotzky
2026-09-07  8:50                                         ` Michal Suchánek
2026-09-07 11:32                                           ` Christian Zigotzky
2026-09-10  8:54                                             ` Michal Suchánek
2026-09-10 10:31                                               ` Michal Suchánek
2026-09-10 11:31                                                 ` Michal Suchánek

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=d64240cc-62f7-4f59-8598-d1dc18e07c43@linux.ibm.com \
    --to=sshegde@linux.ibm.com \
    --cc=amachhiw@linux.ibm.com \
    --cc=chleroy@kernel.org \
    --cc=chzigotzky@xenosoft.de \
    --cc=gautam@linux.ibm.com \
    --cc=harshpb@linux.ibm.com \
    --cc=hbathini@linux.ibm.com \
    --cc=hypexed@yahoo.com.au \
    --cc=info@xenosoft.de \
    --cc=kvm-ppc@vger.kernel.org \
    --cc=linuxppc-dev@lists.ozlabs.org \
    --cc=maddy@linux.ibm.com \
    --cc=madskateman@gmail.com \
    --cc=mpe@ellerman.id.au \
    --cc=msuchanek@suse.de \
    --cc=nnmlinux@linux.ibm.com \
    --cc=peterz@infradead.org \
    --cc=rtd2@xtra.co.nz \
    --cc=samir@linux.ibm.com \
    --cc=venkat88@linux.ibm.com \
    /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