|
From: <ar...@de...> - 2003-11-20 13:22:29
|
It seems like valgrind isn't supporting prefetch instructions. When I add -fprefetch-loop-arrays to gcc valgrind doesn't work anymore: aroldan@volatile:~$ gcc -march=athlon -O3 -fomit-frame-pointer -ffast-math -funroll-loops -Wall -pipe -s demuxtest.c -o demuxtest demuxtest.c: I funktion `demuxbuff2': demuxtest.c:159: varning: `baseadr' might be used uninitialized in this function demuxtest.c:160: varning: `index' might be used uninitialized in this function demuxtest.c:161: varning: `ce' might be used uninitialized in this function demuxtest.c: På toppnivå: demuxtest.c:117: varning: `demuxbuff' defined but not used aroldan@volatile:~$ valgrind -v ./demuxtest ==20153== Memcheck, a.k.a. Valgrind, a memory error detector for x86-linux. ==20153== Copyright (C) 2002-2003, and GNU GPL'd, by Julian Seward. ==20153== Using valgrind-2.0.0, a program supervision framework for x86-linux. ==20153== Copyright (C) 2000-2003, and GNU GPL'd, by Julian Seward. ==20153== Command line: ==20153== ./demuxtest ==20153== Startup, with flags: ==20153== --suppressions=/usr/lib/valgrind/default.supp ==20153== -v ==20153== Reading syms from /home/aroldan/demuxtest ==20153== object doesn't have a symbol table ==20153== object doesn't have any debug info ==20153== Reading syms from /lib/ld-2.3.2.so ==20153== object doesn't have a symbol table ==20153== object doesn't have any debug info ==20153== Reading syms from /usr/lib/valgrind/vgskin_memcheck.so ==20153== Reading syms from /usr/lib/valgrind/valgrind.so ==20153== Reading syms from /lib/libc-2.3.2.so ==20153== object doesn't have a symbol table ==20153== object doesn't have any debug info ==20153== Reading suppressions file: /usr/lib/valgrind/default.supp ==20153== Estimated CPU clock rate is 809 MHz ==20153== 204800 kbyte rx buffers processed in 8981761 microseconds Demuxed 124.528037Mbit/s ==20153== ==20153== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) ==20153== malloc/free: in use at exit: 0 bytes in 0 blocks. ==20153== malloc/free: 6 allocs, 6 frees, 6291464 bytes allocated. ==20153== --20153-- TT/TC: 0 tc sectors discarded. --20153-- 591 chainings, 0 unchainings. --20153-- translate: new 1103 (17741 -> 233370; ratio 131:10) --20153-- discard 0 (0 -> 0; ratio 0:10). --20153-- dispatch: 101100000 jumps (bb entries), of which 3908 (0%) were uncha ined. --20153-- 2024/3148 major/minor sched events. 1104 tt_fast misses. --20153-- reg-alloc: 181 t-req-spill, 44275+1225 orig+spill uis, 5581 total-reg- r. --20153-- sanity: 2025 cheap, 81 expensive checks. --20153-- ccalls: 4163 C calls, 56% saves+restores avoided (13788 bytes) --20153-- 5500 args, avg 0.87 setup instrs each (1422 bytes) --20153-- 0% clear the stack (12489 bytes) --20153-- 1705 retvals, 32% of reg-reg movs avoided (1074 bytes) aroldan@volatile:~$ gcc -march=athlon -O3 -fomit-frame-pointer -ffast-math -funroll-loops -fprefetch-loop-arrays -Wall -pipe -s demuxtest.c -o demuxtest demuxtest.c: I funktion `demuxbuff2': demuxtest.c:159: varning: `baseadr' might be used uninitialized in this function demuxtest.c:160: varning: `index' might be used uninitialized in this function demuxtest.c:161: varning: `ce' might be used uninitialized in this function demuxtest.c: På toppnivå: demuxtest.c:117: varning: `demuxbuff' defined but not used aroldan@volatile:~$ ./demuxtest 204800 kbyte rx buffers processed in 1288141 microseconds Demuxed 868.290868Mbit/s aroldan@volatile:~$ valgrind -v ./demuxtest ==20171== Memcheck, a.k.a. Valgrind, a memory error detector for x86-linux. ==20171== Copyright (C) 2002-2003, and GNU GPL'd, by Julian Seward. ==20171== Using valgrind-2.0.0, a program supervision framework for x86-linux. ==20171== Copyright (C) 2000-2003, and GNU GPL'd, by Julian Seward. ==20171== Command line: ==20171== ./demuxtest ==20171== Startup, with flags: ==20171== --suppressions=/usr/lib/valgrind/default.supp ==20171== -v ==20171== Reading syms from /home/aroldan/demuxtest ==20171== object doesn't have a symbol table ==20171== object doesn't have any debug info ==20171== Reading syms from /lib/ld-2.3.2.so ==20171== object doesn't have a symbol table ==20171== object doesn't have any debug info ==20171== Reading syms from /usr/lib/valgrind/vgskin_memcheck.so ==20171== Reading syms from /usr/lib/valgrind/valgrind.so ==20171== Reading syms from /lib/libc-2.3.2.so ==20171== object doesn't have a symbol table ==20171== object doesn't have any debug info ==20171== Reading suppressions file: /usr/lib/valgrind/default.supp ==20171== Estimated CPU clock rate is 814 MHz ==20171== disInstr: unhandled instruction bytes: 0xF 0xD 0xD 0xAC Illegal instruction aroldan@volatile:~$ -- Andres Roldan Fluidsignal Group <ar...@fl...> The Debian Project <ar...@de...> GIGAX <ar...@gi...> GPG Key-ID 0xB29396EB Home Page http://people.fluidsignal.com/~aroldan |
|
From: Nicholas N. <nj...@ca...> - 2003-11-20 13:45:31
|
On Thu, 20 Nov 2003, Andr=E9s Rold=E1n wrote: > It seems like valgrind isn't supporting prefetch instructions. When I > add -fprefetch-loop-arrays to gcc valgrind doesn't work anymore: > > aroldan@volatile:~$ gcc -march=3Dathlon -O3 -fomit-frame-pointer -ffast-m= ath -funroll-loops -Wall -pipe -s demuxtest.c -o demuxtest Valgrind doesn't support 3dNow! instructions. It does support the Pentium prefetch instructions. N |
|
From: Dirk M. <dm...@gm...> - 2003-11-20 16:53:16
|
On Thursday 20 November 2003 14:23, Andr=E9s Rold=E1n wrote:
> aroldan@volatile:~$ gcc -march=3Dathlon -O3 -fomit-frame-pointer -ffast-m=
ath
^^^^^^^^^^^^^^^
Don't compile for an athlon, or add -mno-3dnow. when you compile with=20
=2Dmarch=3Dathlon it will unconditionally embed 3dnow instructions.=20
|