On Mon, Nov 18, 2019 at 8:35 PM Alexei Starovoitov <alexei.starovoitov@xxxxxxxxx> wrote: > > On Mon, Nov 18, 2019 at 05:43:53PM -0800, Brian Vazquez wrote: > > From: Yonghong Song <yhs@xxxxxx> > > > > htab can't use generic batch support due some problematic behaviours > > inherent to the datastructre, i.e. while iterating the bpf map a > > concurrent program might delete the next entry that batch was about to > > use, in this case there's no easy solution to retrieve the next entry > > and the issua has been discussed multiple times (see [1] and [2]). > > The only way hmap can be traversed without the problem previously > > exposed is by making sure that the map is traversing entire buckets. > > This commit implements those strict requirements for hmap, the > > implementation follows the same interaction that generic support with > > some exceptions: > > > > - If keys/values buffer are not big enough to traverse a bucket, > > ENOSPC will be returned. > > - out_batch contains the value of the next bucket in the iteration, not > > the next key, but this is transparent for the user since the user > > should never use out_batch for other than bpf batch syscalls. > > > > Note that only lookup and lookup_and_delete batch ops require the hmap > > specific implementation and update/delete batch ops can be the generic > > ones. > > > > [1] https://lore.kernel.org/bpf/20190724165803.87470-1-brianvv@xxxxxxxxxx/ > > [2] https://lore.kernel.org/bpf/20190906225434.3635421-1-yhs@xxxxxx/ > > > > Co-authored-by: Brian Vazquez <brianvv@xxxxxxxxxx> > > Signed-off-by: Brian Vazquez <brianvv@xxxxxxxxxx> > > Signed-off-by: Yonghong Song <yhs@xxxxxx> > > SOB order is not quite correct. > If the patch was mainly developed by Yonghong it should have his 'From:' > then his SOB and then your SOB. > You can drop Co-authored-by field. > Thanks for clarifying, will fix in v2. > Patch 2 was also mainly done by Yonghong or not ? > If so it should have his 'From:' field.6504484251 Generic support was done by me, but will double check the rest of the patches and fix them if needed.