All of lore.kernel.org
 help / color / mirror / Atom feed
From: Anthony DeRobertis <aderobertis-VnMYzjHJ8tfR7s880joybQ@public.gmane.org>
To: Neil Horman <nhorman-2XuSBdqkA4R54TAoqtyWWQ@public.gmane.org>
Cc: iommu-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org
Subject: Re: PROBLEM: do_IRQ: [number] No irq handler for vector (irq -1)
Date: Thu, 23 Jan 2014 14:24:06 -0500	[thread overview]
Message-ID: <52E16C56.9000709@metrics.net> (raw)
In-Reply-To: <20140123123743.GA26800-B26myB8xz7F8NnZeBjwnZQMhkBWG/bsMQH7oEaQurus@public.gmane.org>

On 01/23/2014 07:37 AM, Neil Horman wrote:
> diff --git a/drivers/iommu/intel_irq_remapping.c b/drivers/iommu/intel_irq_remapping.c
> index bab10b1..19f41ee 100644
> --- a/drivers/iommu/intel_irq_remapping.c
> +++ b/drivers/iommu/intel_irq_remapping.c
> @@ -533,6 +533,8 @@ static int __init intel_irq_remapping_supported(void)
>   			"contact your BIOS vendor for an update\n");
>   		add_taint(TAINT_FIRMWARE_WORKAROUND, LOCKDEP_STILL_OK);
>   		disable_irq_remap = 1;
> +		/* In case BIOS already enabled irq remapping */
> +		disable_irq_remapping();
>   		return 0;
>   	}

I already tried that, well, similar (you need to declare 
disable_irq_remapping above that or it won't compile). I also added in 
some printks, to see what it is doing:

diff --git a/drivers/iommu/intel_irq_remapping.c b/drivers/iommu/intel_irq_remapping.c
index bab10b1..8a502d7 100644
--- a/drivers/iommu/intel_irq_remapping.c
+++ b/drivers/iommu/intel_irq_remapping.c
@@ -496,8 +496,13 @@ static void iommu_disable_irq_remapping(struct intel_iommu *iommu)
         raw_spin_lock_irqsave(&iommu->register_lock, flags);
  
         sts = dmar_readq(iommu->reg + DMAR_GSTS_REG);
-       if (!(sts & DMA_GSTS_IRES))
+       if (!(sts & DMA_GSTS_IRES)) {
+               printk(KERN_WARNING
+                      "Not disabling interrupt remapping, was not enabled.\n");
                 goto end;
+       } else {
+               printk(KERN_INFO "Disabling interrupt remapping.\n");
+       }
  
         iommu->gcmd &= ~DMA_GCMD_IRE;
         writel(iommu->gcmd, iommu->reg + DMAR_GCMD_REG);
@@ -518,6 +523,8 @@ static int __init dmar_x2apic_optout(void)
         return dmar->flags & DMAR_X2APIC_OPT_OUT;
  }
  
+static void disable_irq_remapping(void);
+
  static int __init intel_irq_remapping_supported(void)
  {
         struct dmar_drhd_unit *drhd;
@@ -533,6 +540,7 @@ static int __init intel_irq_remapping_supported(void)
                         "contact your BIOS vendor for an update\n");
                 add_taint(TAINT_FIRMWARE_WORKAROUND, LOCKDEP_STILL_OK);
                 disable_irq_remap = 1;
+               disable_irq_remapping();
                 return 0;
         }


The result. Note this is two boots, I changed to printk messages to 
something more understandable and rebooted to make sure there were no 
brown paper bag bugs. So the do_IRQ bugs logs are the first boot, the 
rest is the second boot:

[    0.063923] dmar: ATSR flags: 0x0
[    0.064075] This system BIOS has enabled interrupt remapping
[    0.064075] on a chipset that contains an erratum making that
[    0.064075] feature unstable.  To maintain system stability
[    0.064075] interrupt remapping is being disabled.  Please
[    0.064075] contact your BIOS vendor for an update
[    0.064226] Not disabling interrupt remapping, was not enabled.
[    0.064287] Not disabling interrupt remapping, was not enabled.
[    0.064408] Switched APIC routing to physical flat.


anthony@Zia:~$ dmesg | grep do_IRQ     # this is from the first boot
[ 2713.768956] do_IRQ: 40 callbacks suppressed
[ 2713.768963] do_IRQ: 0.132 No irq handler for vector (irq -1)
[ 3914.191481] do_IRQ: 3.219 No irq handler for vector (irq -1)
[12336.482217] do_IRQ: 3.106 No irq handler for vector (irq -1)
[19669.277859] do_IRQ: 2.136 No irq handler for vector (irq -1)
[31304.932672] do_IRQ: 2.204 No irq handler for vector (irq -1)
[35867.281432] do_IRQ: 2.135 No irq handler for vector (irq -1)
[43867.266257] do_IRQ: 1.174 No irq handler for vector (irq -1)
[50097.592403] do_IRQ: 3.81 No irq handler for vector (irq -1)
[55498.847866] do_IRQ: 0.92 No irq handler for vector (irq -1)
[57560.923165] do_IRQ: 0.199 No irq handler for vector (irq -1)
[57650.204418] do_IRQ: 0.120 No irq handler for vector (irq -1)
[72835.450862] do_IRQ: 0.163 No irq handler for vector (irq -1)
[76884.819496] do_IRQ: 2.68 No irq handler for vector (irq -1)
[77687.282915] do_IRQ: 2.216 No irq handler for vector (irq -1)
[77885.355992] do_IRQ: 2.185 No irq handler for vector (irq -1)
[78615.309285] do_IRQ: 12 callbacks suppressed
[78615.309291] do_IRQ: 3.45 No irq handler for vector (irq -1)
[78735.392357] do_IRQ: 6 callbacks suppressed
[78735.392362] do_IRQ: 2.173 No irq handler for vector (irq -1)
[79785.646442] do_IRQ: 6 callbacks suppressed
[79785.646449] do_IRQ: 1.53 No irq handler for vector (irq -1)
[79965.718447] do_IRQ: 8 callbacks suppressed
[79965.718453] do_IRQ: 0.150 No irq handler for vector (irq -1)

