aboutsummaryrefslogtreecommitdiff
path: root/docs/kernel_buffer.puml
diff options
context:
space:
mode:
Diffstat (limited to 'docs/kernel_buffer.puml')
-rw-r--r--docs/kernel_buffer.puml52
1 files changed, 52 insertions, 0 deletions
diff --git a/docs/kernel_buffer.puml b/docs/kernel_buffer.puml
new file mode 100644
index 0000000..dc2c744
--- /dev/null
+++ b/docs/kernel_buffer.puml
@@ -0,0 +1,52 @@
+@startuml
+
+skinparam backgroundColor #FEFEFE
+
+box "Application" #0091BD
+participant "main()" as main
+end box
+
+box "Driver library" #00C1DE
+participant "Device" as ddev
+participant "Buffer" as dbuf
+participant "Network" as dnet
+participant "Inference" as dinf
+end box
+
+box "Kernel driver" #7D868C
+participant "Device" as kdev
+participant "Buffer" as kbuf
+participant "Network" as knet
+participant "Inference" as kinf
+end box
+
+activate main
+
+main -> ddev++: Device()
+ note over kdev
+ Open device node
+ end note
+
+ ddev -> kdev++: open(<device node>)
+ return file descriptor
+return
+
+main -> dbuf++: Buffer(device)
+ dbuf -> kdev++: ioctl(BUFFER_CREATE)
+ note over kbuf
+ Create buffer and return file descriptor
+ end note
+
+ kdev -> kbuf++: create()
+ return file descriptor
+ return file descriptor
+
+ note over kbuf
+ Memory map buffer
+ end note
+
+ dbuf -> kbuf++: mmap(file descriptor)
+ return
+return
+
+@enduml