lkml.org 
[lkml]   [2017]   [Jul]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH v5 10/12] x86/xen: Bypass intr mode setup in enlighten_pv system
From
Date
Hi Thomas,

At 07/03/2017 02:56 PM, Thomas Gleixner wrote:
> On Mon, 3 Jul 2017, Dou Liyang wrote:
>> At 07/03/2017 03:18 AM, Thomas Gleixner wrote:
>>> On Fri, 30 Jun 2017, Dou Liyang wrote:
>>>
>>>> xen_smp_ops overwrites smp_prepare_cpus to xen_pv_smp_prepare_cpus
>>>> which initializes interrupt itself.
>>>>
>>>> Touching the intr_mode_init causes unexpected results on the system.
>>>>
>>>> Bypass it in enlighten_pv system.
>>>
>>> So that's the wrong patch order then. You broke XEN at some point with your
>>> changes. You need to prevent that breakage upfront not after the fact.
>>
>> Yes, I have considered to prevent that breakage in the patchset.
>>
>> Actually, Until the 11th patch, we put the intr_mode_init ahead of
>> time, which will break XEN.
>>
>> Before the 11th patch, we just unify the code and do the preparation,
>> Kernel will do the intr_mode_init like before, which will have no
>> influence on XEN.
>>
>> So we put the patch here before 11th patch.
>
> Ok. That's good, but please explain it in the changelog. I had the
> impression that this is fixing breakage you introduced earlier, but now
> with your explanation it makes sense. So the patch order is correct.
>
> Something like this wants to be in the changelog:
>
> XEN PV overrides smp_prepare_cpus(). xen_pv_smp_prepare_cpus()
> initializes interrupts in the XEN PV specific way and does not invoke
> native_smp_prepare_cpus(). As a consequence, x86_init.intr_mode_init() is
> not invoked either.
>
> The invocation of x86_init.intr_mode_init() will be moved from
> native_smp_prepare_cpus() in a follow up patch to solve <INSERT
> REASON/PROBLEM>.
>
> That move would cause the invocation of x86_init.intr_mode_init() for XEN
> PV platforms. To prevent that, override the default x86_init.intr_mode_init()
> callback with a noop().

Thank you very much for writing the changelog again. This is really the
true purpose which I couldn't explain clearly.

I am testing my V6 patchset, will send it out soon.

Thanks,

dou.
>
> Thanks,
>
> tglx
>
>
>


\
 
 \ /
  Last update: 2017-07-03 09:18    [W:0.371 / U:0.280 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site