Re: can add a new bpf helper function bpf_map_compare_and_update_elem?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Nov 25, 2021 at 04:34:48PM +0800, Yahui Chen wrote:
> 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.
> 

This is why we have bpf spinlock. ;)


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

I don't think you can atomically compare and swap values larger than
CPU word size.


Thanks.



[Index of Archives]     [Linux Samsung SoC]     [Linux Rockchip SoC]     [Linux Actions SoC]     [Linux for Synopsys ARC Processors]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]


  Powered by Linux