From 422dbae9c23963e407ffd392aed0c8fe62621c01 Mon Sep 17 00:00:00 2001 From: Taylor R Campbell Date: Thu, 31 Mar 2022 02:13:44 +0000 Subject: [PATCH 31/49] linux/llist: Use membar_release and membar_datadep_consumer. No need for membar_acquire here! Loads are all data-dependent. --- sys/external/bsd/drm2/include/linux/llist.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/external/bsd/drm2/include/linux/llist.h b/sys/external/bsd/drm2/include/linux/llist.h index ac096e7d300b..4190392d2ee7 100644 --- a/sys/external/bsd/drm2/include/linux/llist.h +++ b/sys/external/bsd/drm2/include/linux/llist.h @@ -70,7 +70,7 @@ llist_add(struct llist_node *node, struct llist_head *head) do { first = head->first; node->next = first; - membar_exit(); + membar_release(); } while (atomic_cas_ptr(&head->first, first, node) != first); return first == NULL; @@ -96,7 +96,7 @@ llist_del_all(struct llist_head *head) struct llist_node *first; first = atomic_swap_ptr(&head->first, NULL); - membar_enter(); + membar_datadep_consumer(); return first; } -- 2.33.0