[asterisk-users] BUILD_NATIVE vs Xeon E5 v2 vs Xeon E5 v3

marek cervajs64 at gmail.com
Thu May 20 08:57:14 CDT 2021


update

my cpu family (hundred of VMs) is based on this (-march)

corei7-avx
core-avx2
corei7

note:

you can check your march code like this

gcc -c -Q -march=native --help=target |grep arch


so it looks like i will stay with corei7  (anybody knows if avx is "big" 
performance save impact?)

i'll change build process to

menuselect/menuselect --disable BUILD_NATIVE menuselect.makeopts

then i need "force" CFLAGS="-march=corei7" in rpm build . any hints ?


WARNING:

there are changes in -march names through gcc versions

https://stackoverflow.com/questions/943755/gcc-optimization-flags-for-xeon/25095818



Dne 20/05/2021 v 12:31 marek napsal(a):
> Uh i forgot. the build machine is a VMware VM and asterisk build is 
> inside a docker container (centos7) as RPM
>
> Dne 20/05/2021 v 11:57 marek napsal(a):
>> hi,
>>
>> i builded Asterisk 16.18 with BUILD_NATIVE on Xeon E5 v3 (Intel(R) 
>> Xeon(R) CPU E5-2670 v3 @ 2.30GHz)
>>
>> on machine when i want run Asterisk it hangs with Illegal instruction 
>> see below (Intel(R) Xeon(R) CPU E5-2660 v2 @ 2.20GHz)
>>
>> is it only way to disable BUILD_NATIVE ?
>>
>> or can be somehow specified to build for "something like xeon E5"?
>>
>> OS is Centos 7
>>
>>
>> stat("/sys/fs/selinux", {st_mode=S_IFDIR|0755, st_size=0, ...}) = 0
>> brk(NULL)                               = 0x22aa000
>> brk(0x22cb000)                          = 0x22cb000
>> access("/etc/selinux/config", F_OK)     = 0
>> open("/etc/pki/tls/legacy-settings", O_RDONLY) = -1 ENOENT (No such 
>> file or directory)
>> access("/etc/system-fips", F_OK)        = -1 ENOENT (No such file or 
>> directory)
>> geteuid()                               = 0
>> stat("/etc/sysconfig/64bit_strstr_via_64bit_strstr_sse2_unaligned", 
>> 0x7ffcdace6c30) = -1 ENOENT (No such file or directory)
>> socket(AF_INET, SOCK_STREAM, IPPROTO_IP) = 3
>> ioctl(3, SIOCGIFCONF, {ifc_len=2 * sizeof(struct ifreq), 
>> ifc_buf=NULL}) = 0
>> ioctl(3, SIOCGIFCONF, {ifc_len=2 * sizeof(struct ifreq), 
>> ifc_buf=[{ifr_name="lo", ifr_addr={sa_family=AF_INET, 
>> sin_port=htons(0), sin_addr=inet_addr("127.0.0.1")}}, 
>> {ifr_name="eth0", ifr_addr={sa_family=AF_INET, sin_port=htons(0), 
>> sin_addr=inet_addr("filtered")}}]}) = 0
>> ioctl(3, SIOCGIFHWADDR, {ifr_name="lo", 
>> ifr_hwaddr={sa_family=ARPHRD_LOOPBACK, sa_data=00:00:00:00:00:00}}) = 0
>> ioctl(3, SIOCGIFHWADDR, {ifr_name="eth0", 
>> ifr_hwaddr={sa_family=ARPHRD_ETHER, sa_data=filtered}}) = 0
>> futex(0x910ba0, FUTEX_WAKE_PRIVATE, 2147483647) = 0
>> futex(0x910900, FUTEX_WAKE_PRIVATE, 2147483647) = 0
>> --- SIGILL {si_signo=SIGILL, si_code=ILL_ILLOPN, si_addr=0x5a0cfe} ---
>> +++ killed by SIGILL +++
>> Illegal instruction
>>
>>
>> Marek
>>



More information about the asterisk-users mailing list