PS: Sent Asus a support request, to see if they have anything to say 
about what the BIOS is doing with that erratum. Will let you know if 
they respond with anything useful, I mostly expect "we don't support 
Linux". 
https://vip.asus.com/VIP2/Services/MailDetail/WTM20140124024244911 ... 
no idea if that link works for anyone but me.

  parent reply	other threads:[~2014-01-23 19:24 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-01-14 17:41 PROBLEM: do_IRQ: [number] No irq handler for vector (irq -1) Anthony DeRobertis
     [not found] ` <52D576E3.8050006-VnMYzjHJ8tfR7s880joybQ@public.gmane.org>
2014-01-16  4:03   ` Alex Williamson
     [not found]     ` <1389844985.8705.45.camel-xdHQ/5r00wBBDLzU/O5InQ@public.gmane.org>
2014-01-16 12:16       ` Neil Horman
     [not found]         ` <20140116121617.GA9984-B26myB8xz7F8NnZeBjwnZQMhkBWG/bsMQH7oEaQurus@public.gmane.org>
2014-01-16 17:08           ` Anthony DeRobertis
     [not found]             ` <52D8120D.7090606-VnMYzjHJ8tfR7s880joybQ@public.gmane.org>
2014-01-16 18:21               ` Neil Horman
     [not found]                 ` <20140116182134.GC9984-B26myB8xz7F8NnZeBjwnZQMhkBWG/bsMQH7oEaQurus@public.gmane.org>
2014-01-16 20:07                   ` Anthony DeRobertis
     [not found]                     ` <52D83BF9.7040502-VnMYzjHJ8tfR7s880joybQ@public.gmane.org>
2014-01-17 14:08                       ` Neil Horman
     [not found]                         ` <20140117140831.GA19452-B26myB8xz7F8NnZeBjwnZQMhkBWG/bsMQH7oEaQurus@public.gmane.org>
2014-01-17 18:52                           ` Anthony DeRobertis
     [not found]                             ` <52D97BFB.1020106-VnMYzjHJ8tfR7s880joybQ@public.gmane.org>
2014-01-17 20:27                               ` Neil Horman
     [not found]                                 ` <20140117202712.GC19452-B26myB8xz7F8NnZeBjwnZQMhkBWG/bsMQH7oEaQurus@public.gmane.org>
2014-01-17 22:33                                   ` Anthony DeRobertis
     [not found]                                     ` <52D9AFBB.5080203-VnMYzjHJ8tfR7s880joybQ@public.gmane.org>
2014-01-20 12:26                                       ` Neil Horman
     [not found]                                         ` <20140120122630.GB22690-B26myB8xz7F8NnZeBjwnZQMhkBWG/bsMQH7oEaQurus@public.gmane.org>
2014-01-22 16:29                                           ` Anthony DeRobertis
     [not found]                                             ` <52DFF1FE.2080805-VnMYzjHJ8tfR7s880joybQ@public.gmane.org>
2014-01-22 18:17                                               ` Neil Horman
     [not found]                                                 ` <20140122181707.GA14646-B26myB8xz7F8NnZeBjwnZQMhkBWG/bsMQH7oEaQurus@public.gmane.org>
2014-01-22 19:41                                                   ` Anthony DeRobertis
     [not found]                                                     ` <52E01ED2.4080604-VnMYzjHJ8tfR7s880joybQ@public.gmane.org>
2014-01-23 12:37                                                       ` Neil Horman
     [not found]                                                         ` <20140123123743.GA26800-B26myB8xz7F8NnZeBjwnZQMhkBWG/bsMQH7oEaQurus@public.gmane.org>
2014-01-23 19:24                                                           ` Anthony DeRobertis [this message]
     [not found]                                                             ` <52E16C56.9000709-VnMYzjHJ8tfR7s880joybQ@public.gmane.org>
2014-01-23 21:51                                                               ` Neil Horman
2014-01-16 17:17           ` Anthony DeRobertis

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=52E16C56.9000709@metrics.net \
    --to=aderobertis-vnmyzjhj8tfr7s880joybq@public.gmane.org \
    --cc=iommu-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org \
    --cc=nhorman-2XuSBdqkA4R54TAoqtyWWQ@public.gmane.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.