|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] Resend: Linux 4.11-rc7: kernel BUG at drivers/xen/events/events_base.c:1221
On 24/04/17 22:15, Boris Ostrovsky wrote:
> On 04/24/2017 12:10 PM, Sander Eikelenboom wrote:
>> On 24/04/17 17:49, Boris Ostrovsky wrote:
>>> On 04/24/2017 10:20 AM, Sander Eikelenboom wrote:
>>>> Hi Boris,
>>>>
>>>> Nope, not that i am aware of.
>>> If you can keep console while running this, can you add these changes
>>> and see if we ever unbind the work vector (you can even add dump_stack()
>>> in __unbind_from_irq() for good measure)? (I added HHH for easy grepping)
>>>
>>> Also do 'grep -i work /proc/interrupts' so that we know which IRQ the
>>> work interrupt is.
>>>
>>> -boris
>> Hmmm i f*cked up and accidently compiled a tree with "for linus 4.12"
>> pulled in and ran that instead of the vanilla 4.11-rc7 (while not naming
>> it "xen-next" as i normally do.
>> So 4.11-rc7 is most probably fine, sorry for that noise.
>>
>> Since your patch doesn't apply the smp part is changed. Seems the
>> problem somewhere lies in there (Vitaly's patches, general x86 stuff
>> being pulled in to base that on). I can see if i can adapt the patch
>> to for linus 4.12 and retest, instead of waiting for it to be pulled in
>> into Linus his tree in the next merge window.
>
> This is trivially reproduced on 4.12 branch with
>
> diff --git a/drivers/xen/sys-hypervisor.c b/drivers/xen/sys-hypervisor.c
> index 84106f9..065728f 100644
> --- a/drivers/xen/sys-hypervisor.c
> +++ b/drivers/xen/sys-hypervisor.c
> @@ -148,7 +148,7 @@ static int __init xen_sysfs_uuid_init(void)
> }
>
> /* xen compilation attributes */
> -
> +void arch_irq_work_raise(void );
> static ssize_t compiler_show(struct hyp_sysfs_attr *attr, char *buffer)
> {
> int ret = -ENOMEM;
> @@ -161,7 +161,7 @@ static ssize_t compiler_show(struct hyp_sysfs_attr
> *attr, char *buffer)
> ret = sprintf(buffer, "%s\n", info->compiler);
> kfree(info);
> }
> -
> + arch_irq_work_raise();
> return ret;
> }
>
>
> and then (if you manage to boot):
>
> [root@vm-0238 ~]# grep proc /proc/cpuinfo
> processor : 0
> [root@vm-0238 ~]#
> [root@vm-0238 ~]# cat /sys/hypervisor/compilation/compiler
> [ 502.160472] ------------[ cut here ]------------
> [ 502.160491] kernel BUG at drivers/xen/events/events_base.c:1221!
>
>
>
> and the fix is
>
> diff --git a/arch/x86/xen/smp_pv.c b/arch/x86/xen/smp_pv.c
> index c0e3b96..aae3253 100644
> --- a/arch/x86/xen/smp_pv.c
> +++ b/arch/x86/xen/smp_pv.c
> @@ -249,7 +249,7 @@ static void __init xen_pv_smp_prepare_cpus(unsigned
> int max_cpus)
>
> xen_pmu_init(0);
>
> - if (xen_smp_intr_init(0))
> + if (xen_smp_intr_init(0) || xen_smp_intr_init_pv(0))
> BUG();
>
> if (!alloc_cpumask_var(&xen_cpu_initialized_map, GFP_KERNEL))
Indeed. Can you please send a proper patch with your S-o-b?
Juergen
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
https://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |