> Hi > > I've been testing non-x86 architecture builds for the upcoming 2.12 release > of OVS and I'm hitting an issue with DPDK enabled builds on the arm64 > architecture. > > branch-2.12 includes improvements for native hashing under arm64; these > appear to work fine when DPDK is not in the mix, but with DPDK enabled, I > get a SIGILL in lib/hash.c:
Hi. What is your target platform? One explanation I could imagine is that DPDK blindly forces -march=armv8-a+crc defining __ARM_FEATURE_CRC32 while your cpu doesn't support crc32 extension. Do you have crc32 in the list of cpu features in /proc/cpuinfo ? Best regards, Ilya Maximets. > > Program received signal SIGILL, Illegal instruction. > hash_bytes (p_=p_ at entry=0xaaaaaac36e50, n=7, basis=basis at entry=0) at > ../lib/hash.c:38 > 38 ../lib/hash.c: No such file or directory. > > (gdb) backtrace full > #0 hash_bytes (p_=p_ at entry=0xaaaaaac36e50, n=7, basis=basis at entry=0) at > ../lib/hash.c:38 > p = 0xaaaaaac36e50 > orig_n = 7 > hash = 0 > #1 0x0000aaaaaab4238c in hash_string (basis=0, s=0xaaaaaac36e50 "comment") > at ../lib/hash.h:342 > No locals. > #2 hash_name (name=name at entry=0xaaaaaac36e50 "comment") at > ../lib/shash.c:28 > No locals. > #3 0x0000aaaaaab42a1c in shash_find (sh=sh at entry=0xaaaaaaceb6f8 > <all_commands>, name=name at entry=0xaaaaaac36e50 "comment") > at ../lib/shash.c:231 > No locals. > #4 0x0000aaaaaab42a60 in shash_add_once (sh=0xaaaaaaceb6f8 <all_commands>, > name=0xaaaaaac36e50 "comment", > data=0xaaaaaacdb0d8 <db_ctl_commands>) at ../lib/shash.c:135 > No locals. > #5 0x0000aaaaaab42ab4 in shash_add_assert (sh=sh at entry=0xaaaaaaceb6f8 > <all_commands>, name=<optimized out>, > data=data at entry=0xaaaaaacdb0d8 <db_ctl_commands>) at ../lib/shash.c:146 > __func__ = "shash_add_assert" > #6 0x0000aaaaaab05900 in ctl_register_command (command=0xaaaaaacdb0d8 > <db_ctl_commands>) at ../lib/db-ctl-base.c:2470 > No locals. > #7 ctl_register_commands (commands=0xaaaaaacdb0d8 <db_ctl_commands>) at > ../lib/db-ctl-base.c:2470 > p = 0xaaaaaacdb0d8 <db_ctl_commands> > p = <optimized out> > #8 ctl_init__ (idl_class_=<optimized out>, ctl_classes_=<optimized out>, > cmd_show_tables_=0x0, ctl_exit_func_=<optimized out>) > at ../lib/db-ctl-base.c:2486 > No locals. > #9 0x0000aaaaaaad5768 in nbctl_cmd_init () at > ../ovn/utilities/ovn-nbctl.c:5695 > No locals. > #10 main (argc=1, argv=0xfffffffff4d8) at ../ovn/utilities/ovn-nbctl.c:137 > idl = <optimized out> > local_options = {map = {buckets = 0x0, one = 0xfffffffff390, mask = > 281473881441200, n = 187649986051872}} > args = <optimized out> > parsed_options = 0xfffffffff350 > n_parsed_options = 187649986051968 > error_s = <optimized out> > socket_name = <optimized out> > daemon_mode = <optimized out> > > This effects pretty much all of the binaries built with DPDK enabled. > > gcc version is 9.2.1 on Ubuntu eoan; I've not tested on earlier gcc > versions (yet). > > Any help/pointers much appreciated. > > Cheers > > James _______________________________________________ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev