From: Matt Mackall <mpm@selenic.com>
To: Simon Derr <Simon.Derr@bull.net>
Cc: Yura Pakhuchiy <pakhuchiy@iptel.by>,
Patrice Martinez <patrice.martinez@ext.bull.net>,
linux-kernel@vger.kernel.org
Subject: Re: buggy ia64_fls() ? (was Re: /dev/random problem on 2.6.12-rc1)
Date: Fri, 8 Apr 2005 09:27:46 -0700 [thread overview]
Message-ID: <20050408162746.GZ3174@waste.org> (raw)
In-Reply-To: <Pine.LNX.4.61.0504081024120.15652@openx3.frec.bull.fr>
On Fri, Apr 08, 2005 at 02:12:04PM +0200, Simon Derr wrote:
> I enabled the debug messages in random.c and I think I found the problem
> lying in the IA64 version of fls().
Good catch.
> It turns out that the generic and IA64 versions of fls() disagree:
>
> (output from a small test program)
>
> x ia64_fls(x) generic_fls(x)
>
> i=-1, t=0, ia64: -65535 et generic:0
> i=0, t=1, ia64: 0 et generic:1
> i=1, t=2, ia64: 1 et generic:2
> i=2, t=4, ia64: 2 et generic:3
> i=3, t=8, ia64: 3 et generic:4
Well PPC at least sez:
/*
* fls: find last (most-significant) bit set.
* Note fls(0) = 0, fls(1) = 1, fls(0x80000000) = 32.
*/
And that agrees with the generic code (used by x86). So I think IA64
is probably wrong here indeed. It's amazing that the other users of
fls don't blow up spectacularly.
> I tried to fix it with an ia64 version that would give the same result as
> the generic version, but the kernel did not boot, I guess some functions
> rely on the ""broken"" ia64_fls() behaviour.
>
> So I just changed fls() to use generic_fls() instead of ia64_fls().
If the "fixed" version didn't boot, how did the "alternate fixed"
version boot?
--
Mathematics is the supreme nostalgia of our time.
prev parent reply other threads:[~2005-04-08 16:29 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-04-07 12:40 /dev/random problem on 2.6.12-rc1 Patrice Martinez
2005-04-07 13:08 ` Yura Pakhuchiy
2005-04-07 13:14 ` Yura Pakhuchiy
2005-04-07 15:36 ` Simon Derr
2005-04-07 21:12 ` Matt Mackall
2005-04-08 6:56 ` Simon Derr
2005-04-08 7:55 ` Matt Mackall
2005-04-08 12:12 ` buggy ia64_fls() ? (was Re: /dev/random problem on 2.6.12-rc1) Simon Derr
2005-04-08 16:27 ` Matt Mackall [this message]
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=20050408162746.GZ3174@waste.org \
--to=mpm@selenic.com \
--cc=Simon.Derr@bull.net \
--cc=linux-kernel@vger.kernel.org \
--cc=pakhuchiy@iptel.by \
--cc=patrice.martinez@ext.bull.net \
/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.