From: Nuno Santos <nsantos@edigma.com>
To: Jiri Slaby <jirislaby@gmail.com>
Cc: linux-kernel@vger.kernel.org
Subject: Re: Floating point usage inside kernel
Date: Fri, 25 Nov 2011 16:16:22 +0000 [thread overview]
Message-ID: <4ECFBF56.4000002@edigma.com> (raw)
In-Reply-To: <4ECF8528.9080800@gmail.com>
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,
next prev parent reply other threads:[~2011-11-25 16:16 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <S1754322Ab1KYK6W/20111125105822Z+929@vger.kernel.org>
2011-11-25 11:14 ` Floating point usage inside kernel Nuno Santos
2011-11-25 12:08 ` Jiri Slaby
2011-11-25 16:16 ` Nuno Santos [this message]
2011-11-25 17:05 ` Paulo Marques
2011-11-25 17:46 ` Nuno Santos
2011-11-25 18:10 ` Paulo Marques
2011-11-28 10:11 ` Nuno Santos
2011-11-28 12:50 ` Paulo Marques
2011-11-28 4:00 ` Andy Lutomirski
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4ECFBF56.4000002@edigma.com \
--to=nsantos@edigma.com \
--cc=jirislaby@gmail.com \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.