[bpf-next,v5,1/2] docs/bpf: Add table to describe LRU properties

Message ID 20230422172054.3355436-1-joe@isovalent.com
State New
Headers
Series [bpf-next,v5,1/2] docs/bpf: Add table to describe LRU properties |

Commit Message

Joe Stringer April 22, 2023, 5:20 p.m. UTC
  Depending on the map type and flags for LRU, different properties are
global or percpu. Add a table to describe these.

Signed-off-by: Joe Stringer <joe@isovalent.com>
---
v5: Use bold rather than verbatim for column header
v4: Initial posting
---
 Documentation/bpf/map_hash.rst | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)
  

Comments

John Fastabend April 23, 2023, 2:26 p.m. UTC | #1
Joe Stringer wrote:
> Depending on the map type and flags for LRU, different properties are
> global or percpu. Add a table to describe these.
> 
> Signed-off-by: Joe Stringer <joe@isovalent.com>
> ---
> v5: Use bold rather than verbatim for column header
> v4: Initial posting
> ---
>  Documentation/bpf/map_hash.rst | 11 ++++++++++-
>  1 file changed, 10 insertions(+), 1 deletion(-)
> 
> diff --git a/Documentation/bpf/map_hash.rst b/Documentation/bpf/map_hash.rst
> index 8669426264c6..1314dfc5e7e1 100644
> --- a/Documentation/bpf/map_hash.rst
> +++ b/Documentation/bpf/map_hash.rst
> @@ -29,7 +29,16 @@ will automatically evict the least recently used entries when the hash
>  table reaches capacity. An LRU hash maintains an internal LRU list that
>  is used to select elements for eviction. This internal LRU list is
>  shared across CPUs but it is possible to request a per CPU LRU list with
> -the ``BPF_F_NO_COMMON_LRU`` flag when calling ``bpf_map_create``.
> +the ``BPF_F_NO_COMMON_LRU`` flag when calling ``bpf_map_create``.  The
> +following table outlines the properties of LRU maps depending on the a
> +map type and the flags used to create the map.
> +
> +======================== ========================= ================================
> +Flag                     ``BPF_MAP_TYPE_LRU_HASH`` ``BPF_MAP_TYPE_LRU_PERCPU_HASH``
> +======================== ========================= ================================
> +**BPF_F_NO_COMMON_LRU**  Per-CPU LRU, global map   Per-CPU LRU, per-cpu map
> +**!BPF_F_NO_COMMON_LRU** Global LRU, global map    Global LRU, per-cpu map
> +======================== ========================= ================================
>  
>  Usage
>  =====
> -- 
> 2.34.1
> 

Acked-by: John Fastabend <john.fastabend@gmail.com>
  
patchwork-bot+netdevbpf@kernel.org April 27, 2023, 12:30 p.m. UTC | #2
Hello:

This series was applied to bpf/bpf-next.git (master)
by Daniel Borkmann <daniel@iogearbox.net>:

On Sat, 22 Apr 2023 10:20:53 -0700 you wrote:
> Depending on the map type and flags for LRU, different properties are
> global or percpu. Add a table to describe these.
> 
> Signed-off-by: Joe Stringer <joe@isovalent.com>
> ---
> v5: Use bold rather than verbatim for column header
> v4: Initial posting
> 
> [...]

Here is the summary with links:
  - [bpf-next,v5,1/2] docs/bpf: Add table to describe LRU properties
    https://git.kernel.org/bpf/bpf-next/c/af0335d2926e
  - [bpf-next,v5,2/2] docs/bpf: Add LRU internals description and graph
    https://git.kernel.org/bpf/bpf-next/c/1a986518b8a5

You are awesome, thank you!
  

Patch

diff --git a/Documentation/bpf/map_hash.rst b/Documentation/bpf/map_hash.rst
index 8669426264c6..1314dfc5e7e1 100644
--- a/Documentation/bpf/map_hash.rst
+++ b/Documentation/bpf/map_hash.rst
@@ -29,7 +29,16 @@  will automatically evict the least recently used entries when the hash
 table reaches capacity. An LRU hash maintains an internal LRU list that
 is used to select elements for eviction. This internal LRU list is
 shared across CPUs but it is possible to request a per CPU LRU list with
-the ``BPF_F_NO_COMMON_LRU`` flag when calling ``bpf_map_create``.
+the ``BPF_F_NO_COMMON_LRU`` flag when calling ``bpf_map_create``.  The
+following table outlines the properties of LRU maps depending on the a
+map type and the flags used to create the map.
+
+======================== ========================= ================================
+Flag                     ``BPF_MAP_TYPE_LRU_HASH`` ``BPF_MAP_TYPE_LRU_PERCPU_HASH``
+======================== ========================= ================================
+**BPF_F_NO_COMMON_LRU**  Per-CPU LRU, global map   Per-CPU LRU, per-cpu map
+**!BPF_F_NO_COMMON_LRU** Global LRU, global map    Global LRU, per-cpu map
+======================== ========================= ================================
 
 Usage
 =====