@@ -62,7 +62,7 @@ MSH_CMD_EXPORT(version, show RT-Thread version information);
62
62
63
63
rt_inline void object_split (int len )
64
64
{
65
- while (len -- ) rt_kprintf ("-" );
65
+ while (len -- ) rt_kputs ("-" );
66
66
}
67
67
68
68
typedef struct
@@ -174,23 +174,41 @@ long list_thread(void)
174
174
maxlen = RT_NAME_MAX ;
175
175
176
176
#ifdef RT_USING_SMP
177
- rt_kprintf ("%-*.*s cpu bind pri status sp stack size max used left tick error tcb addr usage\n" , maxlen , maxlen , item_title );
177
+ rt_kprintf ("%-*.*s cpu bind pri status sp stack size max used left tick error tcb addr " , maxlen , maxlen , item_title );
178
+ #ifdef RT_USING_CPU_USAGE_TRACER
179
+ rt_kputs ("usage count last time" );
180
+ #endif
181
+ rt_kputs ("\n" );
178
182
object_split (maxlen );
179
- rt_kprintf (" --- ---- --- ------- ---------- ---------- ------ ---------- -------" );
180
- rt_kprintf (" " );
183
+ rt_kputs (" --- ---- --- ------- ---------- ---------- ------ ---------- ------- " );
181
184
object_split (tcb_strlen );
182
- rt_kprintf (" " );
185
+ rt_kputs (" " );
186
+ #ifdef RT_USING_CPU_USAGE_TRACER
183
187
object_split (usage_strlen );
184
- rt_kprintf ("\n" );
188
+ rt_kputs (" " );
189
+ object_split (8 );
190
+ rt_kputs (" " );
191
+ object_split (10 );
192
+ #endif
193
+ rt_kputs ("\n" );
185
194
#else
186
- rt_kprintf ("%-*.*s pri status sp stack size max used left tick error tcb addr usage\n" , maxlen , maxlen , item_title );
195
+ rt_kprintf ("%-*.*s pri status sp stack size max used left tick error tcb addr " , maxlen , maxlen , item_title );
196
+ #ifdef RT_USING_CPU_USAGE_TRACER
197
+ rt_kputs ("usage count last time" );
198
+ #endif
199
+ rt_kputs ("\n" );
187
200
object_split (maxlen );
188
- rt_kprintf (" --- ------- ---------- ---------- ------ ---------- -------" );
189
- rt_kprintf (" " );
201
+ rt_kputs (" --- ------- ---------- ---------- ------ ---------- ------- " );
190
202
object_split (tcb_strlen );
191
- rt_kprintf (" " );
203
+ rt_kputs (" " );
204
+ #ifdef RT_USING_CPU_USAGE_TRACER
192
205
object_split (usage_strlen );
193
- rt_kprintf ("\n" );
206
+ rt_kputs (" " );
207
+ object_split (8 );
208
+ rt_kputs (" " );
209
+ object_split (10 );
210
+ #endif
211
+ rt_kputs ("\n" );
194
212
#endif /*RT_USING_SMP*/
195
213
196
214
do
@@ -256,26 +274,24 @@ long list_thread(void)
256
274
rt_strerror (thread -> error ),
257
275
thread );
258
276
#ifdef RT_USING_CPU_USAGE_TRACER
259
- rt_kprintf (" %3d%%\n" , rt_thread_get_usage (thread ));
260
- #else
261
- rt_kprintf (" N/A\n" );
277
+ rt_kprintf (" %3d%%%8d%10d" , rt_thread_get_usage (thread ), thread -> ctx_count , thread -> ctx_last_time );
262
278
#endif
279
+ rt_kprintf (" \n" );
263
280
#else
264
281
ptr = (rt_uint8_t * )thread -> stack_addr ;
265
282
while (* ptr == '#' ) ptr ++ ;
266
283
rt_kprintf (" 0x%08x 0x%08x %02d%% 0x%08x %s %p" ,
267
284
thread -> stack_size + ((rt_ubase_t )thread -> stack_addr - (rt_ubase_t )thread -> sp ),
268
285
thread -> stack_size ,
269
286
(thread -> stack_size - ((rt_ubase_t ) ptr - (rt_ubase_t ) thread -> stack_addr )) * 100
270
- / thread -> stack_size ,
287
+ / thread -> stack_size ,
271
288
RT_SCHED_PRIV (thread ).remaining_tick ,
272
289
rt_strerror (thread -> error ),
273
290
thread );
274
291
#ifdef RT_USING_CPU_USAGE_TRACER
275
- rt_kprintf (" %3d%%\n" , rt_thread_get_usage (thread ));
276
- #else
277
- rt_kprintf (" N/A\n" );
292
+ rt_kprintf (" %3d%%%8d%10d" , rt_thread_get_usage (thread ), thread -> ctx_count , thread -> ctx_last_time );
278
293
#endif
294
+ rt_kputs ("\n" );
279
295
#endif
280
296
}
281
297
}
0 commit comments