All of lore.kernel.org
 help / color / mirror / Atom feed
* can add a new bpf helper function bpf_map_compare_and_update_elem?
@ 2021-11-25  8:34 Yahui Chen
  2021-11-26 20:25 ` Cong Wang
  0 siblings, 1 reply; 3+ messages in thread
From: Yahui Chen @ 2021-11-25  8:34 UTC (permalink / raw)
  To: bpf@vger.kernel.org; +Cc: zhangwei123171

Suppose we have a map, MAP_A, and the user program does the following:

1. bpf_map_lookup_elem(MAP_A, key, value)
2. change the value
3. bpf_map_update_elem(MAP_A, key, value, FLAG)

At the same time, the kernel's BPF program may also be modifying the value.

Then we have concurrency problems.

Therefore, can we add a helper function like compare and swap?

Let's call it bpf_map_compare_and_update_elem.

So, the map operations will be modified as follows:

for true {
    1. bpf_map_lookup_elem(MAP_A, key, old_value)
    2. change value
    3. ret = bpf_map_compare_and_update_elem(MAP_A, key, old_value,
new_value, FLAG)
    4. if ret == 0 { break }
}


thank you

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2021-11-29  6:54 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-11-25  8:34 can add a new bpf helper function bpf_map_compare_and_update_elem? Yahui Chen
2021-11-26 20:25 ` Cong Wang
2021-11-29  6:49   ` Yahui Chen

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.