Ticket #825: patch

File patch, 1.9 KB (added by Eric Norum, on 12/03/06 at 13:31:13)

patch

  • cpukit/libmisc/cpuuse/cpuuse.c

    RCS file: /usr1/CVS/rtems/cpukit/libmisc/cpuuse/cpuuse.c,v
    retrieving revision 1.20
    diff -u -r1.20 cpuuse.c
     
    88 *  found in the file LICENSE in this distribution or at
    99 *  http://www.rtems.com/license/LICENSE.
    1010 *
    11  *  $Id: cpuuse.c,v 1.20 2004/04/17 08:12:01 ralf Exp $
     11 *  cpuuse.c,v 1.20 2004/04/17 08:12:01 ralf Exp
    1212 *
    1313 */
    1414
     
    4242  uint32_t             u32_name;
    4343  char                *cname;
    4444  char                 name[5];
     45  uint32_t             ival, fval;
    4546  uint32_t             total_units = 0;
    4647
    4748  for ( api_index = 1 ;
     
    6162  }
    6263
    6364  fprintf(stdout,"CPU Usage by thread\n");
    64 #if defined(unix) || ( CPU_HARDWARE_FP == TRUE )
    6565  fprintf(stdout, "   ID        NAME        TICKS    PERCENT\n" );
    66 #else
    67   fprintf(stdout, "   ID        NAME        TICKS\n" );
    68 #endif
    6966
    7067  for ( api_index = 1 ;
    7168        api_index <= OBJECTS_APIS_LAST ;
     
    10198        if ( !isprint(name[2]) ) name[2] = '*';
    10299        if ( !isprint(name[3]) ) name[3] = '*';
    103100
    104 #if defined(unix) || ( CPU_HARDWARE_FP == TRUE )
    105         fprintf(stdout, "0x%08x   %4s    %8d     %5.3f\n",
     101        ival = total_units ? the_thread->ticks_executed * 10000 / total_units : 0;
     102                fval = ival % 100;
     103                ival /= 100;
     104                fprintf(stdout, "0x%08x   %4s    %8d     %3d.%2.2d\n",
    106105          the_thread->Object.id,
    107106          name,
    108107          the_thread->ticks_executed,
    109           (total_units) ?
    110             (double)the_thread->ticks_executed / (double)total_units :
    111             (double)total_units
     108                  ival,
     109                  fval
    112110        );
    113 #else
    114         fprintf(stdout, "0x%08x   %4s   %8d\n",
    115           the_thread->Object.id,
    116           name,
    117           the_thread->ticks_executed
    118         );
    119 #endif
    120111      }
    121112    }
    122113  }