the problem is that unless your code does the save/restore of the FPU
registers you will corrupt user code that does floating point.
nothing else in the kernel is supposed to use the FPU, and as a result
(almost) no user->kernek->user transitions touch the FPU and therefor the
registers don't need to be saved.
If your code needs to use them it is your code's responsibility to get a
lock (to prevent something else from interrupting you), save teh
registers, do your work, restore the registers, and release the lock
there may not be a lock, but if not then you cannot schedule/sleep during
the time you have monkeyed with the FPU.
David Lang
On Wed, 8 Nov 2000, Reto Baettig wrote:
> Date: Wed, 08 Nov 2000 10:46:25 -0800
> From: Reto Baettig <[EMAIL PROTECTED]>
> To: david <[EMAIL PROTECTED]>
> Cc: Linux Kernel List <[EMAIL PROTECTED]>
> Subject: Re: fpu now a must in kernel
>
> When you add it to the task switcher, it takes away a lot of cpu cycles
> during each task switch and slows down your system. I think this was the
> main idea behind _not_ saving those registers. IMHO, it does not make
> sense to generally save these registers when nobody else but your driver
> uses them.
>
> Good luck!
>
> Reto
>
> david wrote:
> >
> > hi i need fast fpu in the kernel for my lexos work
> > so how am i going to do it on the i386
> >
> > 1 . can i add some save / restore code to the task swicher ( the right
> > way )
> > so when it switchs from user to kernel task its saves the fpu state
> > ?
> >
> > 2 . put the save / restore code in my code (NOT! GOOD! i do not wont to
> > do it this way it is not the right way)
> >
> > so i have to use fpu in the kernel so its just how am i going to do it ?
> >
> > thank you
> >
> > David Rundle <[EMAIL PROTECTED]>
> >
> > -
> > To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> > the body of a message to [EMAIL PROTECTED]
> > Please read the FAQ at http://www.tux.org/lkml/
> -
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to [EMAIL PROTECTED]
> Please read the FAQ at http://www.tux.org/lkml/
>
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/