From: Oliver Korpilla <Oliver.Korpilla@gmx.de>
To: kernel-janitors@vger.kernel.org
Subject: [KJ] Re: Log2 all through the kernel?
Date: Wed, 10 Aug 2005 15:54:44 +0000 [thread overview]
Message-ID: <1123689284.5437.10.camel@localhost.localdomain> (raw)
[-- Attachment #1: Type: text/plain, Size: 1758 bytes --]
Am Mittwoch, den 10.08.2005, 16:23 +0300 schrieb Stauros Passas:
> Accurate logarithm algorithms are costly,and I don't think
> are needed from kernel developers, usually a approximation is enough.
> So if u want something realy accurate,
> u must look how it is implemented on libc.
No, I'm pretty find with a bit-shifted implementation - my question is:
Why is there not a single implementation that fits most people's needs?
The way log2 functions and macros are interpersed throughout the kernel
looks very spaghetti to me - everyone brewing his own one.
Wouldn't it be more sensible to supply one portable one, with bit
shifts, and people with a need for O(1) timing could implement it using
an array?
> The easiest(and fastest) way to compute a logarithm
> (with or without base 2) is to make bit shifts.
>
> >
> > Is this desirable? While it may be some reduction for special cases using a
> > table (like in the log2_2048 function I found - it computes only a certain of
> > log2 and multiplies this with 2048), wouldn't a more generic implementation
> > like ceil_log2 and floor_log2 not be desirable for all platforms?
>
> U can simply use the functions of bitops.h (of asm-alpha) inline
> functions, removing the alpha special comands:
Well, I could, but that is not quite my point. That would be a kernel
patch to just my kernel.
Wouldn't it be more wise to supply a patch providing a single
implementation in the standard kernel and start converting most other
log2 implementations to that one? I don't have a good feeling with
everyone implementing the same, for really minimal gains.
You may say I'm more worried about software engineering practice than a
really quick solution. ;)
Thanks and with kind regards,
Oliver Korpilla
[-- Attachment #2: Type: text/plain, Size: 168 bytes --]
_______________________________________________
Kernel-janitors mailing list
Kernel-janitors@lists.osdl.org
https://lists.osdl.org/mailman/listinfo/kernel-janitors
next reply other threads:[~2005-08-10 15:54 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-08-10 15:54 Oliver Korpilla [this message]
2005-08-10 20:26 ` [KJ] Re: Log2 all through the kernel? Erik Mouw
2005-08-10 23:03 ` Rene Herman
2005-08-11 3:42 ` Alexey Dobriyan
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=1123689284.5437.10.camel@localhost.localdomain \
--to=oliver.korpilla@gmx.de \
--cc=kernel-janitors@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.