numam-dpdk/examples
Tomasz Kulasek 3e7bced6a6 examples/performance-thread: fix crash with gcc 5
It seems that with gcc >5.x and -O2/-O3 optimization breaks packet
grouping algorithm in l3fwd-thread application causing segfault.

When last packet pointer "lp" and "pnum->u64" buffer points the same
memory buffer, high optimization can cause unpredictable results.
It seems that assignment of precalculated group sizes may interfere
with initialization of new group size when lp points value inside
current group and didn't should be changed.

With gcc >5.x and optimization we cannot be sure which assignment will be
done first, so the group size can be counted incorrectly causing segfault.

This patch eliminates intersection of assignment of initial group size
(lp[0] = 1) and precalculated group sizes when gptbl[v].idx < 4.

The same patch was applied for original l3fwd (af1694d94).

Fixes: d48415e1fe ("examples/performance-thread: add l3fwd-thread app")

Signed-off-by: Tomasz Kulasek <tomaszx.kulasek@intel.com>
2016-04-27 17:41:46 +02:00
..
bond examples/bond: fix FreeBSD build 2015-12-07 03:21:13 +01:00
cmdline examples: fix whitespace 2015-06-12 11:10:10 +02:00
distributor examples/distributor: fix build for non-x86 arch 2016-02-16 07:21:31 +01:00
dpdk_qat examples/dpdk_qat: fix build error message 2016-03-31 22:03:05 +02:00
ethtool ethdev: remove deprecated statistics 2016-04-20 13:49:31 +02:00
exception_path examples/exception_path: fix shift operation in lcore setup 2016-04-27 17:41:46 +02:00
helloworld tailq: remove unneeded inclusions 2015-03-10 11:47:46 +01:00
ip_fragmentation ethdev: use constants for link state 2016-04-01 21:38:34 +02:00
ip_pipeline port: bump ABI for pcap file support 2016-04-20 11:53:32 +02:00
ip_reassembly ethdev: use constants for link state 2016-04-01 21:38:34 +02:00
ipsec-secgw examples/ipsec-secgw: fix anonymous union initialization 2016-04-08 22:28:39 +02:00
ipv4_multicast ethdev: use constants for link state 2016-04-01 21:38:34 +02:00
kni ethdev: use constants for link state 2016-04-01 21:38:34 +02:00
l2fwd ethdev: use constants for link state 2016-04-01 21:38:34 +02:00
l2fwd-cat examples/l2fwd-cat: add sample application for PQoS CAT and CDP 2016-03-21 23:36:43 +01:00
l2fwd-crypto examples/l2fwd-crypto: fix string overflow 2016-04-07 19:52:07 +02:00
l2fwd-ivshmem ethdev: use constants for link state 2016-04-01 21:38:34 +02:00
l2fwd-jobstats ethdev: use constants for link state 2016-04-01 21:38:34 +02:00
l2fwd-keepalive ethdev: use constants for link state 2016-04-01 21:38:34 +02:00
l3fwd hash: remove aliases for bulk lookup 2016-04-20 13:49:36 +02:00
l3fwd-acl examples: fix draining all queues in l3fwd derivatives 2016-04-07 23:05:47 +02:00
l3fwd-power examples: fix draining all queues in l3fwd derivatives 2016-04-07 23:05:47 +02:00
l3fwd-vf lpm: add a new config structure for IPv4 2016-03-09 23:05:05 +01:00
link_status_interrupt ethdev: use constants for link state 2016-04-01 21:38:34 +02:00
load_balancer ethdev: use constants for link state 2016-04-01 21:38:34 +02:00
multi_process ethdev: use constants for link state 2016-04-01 21:38:34 +02:00
netmap_compat remove extra parentheses in return statement 2016-02-10 15:47:50 +01:00
packet_ordering examples: use buffered Tx 2016-03-11 18:05:55 +01:00
performance-thread examples/performance-thread: fix crash with gcc 5 2016-04-27 17:41:46 +02:00
ptpclient mk: fix missing librt dependencies 2016-03-22 20:46:53 +01:00
qos_meter examples: use buffered Tx 2016-03-11 18:05:55 +01:00
qos_sched doc: drop old naming of the project 2016-02-10 15:47:51 +01:00
quota_watermark remove extra parentheses in return statement 2016-02-10 15:47:50 +01:00
rxtx_callbacks apps: fix default mbuf size 2015-05-11 15:51:14 +02:00
skeleton apps: fix default mbuf size 2015-05-11 15:51:14 +02:00
tep_termination ethdev: rework tunnel filtering structure 2016-03-13 15:26:55 +01:00
timer tailq: remove unneeded inclusions 2015-03-10 11:47:46 +01:00
vhost examples/vhost: fix VLAN tag 2016-03-25 19:53:00 +01:00
vhost_xen examples/vhost_xen: fix 32-bit build 2016-04-10 21:36:54 +02:00
vm_power_manager examples/vm_power_manager: fix libvirt dependency check 2016-04-11 14:29:19 +02:00
vmdq examples/vmdq: fix crash when using too many pools 2015-12-07 03:21:13 +01:00
vmdq_dcb examples: fix build with icc 15.0.1 2016-04-04 15:05:40 +02:00
Makefile examples/vm_power_manager: fix libvirt dependency check 2016-04-11 14:29:19 +02:00