>-----Original Message-----
>From: Jan Kiszka <jan.kis...@siemens.com> 
>Sent: Monday, November 29, 2021 3:58 PM
>To: Chen, Hongzhan <hongzhan.c...@intel.com>; xenomai@xenomai.org
>Subject: Re: [PATCH v2 2/2] cobalt/trace: dovetail: remove TODO and return 
>-ENOSYS for unportable features
>
>On 29.11.21 02:03, Hongzhan Chen via Xenomai wrote:
>> Some of the features are unportable because ftrace does not
>> provide equivalent functionality to the ipipe tracer (namely double
>> buffering so that you can continue to record in flight-recorder mode
>> while a previous recording remains available).
>> 
>> We remove TODOs to pass allyesconfig make.
>> 
>> Signed-off-by: Hongzhan Chen <hongzhan.c...@intel.com>
>> ---
>>  include/cobalt/kernel/dovetail/pipeline/trace.h | 15 +++++----------
>>  1 file changed, 5 insertions(+), 10 deletions(-)
>> 
>> diff --git a/include/cobalt/kernel/dovetail/pipeline/trace.h 
>> b/include/cobalt/kernel/dovetail/pipeline/trace.h
>> index 479191e0e..c7df3be79 100644
>> --- a/include/cobalt/kernel/dovetail/pipeline/trace.h
>> +++ b/include/cobalt/kernel/dovetail/pipeline/trace.h
>> @@ -27,20 +27,17 @@
>>  
>>  static inline int xntrace_max_begin(unsigned long v)
>>  {
>> -    TODO();
>> -    return 0;
>> +    return -ENOSYS;
>>  }
>>  
>>  static inline int xntrace_max_end(unsigned long v)
>>  {
>> -    TODO();
>> -    return 0;
>> +    return -ENOSYS;
>>  }
>>  
>>  static inline int xntrace_max_reset(void)
>>  {
>> -    TODO();
>> -    return 0;
>> +    return -ENOSYS;
>>  }
>>  
>>  static inline int xntrace_user_start(void)
>> @@ -96,14 +93,12 @@ static inline int xntrace_tick(unsigned long 
>> delay_ticks) /* ns */
>>  
>>  static inline int xntrace_panic_freeze(void)
>>  {
>> -    TODO();
>> -    return 0;
>> +    return -ENOSYS;
>>  }
>>  
>>  static inline int xntrace_panic_dump(void)
>>  {
>> -    TODO();
>> -    return 0;
>> +    return -ENOSYS;
>>  }
>>  
>
>Looking at these two panic "abstractions": They are only called by
>dovetail-specific handle_oob_trap_entry. There, we should rather use
>kernel native tracing functions to stop and dump a trace.

I found that in EVL implementation of  handle_oob_trap_entry ,especially 
for note_trap implementation , it have not implemented stop and dump
a trace and just try to printk warning (please refer to kernel/evl/thread.c of 
evl branch).
handle_oob_trap_entry would try to demote current stage and leave in-band to 
handle
following thing. If we do native thing here, is there duplicated thing happen?

Regards

Hongzhan Chen


>
>And for I-pipe, we can fold the two abstractions into handle_exception()
>there as well.
>
>Jan
>
>-- 
>Siemens AG, T RDA IOT
>Corporate Competence Center Embedded Linux
>
>
>
>

Reply via email to