Re: FP in kernelspace

From: Jan Engelhardt
Date: Sun Jul 30 2006 - 19:10:28 EST


>> > kernel_fpu_begin();
>> > c = d * 3.14;
>> > kernel_fpu_end();
>>
>> static inline void kernel_fpu_begin() {
>> ...
>> preempt_disable();
>> ...
>> }
>>
> Is the kernel allowed to clobber userspace's sse registers?

As long as you save and restore it properly, and make it look like to all
other threads that nothing happened, you are (I hope) free to do anything.

> What about interrupt code?

You do not want to go there...

> xor.h at least appears to save the sse state before use.
>
> --
> Do not meddle in the internals of kernels, for they are subtle and quick to
> panic.

Follow that advice, don't do FP. But OTOH......<long dots> there is already
an SSE player in the kernel: drivers/md/raid6sse*.c


Jan Engelhardt
--
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/