All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andrew Morton <akpm@osdl.org>
To: Bernardo Innocenti <bernie@develer.com>
Cc: george@mvista.com, linux-kernel@vger.kernel.org, akpm@zip.com.au,
	rmk@arm.linux.org.uk, torvalds@osdl.org
Subject: Re: do_div64 generic
Date: Mon, 14 Jul 2003 22:38:05 -0700	[thread overview]
Message-ID: <20030714223805.4e5bee3f.akpm@osdl.org> (raw)
In-Reply-To: <200307150717.54981.bernie@develer.com>

Bernardo Innocenti <bernie@develer.com> wrote:
>
> I see. do_div() which updates the dividend in-place did not quite apply
>  to the usage pattern of the new timer code.

This is getting silly.  The timer stuff has been an ongoing bug factory and
now it is colluding with the do_div() saga.

Can we just get the things working, without mangling every architecture
again?

>  > The using code tests for the existance of div_long_long_rem and uses
>  > the longer do_div() if it does not exist.
>  >
>  > Could you consider adding this to the generic code?
>  >
>  > /*
>  >   * (long)X = ((long long)divs) / (long)div
>  >   * (long)rem = ((long long)divs) % (long)div
>  >   *
>  >   * Warning, this will do an exception if X overflows.
>  >   */
>  > #define div_long_long_rem(a,b,c) div_ll_X_l_rem(a,b,c)
>  >
>  > extern inline long
>  > div_ll_X_l_rem(long long divs, long div, long *rem)
>  > {
>  > 	long dum2;
>  >        __asm__("divl %2":"=a"(dum2), "=d"(*rem)
>  >
>  >        :	"rm"(div), "A"(divs));
>  >
>  > 	return dum2;
>  >
>  > }
> 
>  Here's a patch that takes care of all architectures.

AFAICT, we can just rework posix-timers.c to use the standard do_div() and
be done with it, can we not?  ie: no div_long_long_rem(), no
div_ll_X_l_rem().  Just do_div().

Please use `static inline', not `extern inline', btw.



  reply	other threads:[~2003-07-15  5:23 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <3F1360F4.2040602@mvista.com>
2003-07-15  5:17 ` do_div64 generic Bernardo Innocenti
2003-07-15  5:38   ` Andrew Morton [this message]
2003-07-15  6:23     ` Bernardo Innocenti
2003-07-15  6:30       ` Andrew Morton
2003-07-15 21:52       ` george anzinger
2003-07-15 22:06         ` Andrew Morton
2003-07-16  0:07           ` george anzinger
2003-07-16 18:33             ` Bernardo Innocenti
2003-07-17 21:10               ` Bernardo Innocenti
2003-07-17 21:16                 ` Andrew Morton
2003-07-17 22:43                   ` Bernardo Innocenti
2003-07-17 23:10                   ` george anzinger
2003-07-18  3:19                     ` Andrew Morton
2003-07-18  4:14                       ` Bernardo Innocenti
2003-07-17 23:09                 ` george anzinger

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=20030714223805.4e5bee3f.akpm@osdl.org \
    --to=akpm@osdl.org \
    --cc=akpm@zip.com.au \
    --cc=bernie@develer.com \
    --cc=george@mvista.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=rmk@arm.linux.org.uk \
    --cc=torvalds@osdl.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.