HTM Prefetching for Locks
Use of the libraries
If a program has its own lock implementation, you can replace lock/unlock with
tc_* functions in
txlock itself is an abstract lock. By setting
LIBTXLOCK env variable, you
can specify the type of lock you want to use internally for txlock. Current
tas: basic tatas lock. It's the default choice if
LIBTXLOCKis not set.
tas_tm: tatas lock with prefetching
ticket_tm: ticket lock and its prefetching version
pthread_tm: system pthread lock and its prefetching version
export LIBTXLOCK=tas_tm appA # use tas_tm lock for appA export LIBTXLOCK=pthread appB # use pthread lock for appB
app.bin is a program compiled with default pthread library, running
app.bin with command line:
LD_PRELOAD=path/tl-pthread.so app.bin args will
dynamicly replace the following pthread functions with ours (in
Other pthread functions are not affected.
Again, you can specify the type of txlock via the
LIBTXLOCK env variable.