@@ -1,2 +1,4 @@
resource_management.svg
pktio_fsm.svg
+timer_fsm.svg
+timeout_fsm.svg
new file mode 100644
@@ -0,0 +1,29 @@
+digraph timer_state_machine {
+ rankdir=LR;
+ size="12,20";
+ node [fontsize=28];
+ edge [fontsize=28];
+ node [shape=doublecircle]; TO_Unalloc TO_Delivered;
+ node [shape=circle]; TO_Alloc TO_Pending;
+ TO_Unalloc -> TO_Alloc [label="odp_timeout_alloc()"];
+ TO_Alloc -> TO_Unalloc [label="odp_timeout_free()"];
+ TO_Alloc -> TO_Pending [fontcolor=green,
+ label="odp_timer_set_abs()"];
+ TO_Alloc -> TO_Pending [fontcolor=green,
+ label="odp_timer_set_rel()"];
+ TO_Pending -> TO_Alloc [fontcolor=green,
+ label="odp_timer_cancel()"];
+ TO_Pending -> TO_Delivered [fontcolor=green,
+ label="timer expires"];
+ TO_Delivered -> TO_Pending [fontcolor=green,
+ label="odp_timer_set_abs()"];
+ TO_Delivered -> TO_Pending [fontcolor=green,
+ label="odp_timer_set_rel()"];
+ TO_Delivered -> TO_Delivered
+ [fontcolor=green, label="odp_timeout_from_event()"];
+ TO_Delivered -> TO_Delivered
+ [fontcolor=green, label="odp_timeout_timer()"];
+ TO_Delivered -> TO_Unalloc
+ [label="odp_timeout_free() / odp_event_free()"];
+
+}
new file mode 100644
@@ -0,0 +1,24 @@
+digraph timer_state_machine {
+ rankdir=LR;
+ size="12,20";
+ node [fontsize=28];
+ edge [fontsize=28];
+ node [shape=doublecircle]; Timer_Unalloc;
+ node [shape=circle]; Timer_Alloc Timer_Set Timer_Expired
+ Timer_Unalloc -> Timer_Alloc [label="odp_timer_alloc()"];
+ Timer_Alloc -> Timer_Unalloc [label="odp_timer_free()"];
+ Timer_Alloc -> Timer_Set [fontcolor=green,label="odp_timer_set_abs()"];
+ Timer_Alloc -> Timer_Set [fontcolor=green,label="odp_timer_set_rel()"];
+ Timer_Set -> Timer_Alloc [fontcolor=green,label="odp_timer_cancel()"];
+ Timer_Set -> Timer_Expired [fontcolor=green,label="timer expires"];
+ Timer_Expired -> Timer_Unalloc [label="odp_timer_free()"];
+ Timer_Expired -> Timer_Set [fontcolor=green,
+ label="odp_timer_set_abs()"];
+ Timer_Expired -> Timer_Set [fontcolor=green,
+ label="odp_timer_set_rel()"];
+ Timer_Expired -> Timer_Expired
+ [fontcolor=green,label="odp_timeout_from_event()"];
+ Timer_Expired -> Timer_Expired
+ [fontcolor=green,label="odp_timeout_timer()"];
+
+}
@@ -30,6 +30,8 @@ IMAGES = $(top_srcdir)/doc/images/overview.svg \
$(top_srcdir)/doc/images/release_git.svg \
$(top_srcdir)/doc/images/segment.svg \
$(top_srcdir)/doc/images/simple_release_git.svg \
+ $(top_srcdir)/doc/images/timeout_fsm.svg \
+ $(top_srcdir)/doc/images/timer_fsm.svg \
$(top_srcdir)/doc/images/tm_hierarchy.svg \
$(top_srcdir)/doc/images/tm_node.svg