2165 call. The kernel part of the interface calls the according API functions |
2165 call. The kernel part of the interface calls the according API functions |
2166 directly, what results in a minimum additional delay (see |
2166 directly, what results in a minimum additional delay (see |
2167 sec.~\ref{sec:usertiming}). |
2167 sec.~\ref{sec:usertiming}). |
2168 |
2168 |
2169 Also for performance reasons, the actual domain process data (see |
2169 Also for performance reasons, the actual domain process data (see |
2170 chap.~ref{sec:ecrt}) are not copied between kernel and user memory on every |
2170 chap.~\ref{sec:ecrt}) are not copied between kernel and user memory on every |
2171 access: Instead, the data are memory-mapped to the userspace application. Once |
2171 access: Instead, the data are memory-mapped to the userspace application. Once |
2172 the master is configured and activated, the master module creates one big |
2172 the master is configured and activated, the master module creates one big |
2173 process data memory area for all domains and maps it to userspace, so that the |
2173 process data memory area for all domains and maps it to userspace, so that the |
2174 application can directly access the process data. For that, there is no |
2174 application can directly access the process data. For that, there is no |
2175 additional delay accessing the process data from userspace. |
2175 additional delay when accessing the process data from userspace. |
|
2176 |
|
2177 \paragraph{Differences} Because of the memory-mapping of the process data, the |
|
2178 memory is managed internally by the library functions. As a result, it is not |
|
2179 possible to provide external memory for domains, like in the kernel API. The |
|
2180 corresponding functions are only available in kernelspace. This is the only |
|
2181 difference when using the application interface in userspace. |
2176 |
2182 |
2177 \subsection{Timing} |
2183 \subsection{Timing} |
2178 \label{sec:usertiming} |
2184 \label{sec:usertiming} |
2179 |
2185 |
2180 An interesting aspect is the timing of the userspace library calls compared to |
2186 An interesting aspect is the timing of the userspace library calls compared to |