Lines Matching refs:DIM
2 Net DIM - Generic Network Dynamic Interrupt Moderation
19 Dynamic Interrupt Moderation (DIM) (in networking) refers to changing the
23 runtime data sampled from the system. Net DIM is such a mechanism. In each
28 samples is also measured. Net DIM compares the current and the previous data and
32 number of wanted packets per event. The Net DIM algorithm ascribes importance to
36 Net DIM Algorithm
39 Each iteration of the Net DIM algorithm follows these steps:
47 supplied by the driver registered to Net DIM. The previous data is the new data
58 certain percentage. Also, since Net DIM does not measure anything by itself, it
75 the Net DIM API and provided by the registered driver.
77 As you can see, Net DIM itself does not actively interact with the system. It
85 Registering a Network Device to DIM
88 Net DIM API exposes the main function net_dim().
90 DIM algorithm and has to be called every time the driver would like to check if
94 describes the state of DIM for a specific object (RX queue, TX queue,
103 In order to use Net DIM from a networking driver, the driver needs to call the
105 interrupt. Since Net DIM has a built-in moderation and it might decide to skip
109 each entity using Net DIM to hold a :c:type:`struct dim <dim>` as part of its
110 data structure and use it as the main Net DIM API object.
115 The net_dim() call itself does not return anything. Instead Net DIM relies on
119 the data flow. After the work is done, Net DIM algorithm needs to be set to
126 The following code demonstrates how to register a driver to Net DIM. The actual
133 /* Callback for net DIM to schedule on a decision to change moderation */
142 /* Signal net DIM work is done and it should move to next iteration */
158 /* Call net DIM */
172 Dynamic Interrupt Moderation (DIM) library API