Re: MSEC_TO_JIFFIES is messed up...

From: Davide Libenzi
Date: Wed May 12 2004 - 16:13:47 EST


On Wed, 12 May 2004, Ingo Molnar wrote:

>
> * Davide Libenzi <davidel@xxxxxxxxxxxxxxx> wrote:
>
> > > why is it wrong?
> >
> > For HZ == 1000 it's fine, even if it'd better to explicitly make it HZ
> > dependent and let the compiler to discard them.
>
> the compiler cannot discard the multiplication and the division from the
> following:
>
> x * 1000 / 1000
>
> due to overflows.

$ cat foo.c

int foo(int i) {


return i * 1000 / 1000;
}

$ gcc -S -c foo.c
$ cat foo.s

.file "foo.c"
.text
.globl foo
.type foo, @function
foo:
pushl %ebp
movl %esp, %ebp
movl 8(%ebp), %eax
leave
ret
.size foo, .-foo
.section .note.GNU-stack,"",@progbits
.ident "GCC: (GNU) 3.3.2 20031022 (Red Hat Linux 3.3.2-1)"

$ gcc -v
Reading specs from /usr/lib/gcc-lib/i386-redhat-linux/3.3.2/specs
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man
--infodir=/usr/share/info --enable-shared --enable-threads=posix
--disable-checking --with-system-zlib --enable-__cxa_atexit
--host=i386-redhat-linux
Thread model: posix
gcc version 3.3.2 20031022 (Red Hat Linux 3.3.2-1)



- Davide

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/