[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20100317.110320.15445884.davem@davemloft.net>
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