Now that all XDP maps that can be used with bpf_redirect_map() tracks entries to be flushed in a global fashion, there is not need to track that the map has changed and flush from xdp_do_generic_map() anymore. All entries will be flushed in xdp_do_flush_map(). This means that the map_to_flush can be removed, and the corresponding checks. Moving the flush logic to one place, xdp_do_flush_map(), give a bulking behavior and performance boost.
Showing the changes to include/linux (1 of 2 files). Show all
Unified · Split
| @@ -592,7 +592,6 @@ struct bpf_redirect_info { · 591 unmodified lines | ||
| 592 | 592 | u32 tgt_index; |
| 593 | 593 | void *tgt_value; |
| 594 | 594 | struct bpf_map *map; |
| 595 | − struct bpf_map *map_to_flush; | |
| 596 | 595 | u32 kern_flags; |
| 597 | 596 | }; |
| 598 | 597 | |