lkml.org 
[lkml]   [2004]   [Jun]   [19]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [patch 2.6.7] bug_smp_call_function
Keith Owens <kaos@sgi.com> wrote:
>> sg.c has been fixed to no longer call vfree() with interrupts disabled.
>> Change smp_call_function() from WARN_ON to BUG_ON when interrupts are
>> disabled. It was only set to WARN_ON because of sg.c.

On Sat, Jun 19, 2004 at 02:44:16AM -0700, Andrew Morton wrote:
> I prefer the WARN_ON. It is exceedingly unlikely that the bug will cause
> lockups or memory/data corruption or anything else, so why nuke the user's
> box when we can trivially continue?
> We'll be sent the bug report either way.

Calls to smp_call_function() with interrupts off or spinlocks held
typically causes deadlocks on SMP systems. ISTR debugging such an
issue in the scheduler a while back, i.e. mmdrop() under rq->lock
doing vfree() of an LDT. Basically smp_call_function() will spin
waiting for the other cpus to answer the interrupt on multiple cpus.
It also doesn't need to be the same function doing smp_call_function();
generally TLB flushing deadlocks against anything doing this.


-- wli
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 14:03    [W:0.052 / U:0.136 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site