Jan Kiszka wrote:
> Jan Kiszka wrote:
>> Petr Cervenka wrote:
>>> I ran a test during last weekend (and nothing wrong happened). But the 
>>> /proc/xenomai/stat output is strange. Probably some type cast error, 
>>> because 18446744071739514846 = 0xFFFFFFFF8A939FDE and the appropriate value 
>>> perhaps should be 0x000000008A939FDE = 2324930526.
>>>
>>> CPU  PID    MSW        CSW        PF    STAT       %CPU  NAME
>>>   0  0      0          18446744071739514846 0     00500088   69.8  ROOT/0
>>>   1  0      0          18446744071675175740 0     00500080   23.2  ROOT/1
>>>   0  5299   0          351459     0     00300182    0.0  
>>> LOGGER_TASK_1804289383
>>>   0  5100   8          283613     0     00300186    0.0
>>>   0  5317   0          40591      0     00300182    0.0
>>>   0  5034   2          2330696    0     00300184    0.0  MAIN_TASK_2056
>>>   0  5318   5          18446744071736105613 3     00300180   29.5  
>>> REG_TASK_2056
>>>   0  5319   28         36         0     00300182    0.0  WORK_TASK_2056
>>>   0  5321   38926      39159      0     00300380    0.0  CERECV_2056
>>>   0  5323   1159385    2438330    0     00300181    0.0  CESEND_2056
>>>   1  5710   0          18446744071675175740 0     00300184   76.8  
>>> HARDWARE_KERNEL
>>>   0  0      0          18446744071964064315 0     00000000    0.7  IRQ520: 
>>> [timer]
>>>   1  0      0          232145209  0     00000000    0.0  IRQ520: [timer] 
>> OK, at least this bug is a bit easier to fix. Please try this patch
>> (which also takes the chance and extends the range of our stat counters
>> a bit):
>>
>> Index: xenomai/include/nucleus/stat.h
>> ===================================================================
>> --- xenomai/include/nucleus/stat.h   (Revision 4060)
>> +++ xenomai/include/nucleus/stat.h   (Arbeitskopie)
>> @@ -84,20 +84,20 @@ do { \
>>  
>>  
>>  typedef struct xnstat_counter {
>> -    int counter;
>> +    unsigned long counter;
>>  } xnstat_counter_t;
>>  
>> -static inline int xnstat_counter_inc(xnstat_counter_t *c)
>> +static inline unsigned long xnstat_counter_inc(xnstat_counter_t *c)
>>  {
>>      return c->counter++;
>>  }
>>  
>> -static inline int xnstat_counter_get(xnstat_counter_t *c)
>> +static inline unsigned long xnstat_counter_get(xnstat_counter_t *c)
>>  {
>>      return c->counter;
>>  }
>>  
>> -static inline void xnstat_counter_set(xnstat_counter_t *c, int value)
>> +static inline void xnstat_counter_set(xnstat_counter_t *c, unsigned long 
>> value)
>>  {
>>      c->counter = value;
>>  }
> 
> OK to apply those bits?
>

Sure. Please apply to both branches.

> Jan
> 
> 
> 
> ------------------------------------------------------------------------
> 
> _______________________________________________
> Xenomai-core mailing list
> Xenomai-core@gna.org
> https://mail.gna.org/listinfo/xenomai-core


-- 
Philippe.

_______________________________________________
Xenomai-core mailing list
Xenomai-core@gna.org
https://mail.gna.org/listinfo/xenomai-core

Reply via email to