[lttng-dev] URCU on the Xeon Phi

Michel Dagenais michel.dagenais at polymtl.ca
Sun Nov 15 14:58:10 EST 2015


Simon Marchi worked on the Xeon Phi. He should be able to tell you more. Basically the Phi is compatible with older "pentium" presumably a design decision to put simpler cores but more of them. Thus, some of the later additions (e.g., a few specialized instructions) are missing.

----- Mail original -----
> CCing lttng-dev mailing list.
> 
> ----- On Nov 13, 2015, at 12:08 AM, 何鑫 sayounara at hnu.edu.cn wrote:
> 
> > Dear Mathieu:
> >          I am a master's degree student at Hunan University in the College
> >          of Information
> >          Science and Engieering.I'm trying to port a project as a native
> >          Xeon Phi
> >          application.The project depends on  some rcu dynamic shared
> >          libraries(liburcu.so.4,liburcu-cds.so.4,liburcu-common.so.4,liburcu-qsbr.so.4
> >          etc.).and I understand that I have to cross-compile these librarys
> >          for
> >          x86_64-k1om-linux.Here's the problem I've hit.When I try to
> >          compile
> >          userspace-rcu to get these shared libs.It generate these errors.
> 
> AFAIK, the Xeon Phi is not in the list of urcu architectures at the
> moment. liburcu would need to be extended to support it.
> 
> I know contributors at Polytechnique have a Xeon Phi. Perhaps they
> could tell us more about what is needed ?
> 
> Thanks,
> 
> Mathieu
> 
> > 
> > [root at localhost workspace]# cd userspace-rcu/
> > [root at localhost userspace-rcu]# make
> > make  all-recursive
> > make[1]: 进入目录“/root/workspace/userspace-rcu”
> > Making all in .
> > make[2]: 进入目录“/root/workspace/userspace-rcu”
> >  CCLD   liburcu-common.la
> >  CC     urcu.lo
> >  CC     urcu-pointer.lo
> >  CCLD   liburcu.la
> >  CC     urcu-qsbr.lo
> >  CCLD   liburcu-qsbr.la
> >  CC     liburcu_mb_la-urcu.lo
> >  CC     liburcu_mb_la-urcu-pointer.lo
> >  CC     liburcu_mb_la-compat_futex.lo
> >  CCLD   liburcu-mb.la
> >  CC     liburcu_signal_la-urcu.lo
> >  CC     liburcu_signal_la-urcu-pointer.lo
> >  CC     liburcu_signal_la-compat_futex.lo
> >  CCLD   liburcu-signal.la
> >  CC     urcu-bp.lo
> >  CCLD   liburcu-bp.la
> >  CC     rculfqueue.lo
> >  CC     rculfstack.lo
> >  CC     lfstack.lo
> >  CC     rculfhash.lo
> >  CC     rculfhash-mm-order.lo
> >  CC     rculfhash-mm-chunk.lo
> >  CC     rculfhash-mm-mmap.lo
> >  CCLD   liburcu-cds.la
> > make[2]: 离开目录“/root/workspace/userspace-rcu”
> > Making all in doc
> > make[2]: 进入目录“/root/workspace/userspace-rcu/doc”
> > Making all in examples
> > make[3]: 进入目录“/root/workspace/userspace-rcu/doc/examples”
> > Examples: relative top_srcdir path ../..
> > Examples: relative top_builddir path ../..
> > make[4]: 进入目录“/root/workspace/userspace-rcu/doc/examples”
> > make -C hlist
> > make[5]: 进入目录“/root/workspace/userspace-rcu/doc/examples/hlist”
> > make -f Makefile.cds_hlist_add_head_rcu
> > make[6]: 进入目录“/root/workspace/userspace-rcu/doc/examples/hlist”
> > icc -std=gnu99  -g -O2 -Wall -I..//../../ -I../../../ -mmic -pthread \
> >	-c -o cds_hlist_add_head_rcu.o cds_hlist_add_head_rcu.c
> > In file included from cds_hlist_add_head_rcu.c(20):
> > ..//../../urcu/rcuhlist.h(50): warning #266: function "CMM_STORE_SHARED"
> > declared implicitly
> >  	CMM_STORE_SHARED(elem->prev->next, elem->next);
> >  	^
> > 
> > icc -std=gnu99 -g -O2 -Wall  -mmic -pthread -L../../../.libs/ -Wl,-rpath
> > "/root/workspace/userspace-rcu/doc/examples/../../.libs/" \
> >	-o cds_hlist_add_head_rcu cds_hlist_add_head_rcu.o -lurcu
> > x86_64-k1om-linux-ld: warning: libimf.so, needed by
> > ../../../.libs//liburcu.so,
> > not found (try using -rpath or -rpath-link)
> > x86_64-k1om-linux-ld: warning: libsvml.so, needed by
> > ../../../.libs//liburcu.so,
> > not found (try using -rpath or -rpath-link)
> > x86_64-k1om-linux-ld: warning: libirng.so, needed by
> > ../../../.libs//liburcu.so,
> > not found (try using -rpath or -rpath-link)
> > x86_64-k1om-linux-ld: warning: libintlc.so.5, needed by
> > ../../../.libs//liburcu.so, not found (try using -rpath or -rpath-link)
> > ../../../.libs//liburcu.so: undefined reference to `CMM_STORE_SHARED'
> > ../../../.libs//liburcu.so: undefined reference to `uatomic_and'
> > ../../../.libs//liburcu.so: undefined reference to
> > `cmm_smp_mb__after_uatomic_and'
> > ../../../.libs//liburcu.so: undefined reference to `CMM_LOAD_SHARED'
> > ../../../.libs//liburcu.so: undefined reference to `uatomic_dec'
> > ../../../.libs//liburcu.so: undefined reference to `uatomic_add'
> > ../../../.libs//liburcu.so: undefined reference to `cmm_smp_rmb'
> > ../../../.libs//liburcu.so: undefined reference to `cmm_smp_wmc'
> > ../../../.libs//liburcu.so: undefined reference to
> > `cmm_smp_mb__before_uatomic_or'
> > ../../../.libs//liburcu.so: undefined reference to `uatomic_read'
> > ../../../.libs//liburcu.so: undefined reference to `uatomic_xchg'
> > ../../../.libs//liburcu.so: undefined reference to `uatomic_sub_return'
> > ../../../.libs//liburcu.so: undefined reference to `uatomic_set'
> > ../../../.libs//liburcu.so: undefined reference to `cmm_wmb'
> > ../../../.libs//liburcu.so: undefined reference to `uatomic_or'
> > ../../../.libs//liburcu.so: undefined reference to `cmm_smp_mb'
> > ../../../.libs//liburcu.so: undefined reference to `caa_cpu_relax'
> > ../../../.libs//liburcu.so: undefined reference to
> > `cmm_smp_read_barrier_depends'
> > ../../../.libs//liburcu.so: undefined reference to
> > `cmm_smp_mb__after_uatomic_or'
> > ../../../.libs//liburcu.so: undefined reference to `uatomic_sub'
> > ../../../.libs//liburcu.so: undefined reference to `cmm_smp_rmc'
> > ../../../.libs//liburcu.so: undefined reference to `cmm_smp_wmb'
> > ../../../.libs//liburcu.so: undefined reference to `uatomic_inc'
> > ../../../.libs//liburcu.so: undefined reference to `uatomic_cmpxchg
> > 
> > I'm confused about these errors and don't know how to solve these
> > error(like
> > ../../../.libs//liburcu.so: undefined reference to `CMM_STORE_SHARED').
> > Could you give me some tips  about this?
> > I am looking foward to your apply .
> > 
> > Thank you,
> > 
> > [Xin He]
> > 
> > Hunan University In China
> 
> --
> Mathieu Desnoyers
> EfficiOS Inc.
> http://www.efficios.com
> 
> _______________________________________________
> lttng-dev mailing list
> lttng-dev at lists.lttng.org
> http://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev
> 



More information about the lttng-dev mailing list