author | Jiamin Ma <jiamin.ma@amlogic.com> | 2019-10-17 02:10:12 (GMT) |
---|---|---|
committer | Jianxin Pan <jianxin.pan@amlogic.com> | 2019-10-18 09:54:15 (GMT) |
commit | dd3e030886e234798102ef6e725992f1ddf79e55 (patch) | |
tree | 5b065ffc4ba8a555aa1f61b7702a90f59f9b7021 | |
parent | c52ee10e92adabf8f0150c3fa3b6fb66e37c2e0a (diff) | |
download | common-dd3e030886e234798102ef6e725992f1ddf79e55.zip common-dd3e030886e234798102ef6e725992f1ddf79e55.tar.gz common-dd3e030886e234798102ef6e725992f1ddf79e55.tar.bz2 |
vts_bug: workaround for BpfRaceTest.testRaceWithoutBarrier [1/1]
PD#SWPL-14181
Problem:
VtsKernelNetBpfTest#BpfRaceTest.testRaceWithoutBarrier almost always
fail for s905x2 based platform
Solution:
Add workaround for BpfRaceTest.testRaceWithoutBarrier
Verify:
U212
Change-Id: Ia82df3658d9115308d6aaa397d37a3dd6f6663c0
Signed-off-by: Jiamin Ma <jiamin.ma@amlogic.com>
-rw-r--r-- | kernel/bpf/helpers.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/kernel/bpf/helpers.c b/kernel/bpf/helpers.c index 3991840..626fe1d 100644 --- a/kernel/bpf/helpers.c +++ b/kernel/bpf/helpers.c @@ -46,6 +46,16 @@ BPF_CALL_4(bpf_map_update_elem, struct bpf_map *, map, void *, key, void *, value, u64, flags) { WARN_ON_ONCE(!rcu_read_lock_held()); + /* + * Workaround for vts test VtsKernelNetBpfTest + * BpfRaceTest.testRaceWithoutBarrier + * With the 100us delay here, we can significantly + * increase the probability to access the old value + * for eBPF prog in this test case + */ +#ifdef CONFIG_AMLOGIC_MODIFY + udelay(100); +#endif return map->ops->map_update_elem(map, key, value, flags); } |