Functions | |
int | fsf_set_service_thread_data (const struct timespec *budget, const struct timespec *period, bool *accepted) |
int | fsf_get_service_thread_data (struct timespec *budget, struct timespec *period) |
Implementation dependency: in the fixed priority implementation of fsf, the default priority is lower than the priority of any server, but higher than the background. According to the implementation-dependent module the priority is adjustable by means of a function that changes its preemption level.
|
this function returns in the variables pointed by budget and period, respectively, the current budget and period of the service thread.
|
|
This function allows the application to change the period and budget of the service thread that makes the negotiations. Increasing the utilization of this thread makes the negotiations faster, but introduces additional load in the system that may decrease the bandwidth available for the servers. For this call, the system will make a schedulability analysis to determine if the new situation is acceptable or not. This is reported back in the variable pointed to by accepted. If the new service thread data is accepted, the system will reassign budgets and periods to the servers according to the new bandwidth available, in the same way as it does for a regular contract negotiation. When its budget is exhausted, the service thread may run in the background. The service thread starts with a default budget and period that are configurable.
|