[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4ECFBF56.4000002@edigma.com>
Date: Fri, 25 Nov 2011 16:16:22 +0000
From: Nuno Santos <nsantos@...gma.com>
To: Jiri Slaby <jirislaby@...il.com>
CC: linux-kernel@...r.kernel.org
Subject: Re: Floating point usage inside kernel
Hi Jiri,
Thanks for your reply.
The algorithm is a matrix transform computation to make a affine a
geometric transform.
Basicly it is based on the following functions:
http://pastebin.com/YHzYuLPU
Curiously I ran a test before writing this email and guest what.... is
working!! :)
But now that I have opened this question here I should ask... is it safe?
This is the call to the function i'm making in kernel side (most of the
computation are made in userspace during a calibration and only
calculated data goest back to kernel. Then, in runtime inside the driver
I need to call this function:
mx3d_transform(src, zone->Matrix, tex);
Which is defined in the pastebin above.
And the input data is the following:
src[0] = [0,6300]; src[1] = [0,6300]; src[2] = 1.0;
zone->Matrix (double[3][3])
u: 492.188 v: 615.234 sx: 683.158 sy: 5790.13
u: 5807.81 v: 615.234 sx: 5944.9 sy: 5900.58
u: 5807.81 v: 5684.77 sx: 6027.46 sy: 560.337
u: 492.188 v: 5684.77 sx: 751.198 sy: 476.455
and tex is output (double[3])
I'm not protecting the call to the function with kernel_fpu_begin and
kernel_fpu_end
Should I be happy with the results or should I be concerned in
converting this function only to integer?
I hope I have been clear in my language.
Thanks,
With my best regards,
Nuno
On 11/25/2011 12:08 PM, Jiri Slaby wrote:
> On 11/25/2011 12:14 PM, Nuno Santos wrote:
>> Doing a grep -r kernel_fpu_begin * on kernel source dir I can find
>> several references to this functions but not them is included in the
>> include dir. Which include do I need to have this functions found in
>> compile time?
> It is defined in arch specific includes. For x86 in asm/i387.h (in
> arch/x86/include).
>
>> Am I even sailing in the right direction?
> You should generally not use that anyway. It's not portable and disables
> preemption.
>
> Can't you do the computations in userspace? And why it cannot be
> switched to integer types -- what algorithm is that? Some math function?
>
> reagards,
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists