File tree Expand file tree Collapse file tree 3 files changed +10
-23
lines changed
src/modm/processing/fiber Expand file tree Collapse file tree 3 files changed +10
-23
lines changed Original file line number Diff line number Diff line change @@ -90,12 +90,10 @@ main()
90
90
MODM_LOG_INFO << " Starting fiber modm::yield benchmark..." << modm::endl;
91
91
MODM_LOG_INFO.flush ();
92
92
93
- fiber_y1.stack_watermark ();
94
- fiber_y2.stack_watermark ();
95
93
// fiber_y1, fiber_y2 were autostarted
96
94
{
97
95
modm::atomic::Lock l;
98
- modm::fiber::Scheduler::run ();
96
+ modm::fiber::Scheduler::run (modm::fiber::Scheduler::AutoWatermark );
99
97
}
100
98
101
99
MODM_LOG_INFO << " Y1 stack usage: = " << fiber_y1.stack_usage () << modm::endl;
@@ -125,10 +123,8 @@ main()
125
123
MODM_LOG_INFO << " F3 stack usage = " << fiber3.stack_usage () << modm::endl;
126
124
MODM_LOG_INFO << " F4 stack usage = " << fiber4.stack_usage () << modm::endl;
127
125
128
- fiber_ping.stack_watermark ();
129
- fiber_pong.stack_watermark ();
130
126
fiber_ping.start ();
131
- modm::fiber::Scheduler::run ();
127
+ modm::fiber::Scheduler::run (modm::fiber::Scheduler::AutoWatermark );
132
128
133
129
while (1 ) ;
134
130
return 0 ;
Original file line number Diff line number Diff line change @@ -137,14 +137,7 @@ main()
137
137
USART4->CR3 = USART_CR3_HDSEL;
138
138
USART4->CR1 |= USART_CR1_UE;
139
139
140
- fiberNode1t.stack_watermark ();
141
- fiberNode1r.stack_watermark ();
142
- fiberNode2t.stack_watermark ();
143
- fiberNode2r.stack_watermark ();
144
- fiberNode3t.stack_watermark ();
145
- fiberNode3r.stack_watermark ();
146
-
147
- modm::fiber::Scheduler::run ();
140
+ modm::fiber::Scheduler::run (modm::fiber::Scheduler::AutoWatermark);
148
141
149
142
return 0 ;
150
143
}
Original file line number Diff line number Diff line change @@ -125,15 +125,6 @@ class Task
125
125
return stop.request_stop ();
126
126
}
127
127
128
-
129
- // / Watermarks the stack to measure `stack_usage()` later.
130
- // / @see `modm_context_stack_watermark()`.
131
- void inline
132
- stack_watermark ()
133
- {
134
- modm_context_stack_watermark (&ctx);
135
- }
136
-
137
128
// / @returns the stack usage as measured by a watermark level.
138
129
// / @see `modm_context_stack_usage()`.
139
130
[[nodiscard]] size_t inline
@@ -163,6 +154,13 @@ class Task
163
154
}
164
155
165
156
// / @cond
157
+ // Always use Scheduler::run(Scheduler::AutoWatermark) instead!
158
+ // For performance sensitive use cases you may call this function manually.
159
+ void inline
160
+ stack_watermark ()
161
+ {
162
+ modm_context_stack_watermark (&ctx);
163
+ }
166
164
// DEPRECATE: 2025q4
167
165
[[deprecated(" Use `stack_watermark()` instead!" )]]
168
166
void inline watermark_stack () { stack_watermark (); }
You can’t perform that action at this time.
0 commit comments