All of lore.kernel.org
 help / color / mirror / Atom feed
From: Boris Ostrovsky <boris.ostrovsky@oracle.com>
To: Sander Eikelenboom <linux@eikelenboom.it>,
	Juergen Gross <jgross@suse.com>
Cc: xen-devel@lists.xen.org
Subject: Re: Resend: Linux 4.11-rc7: kernel BUG at drivers/xen/events/events_base.c:1221
Date: Mon, 24 Apr 2017 16:15:03 -0400	[thread overview]
Message-ID: <58c48218-b7d8-51d4-981d-4302b1b70aa8@oracle.com> (raw)
In-Reply-To: <3fe6cf0d-9ae6-1a25-b379-65f4b8bafc7d@eikelenboom.it>

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))


-boris
...


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel

  reply	other threads:[~2017-04-24 20:15 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-04-24 10:06 Resend: Linux 4.11-rc7: kernel BUG at drivers/xen/events/events_base.c:1221 Sander Eikelenboom
2017-04-24 14:17 ` Boris Ostrovsky
2017-04-24 14:20   ` Sander Eikelenboom
2017-04-24 15:49     ` Boris Ostrovsky
2017-04-24 16:10       ` Sander Eikelenboom
2017-04-24 20:15         ` Boris Ostrovsky [this message]
2017-04-25  6:14           ` Juergen Gross
2017-04-25  6:35             ` Sander Eikelenboom
2017-04-25  6:42               ` Juergen Gross
2017-04-25  6:57                 ` Sander Eikelenboom
2017-04-25  7:01                   ` Juergen Gross
2017-04-25 10:33                     ` Sander Eikelenboom
2017-04-25 11:00                       ` Juergen Gross
2017-04-25 11:28                         ` Sander Eikelenboom
2017-04-25 11:38                           ` Juergen Gross
2017-04-25 11:54                             ` Sander Eikelenboom
2017-04-25 11:17                       ` Juergen Gross
2017-04-25 12:49                       ` Juergen Gross
2017-04-25 13:12                         ` Sander Eikelenboom
2017-04-25 14:07                           ` Juergen Gross
2017-04-25 16:31                             ` Sander Eikelenboom

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=58c48218-b7d8-51d4-981d-4302b1b70aa8@oracle.com \
    --to=boris.ostrovsky@oracle.com \
    --cc=jgross@suse.com \
    --cc=linux@eikelenboom.it \
    --cc=xen-devel@lists.xen.org \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.