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:	Wed, 17 Mar 2010 11:03:20 -0700 (PDT)
From:	David Miller <davem@...emloft.net>
To:	chase.douglas@...onical.com
Cc:	netdev@...r.kernel.org
Subject: Re: [PATCH 1/1] 3c59x: Acquire vortex lock instead of disabling irq

From: Chase Douglas <chase.douglas@...onical.com>
Date: Wed, 17 Mar 2010 10:33:16 -0400

> Last year, threaded IRQ handlers were introduced to the mainline kernel.
> This change requires the disable_irq function to sleep if any IRQ
> handler threads for a given IRQ line are running.
> 
> Back in 2006, while working on the -rt patch set that had threaded IRQ
> handlers, the vortex_timer function was causing scheduling bugs because
> it is run in softirq context and called disable_irq. This patch was the
> best fix determined at the time, and still exists in the .33 -rt
> patchset. Now that threaded IRQ handlers are present in the mainline
> kernel we need to apply the patch there as well.
> 
> http://lkml.org/lkml/2006/5/12/178
> 
> BugLink: http://bugs.launchpad.net/bugs/533335
> 
> Signed-off-by: Chase Douglas <chase.douglas@...onical.com>

This code is very much intentionally using disable_irq*().

The operation being performed here is extremely expensive,
and during that time if we have cpu interrupts disabled
serial devices will drop characters etc.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Powered by blists - more mailing lists