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 11:49:02 -0400	[thread overview]
Message-ID: <2cc07cdc-aa11-d709-e964-36580634310f@oracle.com> (raw)
In-Reply-To: <144cd857-6bea-ef6d-a08c-fb28f93d3ef6@eikelenboom.it>

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

diff --git a/arch/x86/xen/smp.c b/arch/x86/xen/smp.c
index 7ff2f1b..fb42e82 100644
--- a/arch/x86/xen/smp.c
+++ b/arch/x86/xen/smp.c
@@ -136,6 +136,7 @@ void xen_smp_intr_free(unsigned int cpu)
        if (xen_hvm_domain())
                return;
 
+       printk("HHH %s:%d cpu%d irq=%d\n", __FUNCTION__, __LINE__, cpu,
per_cpu(xen_irq_work, cpu).irq);
        if (per_cpu(xen_irq_work, cpu).irq >= 0) {
                unbind_from_irqhandler(per_cpu(xen_irq_work, cpu).irq,
NULL);
                per_cpu(xen_irq_work, cpu).irq = -1;
@@ -217,6 +218,7 @@ int xen_smp_intr_init(unsigned int cpu)
        if (rc < 0)
                goto fail;
        per_cpu(xen_irq_work, cpu).irq = rc;
+        printk("HHH %s:%d cpu%d irq=%d\n", __FUNCTION__, __LINE__, cpu,
rc);
        per_cpu(xen_irq_work, cpu).name = callfunc_name;
 
        if (is_xen_pmu(cpu)) {
@@ -615,6 +617,7 @@ static inline int xen_map_vector(int vector)
                break;
        case IRQ_WORK_VECTOR:
                xen_vector = XEN_IRQ_WORK_VECTOR;
+               printk("HHH %s:%d work interrupt on CPU%d\n",
__FUNCTION__, __LINE__, smp_processor_id());
                break;
 #ifdef CONFIG_X86_64
        case NMI_VECTOR:
diff --git a/drivers/xen/events/events_base.c
b/drivers/xen/events/events_base.c
index 6a53577..c1f16f2 100644
--- a/drivers/xen/events/events_base.c
+++ b/drivers/xen/events/events_base.c
@@ -627,6 +627,7 @@ static void __unbind_from_irq(unsigned int irq)
                        per_cpu(virq_to_irq, cpu)[virq_from_irq(irq)] = -1;
                        break;
                case IRQT_IPI:
+                       printk("HHH %s:%d cpu%d irq=%d ipi_to_irq=%d\n",
__FUNCTION__, __LINE__, cpu, irq, per_cpu(ipi_to_irq,
cpu)[ipi_from_irq(irq)]);
                        per_cpu(ipi_to_irq, cpu)[ipi_from_irq(irq)] = -1;
                        break;
                default:



>
> --
> Sander
>
> On 24/04/17 16:17, Boris Ostrovsky wrote:
>> On 04/24/2017 06:06 AM, Sander Eikelenboom wrote:
>>> Resend: Sorry copy and pasted a wrong mailadress for the xen-devel list.
>>>
>>>
>>> Hi Boris / Juergen,
>>>
>>> This morning i got this dom0 kernel crash (it occurred sporadically
>>> before (during 4.11), but i didn't have serial console enabled at that
>>> time so i had no stacktrace, only sporadic reboots).
>>>
>>> It's running on an AMD phenom X6:
>>> Kernel 4.11.0-rc7 with as latest commit:
>>> 94836ecf1e7378b64d37624fbb81fe48fbd4c772.
>>> Xen-unstable with as latest commit:
>>> 94836ecf1e7378b64d37624fbb81fe48fbd4c772.
>>>
>>> If you need more info please ask, testing will be difficult as i don't
>>> have a clear testcase and
>>> it can also run for days without trouble.
>> Any cpu onlining/offlining during the test?
>>
>> XEN_IRQ_WORK_VECTOR vector is allocated for all PV VCPUs in
>> xen_smp_intr_init() so it's somewhat odd that we fail to find it.
>>
>> -boris
>>


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

  reply	other threads:[~2017-04-24 15:49 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 [this message]
2017-04-24 16:10       ` Sander Eikelenboom
2017-04-24 20:15         ` Boris Ostrovsky
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=2cc07cdc-aa11-d709-e964-36580634310f@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.