lkml.org 
[lkml]   [2000]   [Nov]   [8]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Date
SubjectRe: fpu now a must in kernel
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 <baettig@scs.ch>
> To: david <sector2@ihug.co.nz>
> Cc: Linux Kernel List <linux-kernel@vger.kernel.org>
> 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 <sector2@ihug.co.nz>
> >
> > -
> > To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> > the body of a message to majordomo@vger.kernel.org
> > 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 majordomo@vger.kernel.org
> 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 majordomo@vger.kernel.org
Please read the FAQ at http://www.tux.org/lkml/

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