2013-10-31 11:31:51

by 韩磊

[permalink] [raw]
Subject: A simple question of a linux kernel beginner

May I can use the ''double" as a basic variables?

When I define the "double" as a function return type in linux kernel,the error
is "error: SSE register return with SSE disabled".

How to fix it??


2013-10-31 11:57:23

by Richard Weinberger

[permalink] [raw]
Subject: Re: A simple question of a linux kernel beginner

On Thu, Oct 31, 2013 at 12:31 PM, 韩磊 <[email protected]> wrote:
> May I can use the ''double" as a basic variables?
>
> When I define the "double" as a function return type in linux kernel,the error
> is "error: SSE register return with SSE disabled".
>
> How to fix it??

Don't do it. :)
In kernel land we don't want FPU stuff because it slows the mode switch down.
If you *really* need to use the FPU look how the raid6 or crypto code does.

> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/



--
Thanks,
//richard

2013-10-31 12:03:35

by Levente Kurusa

[permalink] [raw]
Subject: Re: A simple question of a linux kernel beginner

2013-10-31 12:57 keltezéssel, Richard Weinberger írta:
> On Thu, Oct 31, 2013 at 12:31 PM, 韩磊 <[email protected]> wrote:
>> May I can use the ''double" as a basic variables?
>>
>> When I define the "double" as a function return type in linux kernel,the error
>> is "error: SSE register return with SSE disabled".
>>
>> How to fix it??
>
> Don't do it. :)
> In kernel land we don't want FPU stuff because it slows the mode switch down.
> If you *really* need to use the FPU look how the raid6 or crypto code does.

Not only it slows down the switches, but if there is no FPU, then it would
need the so-called floating-point-library. Which would slow down the code,
but the kernel needs to be as fast as it can.

--
Regards,
Levente Kurusa

2013-10-31 12:19:31

by Yijing Wang

[permalink] [raw]
Subject: Re: A simple question of a linux kernel beginner

On 2013/10/31 19:31, 韩磊 wrote:
> May I can use the ''double" as a basic variables?
>
> When I define the "double" as a function return type in linux kernel,the error
> is "error: SSE register return with SSE disabled".
>
> How to fix it??


no float in kernel!
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/
>
>


--
Thanks!
Yijing

2013-10-31 18:14:01

by Andreas Mohr

[permalink] [raw]
Subject: Re: A simple question of a linux kernel beginner

Hi,

> May I can use the ''double" as a basic variables?

[see other replies]


Look into terminus technicus "scaling math" as a replacement technique
(in-kernel this is being used e.g. by clocksources/clockevents).

HTH,

Andreas Mohr

2013-11-01 01:12:31

by 韩磊

[permalink] [raw]
Subject: Re: A simple question of a linux kernel beginner

Thank you! I still have a long way to go in kernel.


2013/11/1 Andreas Mohr <[email protected]>:
> Hi,
>
>> May I can use the ''double" as a basic variables?
>
> [see other replies]
>
>
> Look into terminus technicus "scaling math" as a replacement technique
> (in-kernel this is being used e.g. by clocksources/clockevents).
>
> HTH,
>
> Andreas Mohr