CentOS Icon CentOS Logo
CentOS Text
   
  
www.centos.org Forum Index
   CentOS 6 - General Support
  fno-omit-frame-pointer

 

 Bottom   Previous Topic   Next Topic
  •  Rate Thread
      Rate this Thread
      Excellent
      Good
      Average
      Bad
      Terrible
Poster Thread
  •  newport_j
      newport_j
fno-omit-frame-pointer
#1
Regular Board Member
Joined: 2012/6/1
From
Posts: 150
I have a makefile which is now posted:

SRCS = libsheriff.cpp realfuncs.cpp xthread.cpp dlmalloc.c finetime.c gnuwrapper.cpp
DEPS = $(SRCS) xpersist.h xdefines.h xglobals.h xpersist.h xplock.h xrun.h warpheap.h xadaptheap.h xoneheap.h

# Detection on 32bit
CXX = g++ -DSSE_SUPPORT -m32 -DX86_32BIT -O3 -fno-omit-frame-pointer -DDETECT_FALSE_SHARING

# Only protection on 32bit.
#CXX = g++ -DSSE_SUPPORT -m32 -O3

# Detection should include -fno-omit-frame-pointer we are on 64bit.
#CXX = g++ -DSSE_SUPPORT -O3 -fno-omit-frame-pointer -DDETECT_FALSE_SHARING

# Only protection on 64bit.
#CXX = g++ -DSSE_SUPPORT -O3

INCLUDE_DIRS = -I. -I./heaplayers -I./heaplayers/util

#GET_CHARACTERISTICS
libsheriff.so: $(DEPS)
$(CXX) -march=core2 -msse3 $(INCLUDE_DIRS) -shared -fPIC -D'CUSTOM_PREFIX(x)=sheriff_##x' $(SRCS) -o libsheriff.so -ldl -lpthread

clean:
rm -f libsheriff.so



The readme fie is also now posted.

Sheriff: : Precise Detection and Automatic Mitigation of False Sharing

Tongping Liu, Emery D. Berger
{tonyliu, emery}@cs.umass.edu
http://plasma.cs.umass.edu

Copyright (C) 2011 University of Massachusetts Amherst


------------------
Building Sheriff:
------------------

You can build the sheriff library (libsheriff.so) by running "make".

NOTE: if your system does not support the SSE3 instruction set, then
remove SSE_SUPPORT from the Makefile.
Also, check other configurations in the Makefile. For example, if you
are on a 64-bit machine, make sure to use "-fno-omit-frame-pointer" if you want to detect
false sharing problem.


---------------
Using Sheriff:
---------------

Sheriff currently supports Linux x86 platforms.

1. Compile your program to object files (here, we use just one, target.o).

2. Link to the sheriff library. There are two options (neither of which
is particular to sheriff).

(a) Dynamic linking: this approach requires no environment variables,
but the sheriff library needs to be in a fixed, known location.
Place the sheriff library in a directory (SHERIFF_DIR).

Then compile your program as follows:

% g++ target.o -rdynamic SHERIFF_DIR/libdsheriff.so -ldl -o target

(b) Ordinary dynamic linking: this approach is more flexible (you can
change the location of the sheriff library), but you must also
set the LD_LIBRARY_PATH environment variable.

% g++ target.o -LSHERIFF_DIR -lsheriff -dl -o target
% export LD_LIBRARY_PATH=SHERIFF_DIR:$LD_LIBRARY_PATH

----------------
Citing Sheriff:
----------------

If you use sheriff, we would appreciate hearing about it. To cite
sheriff, please refer to the following paper (included as
sheriff-oopsla2011.pdf):

@inproceedings{Liu:2011:SPD:2048066.2048070,
author = {Liu, Tongping and Berger, Emery D.},
title = {SHERIFF: precise detection and automatic mitigation of false sharing},
booktitle = {Proceedings of the 2011 ACM international conference on Object oriented programming systems languages and applications},
series = {OOPSLA '11},
year = {2011},
isbn = {978-1-4503-0940-0},
location = {Portland, Oregon, USA},
pages = {3--18},
numpages = {16},
url = {http://doi.acm.org/10.1145/2048066.2048070},
doi = {http://doi.acm.org/10.1145/2048066.2048070},
acmid = {2048070},
publisher = {ACM},
address = {New York, NY, USA},
keywords = {false sharing, multi-threaded},
}


Now I want to use the sheriff program, but I am unsure as to how to modify the makefile.

What does


For example, if you
are on a 64-bit machine, make sure to use "-fno-omit-frame-pointer" if you want to detect
false sharing problem.


What does compile line option "fno-omit-frame-pointer" mean? It seems to be one of the options in bth the 32 bit and 64 bit compile.

I am just unsure what to do with it. I am on a 64 bit Centos 6.3 machine.

Any help appreciated. Thanks in advance.

Newport_j
Posted on: 2012/8/20 14:40
Create PDF from Post Print
Top
 Top   Previous Topic   Next Topic

 


 You cannot start a new topic.
 You can view topic.
 You cannot reply to posts.
 You cannot edit your posts.
 You cannot delete your posts.
 You cannot add new polls.
 You cannot vote in polls.
 You cannot attach files to posts.
 You cannot post without approval.




"Linux" is a registered trademark of Linus Torvalds. | All other trademarks are property of their respective owners. | All other content is Copyright @ 2004-2009 by the CentOS Project or "each individual contributor (forums, comments, etc.) unless otherwise assigned".| Theme based on a theme by 7dana.com