On 1/6/20 10:39 PM, Brian Vazquez wrote: > Hi Yonghong, thanks for reviewing it and sorry for the late reply I > had been traveling. > > On Fri, Dec 13, 2019 at 11:46 AM Yonghong Song <yhs@xxxxxx> wrote: >> >> >> >> On 12/11/19 2:33 PM, Brian Vazquez wrote: >>> This adds the generic batch ops functionality to bpf lpm_trie. >>> >>> Signed-off-by: Brian Vazquez <brianvv@xxxxxxxxxx> >>> --- >>> kernel/bpf/lpm_trie.c | 4 ++++ >>> 1 file changed, 4 insertions(+) >>> >>> diff --git a/kernel/bpf/lpm_trie.c b/kernel/bpf/lpm_trie.c >>> index 56e6c75d354d9..92c47b4f03337 100644 >>> --- a/kernel/bpf/lpm_trie.c >>> +++ b/kernel/bpf/lpm_trie.c >>> @@ -743,4 +743,8 @@ const struct bpf_map_ops trie_map_ops = { >>> .map_update_elem = trie_update_elem, >>> .map_delete_elem = trie_delete_elem, >>> .map_check_btf = trie_check_btf, >>> + .map_lookup_batch = generic_map_lookup_batch, >>> + .map_lookup_and_delete_batch = generic_map_lookup_and_delete_batch, >> >> Not 100% sure whether trie should use generic map >> lookup/lookup_and_delete or not. If the key is not available, >> the get_next_key will return the 'leftmost' node which roughly >> corresponding to the first node in the hash table. >> > > I think you're right, we shouldn't use generic > lookup/lookup_and_delete for lpm_trie. That being said, would you be > ok, if we don't add lpm_trie support in this patch series? Also we can > drop the generic_map_lookup_and_delete implementation in this patch > series and add it in the future, if needed. What do you think? Yes, we can drop generic_map_lookup_and_delete(), it probably will not be used a lot. The normal array map, you cannot delete elements. For fd_array maps, they tend to be small. > >>> + .map_delete_batch = generic_map_delete_batch, >>> + .map_update_batch = generic_map_update_batch,with efault >>> }; >>>