Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 23 Aug 2001 14:03:44 -0500 (CDT)
From:      Kevin Day <toasty@temphost.dragondata.com>
To:        peter@wemm.org (Peter Wemm)
Cc:        dwmalone@maths.tcd.ie (David Malone), hackers@FreeBSD.ORG
Subject:   Re: XMM[0-7] preserved across context switch?
Message-ID:  <200108231903.f7NJ3i722007@temphost.dragondata.com>
In-Reply-To: <20010823044124.12EE8380F@overcee.netplex.com.au> from "Peter Wemm" at Aug 22, 2001 09:41:24 PM

next in thread | previous in thread | raw e-mail | index | archive | help
> Yes, but the question was "how is it preserved"?  The SSE stuff works the
> same as the FPU stuff in that it is switched lazily.  See npxsave() and
> where it is called.  If a process "attaches" to the fpu, its state is kept
> in the fpu the whole time.  It is not extracted at context switch time.
> So, we can be running a different process while the fpu/xmm stuff is holding
> the original process's context.  If the new process tries to use the SSE/fpu
> stuff, a trap happens, we save the original process's context in the original
> pcb and then give ownership to the new process.
> 
> And for SMP, we handle it differently again. :-/

Ok, that's what I expected. Has anyone looked at using MOVDQA/MOVDQU or MOVNTDQ for
faster bcopy/bzero routines? Someone at Intel suggested they may be faster
than using the FPU regs....

-- Kevin

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?200108231903.f7NJ3i722007>