From 85d3785e6a59b133e2fe195efe5729d08cb6b930 Mon Sep 17 00:00:00 2001 From: Eelco Chaudron Date: Wed, 22 Dec 2021 10:19:02 +0100 Subject: utilities: Add netlink flow operation USDT probes and upcall_cost script. This patch adds a series of NetLink flow operation USDT probes. These probes are in turn used in the upcall_cost Python script, which in addition of some kernel tracepoints, give an insight into the time spent on processing upcall. Signed-off-by: Eelco Chaudron Acked-by: Paolo Valerio Signed-off-by: Ilya Maximets --- Documentation/topics/usdt-probes.rst | 86 ++++++++++++++++++++++++++++++++++++ 1 file changed, 86 insertions(+) (limited to 'Documentation/topics') diff --git a/Documentation/topics/usdt-probes.rst b/Documentation/topics/usdt-probes.rst index 856d579f6..cdded4f90 100644 --- a/Documentation/topics/usdt-probes.rst +++ b/Documentation/topics/usdt-probes.rst @@ -202,11 +202,96 @@ used naming convention. Available probes in ``ovs_vswitchd``: +- dpif_netlink_operate\_\_:op_flow_del +- dpif_netlink_operate\_\_:op_flow_execute +- dpif_netlink_operate\_\_:op_flow_get +- dpif_netlink_operate\_\_:op_flow_put - dpif_recv:recv_upcall - main:poll_block - main:run_start +dpif_netlink_operate\_\_:op_flow_del +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +**Description**: + +This probe gets triggered when the Netlink datapath is about to execute the +DPIF_OP_FLOW_DEL operation as part of the dpif ``operate()`` callback. + +**Arguments**: + +- *arg0*: ``(struct dpif_netlink *) dpif`` +- *arg1*: ``(struct dpif_flow_del *) del`` +- *arg2*: ``(struct dpif_netlink_flow *) flow`` +- *arg3*: ``(struct ofpbuf *) aux->request`` + +**Script references**: + +- *None* + + +dpif_netlink_operate\_\_:op_flow_execute +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +**Description**: + +This probe gets triggered when the Netlink datapath is about to execute the +DPIF_OP_FLOW_EXECUTE operation as part of the dpif ``operate()`` callback. + +**Arguments**: + +- *arg0*: ``(struct dpif_netlink *) dpif`` +- *arg1*: ``(struct dpif_execute *) op->execute`` +- *arg2*: ``dp_packet_data(op->execute.packet)`` +- *arg3*: ``dp_packet_size(op->execute.packet)`` +- *arg4*: ``(struct ofpbuf *) aux->request`` + +**Script references**: + +- ``utilities/usdt-scripts/upcall_cost.py`` + + +dpif_netlink_operate\_\_:op_flow_get +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +**Description**: + +This probe gets triggered when the Netlink datapath is about to execute the +DPIF_OP_FLOW_GET operation as part of the dpif ``operate()`` callback. + +**Arguments**: + +- *arg0*: ``(struct dpif_netlink *) dpif`` +- *arg1*: ``(struct dpif_flow_get *) get`` +- *arg2*: ``(struct dpif_netlink_flow *) flow`` +- *arg3*: ``(struct ofpbuf *) aux->request`` + +**Script references**: + +- *None* + + +dpif_netlink_operate\_\_:op_flow_put +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +**Description**: + +This probe gets triggered when the Netlink datapath is about to execute the +DPIF_OP_FLOW_PUT operation as part of the dpif ``operate()`` callback. + +**Arguments**: + +- *arg0*: ``(struct dpif_netlink *) dpif`` +- *arg1*: ``(struct dpif_flow_put *) put`` +- *arg2*: ``(struct dpif_netlink_flow *) flow`` +- *arg3*: ``(struct ofpbuf *) aux->request`` + +**Script references**: + +- ``utilities/usdt-scripts/upcall_cost.py`` + + probe dpif_recv:recv_upcall ~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -229,6 +314,7 @@ sent to ``ovs-vswitchd``. **Script references**: +- ``utilities/usdt-scripts/upcall_cost.py`` - ``utilities/usdt-scripts/upcall_monitor.py`` -- cgit v1.2.1