On Fri, Nov 14, 2014 at 4:11 AM, Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> 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. -- To unsubscribe from this list: send the line "unsubscribe linux-api" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html