aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/tools/perf/scripts/python/call-graph-from-postgresql.py
diff options
context:
space:
mode:
authorAlice Ryhl <aliceryhl@google.com>2024-08-14 08:05:23 +0000
committerMiguel Ojeda <ojeda@kernel.org>2024-08-23 06:26:57 +0200
commit14176295fe56ce9506e650dce436d2bdadec93b5 (patch)
tree0c09eb089153da4e421784e44087ff7179988181 /tools/perf/scripts/python/call-graph-from-postgresql.py
parentrust: list: add tracking for ListArc (diff)
downloadwireguard-linux-14176295fe56ce9506e650dce436d2bdadec93b5.tar.xz
wireguard-linux-14176295fe56ce9506e650dce436d2bdadec93b5.zip
rust: list: add struct with prev/next pointers
Define the ListLinks struct, which wraps the prev/next pointers that will be used to insert values into a List in a future patch. Also define the ListItem trait, which is implemented by structs that have a ListLinks field. The ListItem trait provides four different methods that are all essentially container_of or the reverse of container_of. Two of them are used before inserting/after removing an item from the list, and the two others are used when looking at a value without changing whether it is in a list. This distinction is introduced because it is needed for the patch that adds support for heterogeneous lists, which are implemented by adding a third pointer field with a fat pointer to the full struct. When inserting into the heterogeneous list, the pointer-to-self is updated to have the right vtable, and the container_of operation is implemented by just returning that pointer instead of using the real container_of operation. Reviewed-by: Benno Lossin <benno.lossin@proton.me> Signed-off-by: Alice Ryhl <aliceryhl@google.com> Link: https://lore.kernel.org/r/20240814-linked-list-v5-4-f5f5e8075da0@google.com Signed-off-by: Miguel Ojeda <ojeda@kernel.org>
Diffstat (limited to 'tools/perf/scripts/python/call-graph-from-postgresql.py')
0 files changed, 0 insertions, 0 deletions