[dpdk-dev] [PATCH v2 0/3] net: fix out of order Rx read issue
On Tue, Oct 18, 2016 at 11:33:43AM +, Ananyev, Konstantin wrote: > > > > > > In vPMD, when load Rx desc with _mm_loadu_si128, > > volatile point will be cast into non-volatile point. > > So GCC is allowed to reorder the load instructions, > > while Rx read's correctness is reply on these load > > instructions to follow a backward sequence strictly, > > so we add compile barrier to prevent compiler reorder. > > We already met this issue on i40e with GCC6 and we > > fixed this on ixgbe and fm10k also. > > > > v2: > > - fix check-git-log.sh warning. > > - add more detail commit message. > > > > Qi Zhang (3): > > net/i40e: fix out of order Rx read issue > > net/ixgbe: fix out of order Rx read issue > > net/fm10k: fix out of ofder Rx read issue > > > > drivers/net/fm10k/fm10k_rxtx_vec.c | 3 +++ > > drivers/net/i40e/i40e_rxtx_vec.c | 3 +++ > > drivers/net/ixgbe/ixgbe_rxtx_vec_sse.c | 3 +++ > > 3 files changed, 9 insertions(+) > > > > -- > > Acked-by: Konstantin Ananyev > Applied to dpdk-next_net/rel_16_11 /Bruce
[dpdk-dev] [PATCH v2 0/3] net: fix out of order Rx read issue
> > In vPMD, when load Rx desc with _mm_loadu_si128, > volatile point will be cast into non-volatile point. > So GCC is allowed to reorder the load instructions, > while Rx read's correctness is reply on these load > instructions to follow a backward sequence strictly, > so we add compile barrier to prevent compiler reorder. > We already met this issue on i40e with GCC6 and we > fixed this on ixgbe and fm10k also. > > v2: > - fix check-git-log.sh warning. > - add more detail commit message. > > Qi Zhang (3): > net/i40e: fix out of order Rx read issue > net/ixgbe: fix out of order Rx read issue > net/fm10k: fix out of ofder Rx read issue > > drivers/net/fm10k/fm10k_rxtx_vec.c | 3 +++ > drivers/net/i40e/i40e_rxtx_vec.c | 3 +++ > drivers/net/ixgbe/ixgbe_rxtx_vec_sse.c | 3 +++ > 3 files changed, 9 insertions(+) > > -- Acked-by: Konstantin Ananyev > 2.7.4
[dpdk-dev] [PATCH v2 0/3] net: fix out of order Rx read issue
In vPMD, when load Rx desc with _mm_loadu_si128, volatile point will be cast into non-volatile point. So GCC is allowed to reorder the load instructions, while Rx read's correctness is reply on these load instructions to follow a backward sequence strictly, so we add compile barrier to prevent compiler reorder. We already met this issue on i40e with GCC6 and we fixed this on ixgbe and fm10k also. v2: - fix check-git-log.sh warning. - add more detail commit message. Qi Zhang (3): net/i40e: fix out of order Rx read issue net/ixgbe: fix out of order Rx read issue net/fm10k: fix out of ofder Rx read issue drivers/net/fm10k/fm10k_rxtx_vec.c | 3 +++ drivers/net/i40e/i40e_rxtx_vec.c | 3 +++ drivers/net/ixgbe/ixgbe_rxtx_vec_sse.c | 3 +++ 3 files changed, 9 insertions(+) -- 2.7.4