From efdcec17c8c1548d062010cc7ed7e163e7c25e3c Mon Sep 17 00:00:00 2001 From: Andrew Walsh Date: Thu, 3 Sep 2020 17:52:49 -0400 Subject: [PATCH] Eliminated obsolete function smp_read_barrier_depends. In Kernels newer than 5.9 or so, smp_read_barrier_depends has been removed because its functionality is provided by READ_ONCE. See: https://lkml.org/lkml/2019/11/8/1021 We provide a user space implementation that is empty for the four primary platforms we test on. That can be deleted. Some additional barriers can be added if we find that some platform requires them. Pair: sweeettea .../funnelQueue.c Replaced the call to smp_read_barrier_depends with a comment noting that an additional barrier may be needed in the future for some platforms such as Alpha. --- uds/util/funnelQueue.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/uds/util/funnelQueue.c b/uds/util/funnelQueue.c index 922c74e..2464716 100644 --- a/uds/util/funnelQueue.c +++ b/uds/util/funnelQueue.c @@ -74,7 +74,9 @@ static FunnelQueueEntry *getOldest(FunnelQueue *queue) // without breaking the queue invariants. oldest = next; queue->oldest = oldest; - smp_read_barrier_depends(); + // XXX Some platforms such as Alpha may require an + // additional barrier here. See + // https://lkml.org/lkml/2019/11/8/1021 next = oldest->next; }