From: Randolph Chung <randolph@tausq.org>
To: parisc-linux@lists.parisc-linux.org
Subject: [parisc-linux] teaching the kernel to do division
Date: Thu, 23 Oct 2003 00:21:57 -0700 [thread overview]
Message-ID: <20031023072157.GX24406@tausq.org> (raw)
I was investigating why nanosleep() doesn't return the correct remaining
time with a 2.6 kernel... turns out the kernel doesn't seem to know
how to do division properly :-(
kernel/posix-timers.c has:
tsave->tv_sec = div_long_long_rem(left,
NSEC_PER_SEC,
&tsave->tv_nsec);
which eventually calls __div64_32() in lib/div64.c
if you test that function, you see that it does weird things. For
example, it tells me that:
28999591392 / 1000000000 = 3, remainder = 229787616
<sigh>
does anyone want to look into fixing it, and/or writing an optimized
version of that function for pa? :-) it needs to do basically this (but
be standalone)
uint32_t div64(uint64_t *n, uint32_t base)
{
uint32_t rem;
rem = *n % base;
*n = *n / base;
return rem;
}
thanks :)
randolph
--
Randolph Chung
Debian GNU/Linux Developer, hppa/ia64 ports
http://www.tausq.org/
next reply other threads:[~2003-10-23 7:17 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-10-23 7:21 Randolph Chung [this message]
2003-10-23 23:39 ` [parisc-linux] Re: teaching the kernel to do division Randolph Chung
2003-10-25 11:13 ` Joel Soete
2003-10-25 15:42 ` Joel Soete
2003-10-25 16:07 ` Randolph Chung
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=20031023072157.GX24406@tausq.org \
--to=randolph@tausq.org \
--cc=parisc-linux@lists.parisc-linux.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.