Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 5 Aug 2002 15:14:42 -0400
From:      "John S. Bucy" <bucy@ece.cmu.edu>
To:        Terry Lambert <tlambert2@mindspring.com>
Cc:        freebsd-hackers@freebsd.org
Subject:   Re: weird npxintr
Message-ID:  <20020805191440.GE494@catalepsy.pdl.cmu.edu>
In-Reply-To: <3D4EC913.528452C2@mindspring.com>
References:  <20020805182753.GD494@catalepsy.pdl.cmu.edu> <3D4EC913.528452C2@mindspring.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, Aug 05, 2002 at 11:50:59AM -0700, Terry Lambert wrote:

> On a hunch: are you using an AMD K6 or similar and enabling
> the CPU specific options within the config file?

Nope.  CPU is PIII/Xeon.  We've configed I686_CPU but not turned on
-march=foo, etc.  Does gcc ever issue mmx instructions for long long
math?
 
> Copies occurring at interrupt time can result in this behaviour
> due to an inability to obtain a process context for a current
> process that's the real current process when the FPU state is
> switched out via late-binding.
>
> The copy you are doing at that point is attempting a lazy bind
> without a process context (because it's happening at interrupt).
> 
> If you can, move the large data manipulation, etc., out of the
> interrupt handler itself, and do it via pullup instead.  That
> type of thing should only ever be in the upper level interrupt
> handler (e.g. via software interrupt, or in the user process
> context on behalf of which the work is being done, after the
> wakeup of the user process which is waiting on an operation).
> It's a bad idea to do a lot of work in the interrupt handler,
> in any case, unless there is a technical reason for it, like
> quenching interrupts on purpose for network cards to avoid
> receiver livelock.

Err ... our code is getting called from dadone which gets called up
from swi_cambio which is the soft interrupt handler, right?  

By copy, do you mean bcopy/memcpy or load/store to a register?
We're certainly not in the middle of a bcopy when we get the interrupt...

Again, I'm fairly certain that we aren't touching any fp registers or
issuing any fp instructions.


thanks

john




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




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