RTEMS 6.1-rc6
Loading...
Searching...
No Matches
ratemondata.h
Go to the documentation of this file.
1/* SPDX-License-Identifier: BSD-2-Clause */
2
12/* COPYRIGHT (c) 1989-2009, 2016.
13 * On-Line Applications Research Corporation (OAR).
14 * COPYRIGHT (c) 2016-2017 Kuan-Hsun Chen.
15 *
16 * Redistribution and use in source and binary forms, with or without
17 * modification, are permitted provided that the following conditions
18 * are met:
19 * 1. Redistributions of source code must retain the above copyright
20 * notice, this list of conditions and the following disclaimer.
21 * 2. Redistributions in binary form must reproduce the above copyright
22 * notice, this list of conditions and the following disclaimer in the
23 * documentation and/or other materials provided with the distribution.
24 *
25 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
26 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
27 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
28 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
29 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
30 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
31 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
32 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
33 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
34 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
35 * POSSIBILITY OF SUCH DAMAGE.
36 */
37
38#ifndef _RTEMS_RTEMS_RATEMONDATA_H
39#define _RTEMS_RTEMS_RATEMONDATA_H
40
41#include <rtems/rtems/ratemon.h>
43#include <rtems/score/thread.h>
45
46#ifdef __cplusplus
47extern "C" {
48#endif
49
60typedef struct {
62 uint32_t count;
64 uint32_t missed_count;
65
72
80
89typedef struct {
92
93#if defined(RTEMS_SMP)
97 ISR_lock_Control Lock;
98#endif
99
102
105
111
116 uint32_t next_length;
117
123
130
136
141
147
154
159
169#define RATE_MONOTONIC_INFORMATION_DEFINE( max ) \
170 OBJECTS_INFORMATION_DEFINE( \
171 _Rate_monotonic, \
172 OBJECTS_CLASSIC_API, \
173 OBJECTS_RTEMS_PERIODS, \
174 Rate_monotonic_Control, \
175 max, \
176 OBJECTS_NO_STRING_NAME, \
177 NULL \
178 )
179
182#ifdef __cplusplus
183}
184#endif
185
186#endif
187/* end of include file */
This header file provides interfaces of the Watchdog Handler which are used by the implementation and...
rtems_rate_monotonic_period_states
This enumeration defines the states in which a period may be.
Definition: ratemon.h:91
Objects_Information _Rate_monotonic_Information
The Classic Rate Monotonic objects information.
int64_t Timestamp_Control
Definition: timestamp.h:76
This header file defines the Rate-Monotonic Manager API.
This header file provides interfaces of the Thread Handler which are used by the implementation and t...
Definition: objectdata.h:61
The information structure used to manage each API class of objects.
Definition: objectdata.h:198
The priority node to build up a priority aggregation.
Definition: priority.h:112
The following structure defines the control block used to manage each period.
Definition: ratemondata.h:89
Objects_Control Object
Definition: ratemondata.h:91
Timestamp_Control cpu_usage_period_initiated
Definition: ratemondata.h:129
Timestamp_Control time_period_initiated
Definition: ratemondata.h:135
uint32_t next_length
Definition: ratemondata.h:116
Rate_monotonic_Statistics Statistics
Definition: ratemondata.h:140
Watchdog_Control Timer
Definition: ratemondata.h:101
uint32_t postponed_jobs
Definition: ratemondata.h:146
Priority_Node Priority
A priority node for use by the scheduler job release and cancel operations.
Definition: ratemondata.h:110
Thread_Control * owner
Definition: ratemondata.h:122
rtems_rate_monotonic_period_states state
Definition: ratemondata.h:104
uint64_t latest_deadline
Definition: ratemondata.h:152
Definition: ratemondata.h:60
Timestamp_Control min_wall_time
Definition: ratemondata.h:74
Timestamp_Control min_cpu_time
Definition: ratemondata.h:67
Timestamp_Control max_cpu_time
Definition: ratemondata.h:69
Timestamp_Control total_cpu_time
Definition: ratemondata.h:71
uint32_t count
Definition: ratemondata.h:62
uint32_t missed_count
Definition: ratemondata.h:64
Timestamp_Control max_wall_time
Definition: ratemondata.h:76
Timestamp_Control total_wall_time
Definition: ratemondata.h:78
The control block used to manage each watchdog timer.
Definition: watchdog.h:109
Definition: thread.h:837
This header file provides interfaces of the Timestamp Handler which are used by the implementation an...