You are not logged in.

#1 2009-01-07 19:05:23

wreck
Member
Registered: 2008-03-22
Posts: 18

gcc compiled XDD only detects 1 cpu

I recently installed XDD for benchmarking a RAID array, but noticed it only detects one of the four cores on my Q6600.

OS release and version, Linux 2.6.27-ARCH #1 SMP PREEMPT Sun Dec 21 09:13:30 UTC 2008
Machine hardware type, x86_64
Number of processors on this system, 1
Page size in bytes, 4096
Number of physical pages, 1012708
Megabytes of physical memory, 3955

System info:

$ uname -a
Linux superheavy 2.6.27-ARCH #1 SMP PREEMPT Sun Dec 21 09:13:30 UTC 2008 x86_64 Intel(R) Core(TM)2 Quad CPU Q6600 @ 2.40GHz GenuineIntel GNU/Linux

The program is compiled from source with an OS specific makefile provided by the author.  For compilation, I ran

make -f linux.makefile xdd

as suggested in the FAQ.  Is there a way to compile this program so it properly detects all 4 cores on the processor?

Here is the source and the contents of linux.makefile:

# XDD Makefile for Linux
CFLAGS =        -O2 -DLINUX -DLINUXSMP -DSG_IO -D__INTEL__ -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -g
SHELL =         /bin/sh
PROJECT =       xdd
OBJECTS =       xdd.o access_pattern.o barrier.o global_time.o initialization.o parse.o pclk.o read_after_write.o results.o sg.o ticker.o time_stamp.o verify.o
HEADERS =       xdd.h pclk.h ticker.h misc.h sg.h sg_err.h
TSOBJECTS =     timeserver.o pclk.o ticker.o
GTOBJECTS = gettime.o global_time.o pclk.o ticker.o


all:    xdd timeserver gettime

xdd:    $(OBJECTS)
        gcc  -o xdd $(CFLAGS) $(OBJECTS) -lpthread -v
        mv -f xdd bin/xdd.linux

timeserver:     $(TSOBJECTS)
        gcc  -o timeserver $(CFLAGS) $(TSOBJECTS) -lpthread -v
        mv -f timeserver bin/timeserver.linux

gettime:        $(GTOBJECTS)
        gcc  -o gettime $(CFLAGS) $(GTOBJECTS) -lpthread -v
        mv -f gettime bin/gettime.linux

access_pattern.o:       access_pattern.c
        gcc  $(CFLAGS) -c access_pattern.c

barrier.o:      barrier.c
        gcc  $(CFLAGS) -c barrier.c

gettime.o: gettime.c
        gcc $(CFLAGS) -c gettime.c

global_time.o:  global_time.c
        gcc  $(CFLAGS) -c global_time.c

initialization.o:       initialization.c
        gcc  $(CFLAGS) -c initialization.c

parse.o:        parse.c
        gcc  $(CFLAGS) -c parse.c

pclk.o: pclk.c
        gcc  $(CFLAGS) -c pclk.c

read_after_write.o:     read_after_write.c
        gcc  $(CFLAGS) -c read_after_write.c

results.o:      results.c
        gcc  $(CFLAGS) -c results.c

sg.o:   sg.c
        gcc  $(CFLAGS) -c sg.c

ticker.o:       ticker.c
        gcc  $(CFLAGS) -c ticker.c

time_stamp.o:   time_stamp.c
        gcc  $(CFLAGS) -c time_stamp.c

timeserver.o: timeserver.c
        gcc $(CFLAGS) -c timeserver.c

verify.o: verify.c
        gcc $(CFLAGS) -c verify.c

xdd.o:  xdd.c
        gcc  $(CFLAGS) -c xdd.c

dist:   clean
        tar cf ../dist.tar .
clean:
        -rm -f xdd timeserver gettime a.out $(OBJECTS) $(TSOBJECTS) $(GTOBJECTS)

Any help or direction offered would be very appreciated.  Thank you.

Offline

#2 2009-01-10 01:12:27

wreck
Member
Registered: 2008-03-22
Posts: 18

Re: gcc compiled XDD only detects 1 cpu

I have sent an email concerning this problem to the author.  Any advise in the meantime would still be quite helpful.  Once resolved, I will submit an XDD package to the AUR.

Offline

Board footer

Powered by FluxBB