Messages in this thread | | | Subject | Re: [PATCH v2 net-next 1/7] bpf: add 'flags' attribute to BPF_MAP_UPDATE_ELEM command | From | Hannes Frederic Sowa <> | Date | Fri, 14 Nov 2014 17:06:43 +0100 |
| |
On Fr, 2014-11-14 at 07:33 -0800, Alexei Starovoitov wrote: > On Fri, Nov 14, 2014 at 4:11 AM, Hannes Frederic Sowa > <hannes@stressinduktion.org> wrote: > > On Do, 2014-11-13 at 17:36 -0800, Alexei Starovoitov wrote: > >> the current meaning of BPF_MAP_UPDATE_ELEM syscall command is: > >> either update existing map element or create a new one. > >> Initially the plan was to add a new command to handle the case of > >> 'create new element if it didn't exist', but 'flags' style looks > >> cleaner and overall diff is much smaller (more code reused), so add 'flags' > >> attribute to BPF_MAP_UPDATE_ELEM command with the following meaning: > >> #define BPF_ANY 0 /* create new element or update existing */ > >> #define BPF_NOEXIST 1 /* create new element if it didn't exist */ > >> #define BPF_EXIST 2 /* update existing element */ > > > > Would a cmpxchg-alike function be handy here? > > you mean cmpxchg command in addition to > update() command ? > May be... it will have an extra 'value' argument > (key, old_value, new_value) > I don't have a use case for it yet though.
I don't neither. ;)
I just wanted to bring this up before user space api might get public and the additional argument might make problems.
Bye, Hannes
| |