[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