Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 04 Mar 2001 20:41:59 -0800 (PST)
From:      John Baldwin <jhb@FreeBSD.org>
To:        John Baldwin <jhb@FreeBSD.org>
Cc:        cvs-all@FreeBSD.org, cvs-committers@FreeBSD.org
Subject:   RE: cvs commit: src/sys/i386/isa apic_vector.s icu_vector.s
Message-ID:  <XFMail.010304204159.jhb@FreeBSD.org>
In-Reply-To: <200103050437.f254bsP15616@freefall.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help

On 05-Mar-01 John Baldwin wrote:
> jhb         2001/03/04 20:37:54 PST
> 
>   Modified files:
>     sys/i386/isa         apic_vector.s icu_vector.s 
>   Log:
>   Don't enable interrupts before calling sched_ithd for threaded interrupts.
>   
>   Tested by:  obrien

This fixed some hard hangs that David was seeing on his machine under heavy
load.  It might also fix (or at lesat greatly diminish the number of
occurences) the "ltr" panics involving a kernel trap 9 with interrupts disabled.
By leaving interrupts disabled in sched_ithd, we don't allow ourselves to be
preempted by interrupt B while we are scheduling interrupt A.  Otherwise, we
could become too deeply nested in our stack and overwrite various parts of the
pcb.  (Some of which probably don't belong in the pcb.)

-- 

John Baldwin <jhb@FreeBSD.org> -- http://www.FreeBSD.org/~jhb/
PGP Key: http://www.baldwin.cx/~john/pgpkey.asc
"Power Users Use the Power to Serve!"  -  http://www.FreeBSD.org/

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe cvs-all" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?XFMail.010304204159.jhb>