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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox