LADI
/
spa
1
Fork 0

doc: Some minor fixups to the scheduling doc

s/evenfd/eventfd and some minor formatting.
This commit is contained in:
Arun Raghavan 2023-05-18 14:52:11 -03:00
parent 1d23d21ffe
commit b216a2cfb0
1 changed files with 10 additions and 10 deletions

View File

@ -17,7 +17,7 @@ Each node also has:
- an activation record that lives in shared memory with memfd.
```
evenfd
eventfd
+-^---------+
| |
in out
@ -42,7 +42,7 @@ The activation record has the following information:
- Information about repositions (seek) and timebase owners.
# links.
# Links
When two nodes are linked together, the output node becomes a dependency for the input
node. This means the input node can only start processing when the output node is finished.
@ -57,7 +57,7 @@ are ready to schedule (runnable).
```
evenfd eventfd
eventfd eventfd
+-^---------+ +-^---------+
| | link | |
in A out ---------------------> in B out
@ -92,7 +92,7 @@ and increments the required field.
```
evenfd eventfd
eventfd eventfd
+-^---------+ +-^---------+
| | link | |
in A out ---------------------> in B out
@ -108,11 +108,11 @@ and increments the required field.
| | / /
| | / /
| | / /
| | / /
| | / /
v | /-------------/ /
activation { /
status:OK, V---------------/
pending:0,
pending:0,
required:2
}
+-^---------+
@ -137,13 +137,13 @@ will then:
times, cpu usage etc.
- Perform reposition requests if any, timebase changes, etc..
- The pending counter of each follower node is set to the required field.
- it then loops over all targets of the driver and atomically decrements the required
- It then loops over all targets of the driver and atomically decrements the required
field of the activation record. When the required field is 0, the eventfd is signaled
and the node can be scheduled.
In our example above, Node A and be will have their pending state decremented. Node A
In our example above, Node A and B will have their pending state decremented. Node A
will be 0 and will be triggered first (node B has 2 pending dependencies to start with and
will not be triggered yet). The driver itself also has 2 dependcies left and will not
will not be triggered yet). The driver itself also has 2 dependencies left and will not
be triggered (complete) yet.
## Scheduling node A
@ -175,7 +175,7 @@ For remote nodes, the eventfd and the activation is transfered from the server
to the client.
This means that writing to the remote client eventfd will wake the client directly
without going to the server first.
without going to the server first.
All remote clients also get the activation and eventfd of the peer and driver they
are linked to and can directly trigger peers and drivers without going to the