Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 24 Oct 2024 03:17:59 +0300
From:      Vadim Goncharov <vadimnuclight@gmail.com>
To:        gnn <gnn@freebsd.org>
Cc:        Arch <freebsd-arch@freebsd.org>
Subject:   Re: Building kernels with FPU support?
Message-ID:  <20241024031759.49296609@nuclight.lan>
In-Reply-To: <9BC8F88D-380F-4BC0-B1C7-2657916B13BF@freebsd.org>
References:  <E37A7972-7FBE-4428-81E1-8DC6D0F67726@freebsd.org> <20241024020534.37003492@nuclight.lan> <9BC8F88D-380F-4BC0-B1C7-2657916B13BF@freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, 23 Oct 2024 19:13:17 -0400
gnn <gnn@freebsd.org> wrote:

> On 23 Oct 2024, at 19:05, Vadim Goncharov wrote:
> 
> > On Wed, 23 Oct 2024 10:38:12 -0400
> > gnn <gnn@freebsd.org> wrote:
> >  
> >> Howdy,
> >>
> >> I am wondering if anyone has tried, lately, to see what effect
> >> building with FPU support has on overall system performance.  I've
> >> been working with a kernel module that needs this (for reasons I'll
> >> not go into now) and it occurred to me that the perceived
> >> performance overhead that caused us to only do fixed point in the
> >> kernel may no longer be significant.  I note that Linux has an
> >> option to build their kernel with FPU support.
> >>
> >> And yes, I know that we have the ability to selectively deal with
> >> the FPU, from the calls outlined in Section 9 for fpu, but I'm
> >> asking the more general question of "does it matter?" and "if so,
> >> how much?"  
> >
> > Would be great to have it for e.g. having portions of SQLite in
> > kernel, e.g. it's R*Tree module for fast 5-dimensions lookup (like
> > for firewall rules) uses floats.  
> 
> Funny you should mention sqlite in the kernel, since that's the exact
> use case that started me down this path, and is covered in a paper
> I've co-authored that's been accepted for publication at a database
> conference in 2025.

Well, I'd think this is a pretty obvious idea - to take a working
tested implementation of complex code under compatible license, e.g.
for B-trees - as we have very scarce choice of data structures in
kernel, e.g. RB-trees have 3-pointers overhead
Maybe your paper is about more interesting uses / as a real DB, IDK.

> I am sure there are other use cases, we already have this on for the
> openssl module, for example.

Vector and other instructions e.g. for even just plain `memmove()` ?..

-- 
WBR, @nuclight



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20241024031759.49296609>