lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Mon, 22 Apr 2013 16:23:56 +0200
From:	Borislav Petkov <bp@...en8.de>
To:	Thomas Gleixner <tglx@...utronix.de>
Cc:	Takashi Iwai <tiwai@...e.de>, paulmck@...ux.vnet.ibm.com,
	x86-ml <x86@...nel.org>, lkml <linux-kernel@...r.kernel.org>
Subject: Re: irq 16: nobody cared

On Mon, Apr 22, 2013 at 02:56:08PM +0200, Thomas Gleixner wrote:
> Boris, can you please provide the irq16 line of /proc/interrupts
> before you invoke suspend?
>
> If it's shared we know which driver is shutdown before hda_intel and
> perhaps leaves its device in a weird state.
>
> If it's not shared, it still might be shared behind the scene. The
> other device uses MSI(X) and when shutdown MSI is disabled so the
> default IRQ route which points to IRQ16 would be active again.
>
> I assume, that the RCU stuff just causes enough timing difference to
> uncover the underlying issue.

Hmm, as Takashi reminded me, this box has two audio controllers. So
could it be that when we shutdown and disable MSI, the interrupts get
routed to to IRQ16 and they overflow there? Just a wild guess, I guess.

I very well can imagine that those two audio controllers to be one where
some f*cked up BIOS shim switches between the two but can't keep them
apart properly.

Something like the HPET fiascos...

* This is irq counts with my patch to expedite RCU grace periods:

- before suspend:
# grep snd /proc/interrupts
  16:       1304       1340       1335       1329       1293       1348       1357       1363   IO-APIC-fasteoi   snd_hda_intel
  90:          3          3          4          4          4          4          3          3   PCI-MSI-edge      snd_hda_intel

- after resume:
# grep snd /proc/interrupts
  16:       1354       1389       1386       1380       1344       1400       1409       1495   IO-APIC-fasteoi   snd_hda_intel
  90:          0          0          0          0          0          0          0          5   PCI-MSI-edge      snd_hda_intel


* "normal" RCU grace periods:

- before suspend:
# grep snd /proc/interrupts
  16:        109        108        107        108        108        108        109        111   IO-APIC-fasteoi   snd_hda_intel
  90:          3          3          4          4          4          4          3          3   PCI-MSI-edge      snd_hda_intel

- after resume:
# grep snd /proc/interrupts
  16:        154        154        153        155        157        157        235        164   IO-APIC-fasteoi   snd_hda_intel
  90:          0          0          0          0          0          0          5          0   PCI-MSI-edge      snd_hda_intel

More "hmm.."

-- 
Regards/Gruss,
    Boris.

Sent from a fat crate under my desk. Formatting is fine.
--
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