summaryrefslogtreecommitdiffstats
path: root/cpukit/libmisc/cpuuse (follow)
Commit message (Collapse)AuthorAgeFilesLines
* score: Introduce _Thread_Get_priority()Sebastian Huber2016-09-081-2/+6
| | | | Avoid direct access to thread internal data fields.
* Move printer initialization to separate headerSebastian Huber2016-06-222-0/+2
| | | | | | The RTEMS print user need to know nothing about a particular printer implementation. In particular get rid of the <stdio.h> include which would be visible via <rtems.h>.
* shell: Add CPUINFO commandSebastian Huber2016-05-312-0/+93
| | | | Update #2723.
* cpuuse: Hide implementation detailsSebastian Huber2016-05-316-5/+33
|
* cpukit, testsuite: Add rtems_printf and rtems_printer support.Chris Johns2016-05-253-114/+75
| | | | | | | | | | | | | | | | | | | This change adds rtems_printf and related functions and wraps the RTEMS print plugin support into a user API. All references to the plugin are removed and replaced with the rtems_printer interface. Printk and related functions are made to return a valid number of characters formatted and output. The function attribute to check printf functions has been added to rtems_printf and printk. No changes to remove warrnings are part of this patch set. The testsuite has been moved over to the rtems_printer. The testsuite has a mix of rtems_printer access and direct print control via the tmacros.h header file. The support for begink/endk has been removed as it served no purpose and only confused the code base. The testsuite has not been refactored to use rtems_printf. This is future work.
* score: Use thread state lock for current stateSebastian Huber2016-05-121-3/+10
| | | | | | | In addition protect scheduler of thread by thread state lock. Enables use of scheduler per-instance locks. Update #2555.
* cpuuse/cpuusagetop.c: Fix unused variable warningJoel Sherrill2016-03-241-1/+0
|
* score: Fix CPU time used by executing threadsSebastian Huber2016-03-173-54/+27
| | | | | | | | | | | | | | The CPU time used of a thread was previously maintained per-processor mostly during _Thread_Dispatch(). However, on SMP configurations the actual processor of a thread is difficult to figure out since thread dispatching is a highly asynchronous process (e.g. via inter-processor interrupts). Only the intended processor of a thread is known to the scheduler easily. Do the CPU usage accounting during thread heir updates in the context of the scheduler operations. Provide the function _Thread_Get_CPU_time_used() to get the CPU usage of a thread using proper locks to get a consistent value. Close #2627.
* score: Delete Thread_CPU_usage_tSebastian Huber2016-03-011-7/+7
| | | | | This type is superfluous since all operations with it are done via the _Timestamp_*() functions.
* score: Introduce Thread_Entry_informationSebastian Huber2016-01-111-1/+1
| | | | | | | This avoids potential dead code in _Thread_Handler(). It gets rid of the dangerous function pointer casts. Update #2514.
* score: Simplify <rtems/system.h>Sebastian Huber2015-06-261-1/+1
| | | | | Drop the <rtems/score/percpu.h> include since this file exposes a lot of implementation details.
* Remove use ticks for statistics configure option.Joel Sherrill2015-06-155-134/+33
| | | | | | | | | | This was obsolete and broken based upon recent time keeping changes. Thie build option was previously enabled by adding USE_TICKS_FOR_STATISTICS=1 to the configure command line. This propagated into the code as preprocessor conditionals using the __RTEMS_USE_TICKS_FOR_STATISTICS__ conditional.
* libmisc/cpuuse: Top support for current load.Chris Johns2015-04-291-195/+541
| | | | | | | | | | | | | | | | | | The cpuuse top command now supports the current load where the list of tasks is ordered based on the current load rather than the total cpu usage. This lets you see what is using the processor at any specific instance. The ability to sort on a range of thread values is now supported. Added memory usage stats for unified and separate workspace and C heaps as well as displaying the allocated stack space. Added a few more command keys to refresh the display, show all tasks in the system, control the lines display and a scrolling mode that does not clear the display on each refresh. Removed support for tick kernel builds. The tick support in the kernel is to be removed.
* cpuuse: Resolve compile errors.Jennifer Averett2014-11-031-28/+68
|
* libmisc: Add top to cpuusage.Jennifer Averett2014-10-272-0/+356
|
* cpuuse: Move is_executing_on_a_core to threadimpl.hJennifer Averett2014-10-271-24/+1
|
* score: Implement forced thread migrationSebastian Huber2014-05-071-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | The current implementation of task migration in RTEMS has some implications with respect to the interrupt latency. It is crucial to preserve the system invariant that a task can execute on at most one processor in the system at a time. This is accomplished with a boolean indicator in the task context. The processor architecture specific low-level task context switch code will mark that a task context is no longer executing and waits that the heir context stopped execution before it restores the heir context and resumes execution of the heir task. So there is one point in time in which a processor is without a task. This is essential to avoid cyclic dependencies in case multiple tasks migrate at once. Otherwise some supervising entity is necessary to prevent life-locks. Such a global supervisor would lead to scalability problems so this approach is not used. Currently the thread dispatch is performed with interrupts disabled. So in case the heir task is currently executing on another processor then this prolongs the time of disabled interrupts since one processor has to wait for another processor to make progress. It is difficult to avoid this issue with the interrupt latency since interrupts normally store the context of the interrupted task on its stack. In case a task is marked as not executing we must not use its task stack to store such an interrupt context. We cannot use the heir stack before it stopped execution on another processor. So if we enable interrupts during this transition we have to provide an alternative task independent stack for this time frame. This issue needs further investigation.
* score: Use common names for per-CPU variablesSebastian Huber2014-04-221-6/+6
| | | | | | | | | | | | | | | | Use "cpu" for an arbitrary Per_CPU_Control variable. Use "cpu_self" for the Per_CPU_Control of the current processor. Use "cpu_index" for an arbitrary processor index. Use "cpu_index_self" for the processor index of the current processor. Use "cpu_count" for the processor count obtained via _SMP_Get_processor_count(). Use "cpu_max" for the processor maximum obtained by rtems_configuration_get_maximum_processors().
* rtems: Rename rtems_smp_get_processor_count()Sebastian Huber2014-04-111-1/+1
| | | | | | Rename rtems_smp_get_processor_count() in rtems_get_processor_count(). Make rtems_get_processor_count() a function in uni-processor configurations to enable ABI compatibility with SMP configurations.
* score: Add and use thread get/set CPU functionsSebastian Huber2014-03-311-1/+3
|
* Change all references of rtems.com to rtems.org.Chris Johns2014-03-214-4/+4
|
* score: Rename tod.h to todimpl.hSebastian Huber2013-08-012-2/+2
|
* smp: Add and use _Per_CPU_Get()Sebastian Huber2013-07-301-1/+1
| | | | | | Add and use _Per_CPU_Get_by_index() and _Per_CPU_Get_index(). Add _Per_CPU_Send_interrupt(). This avoids direct access of _Per_CPU_Information.
* smp: Use Thread_Control.is_executingSebastian Huber2013-07-301-7/+4
| | | | FIXME: This area needs proper locking.
* score: Merge tod implementation into one fileSebastian Huber2013-07-262-4/+3
| | | | | Delete TOD_MICROSECONDS_PER_SECOND, TOD_MICROSECONDS_TO_TICKS() and TOD_MILLISECONDS_TO_TICKS().
* score: Create object implementation headerSebastian Huber2013-07-261-0/+1
| | | | | | Move implementation specific parts of object.h and object.inl into new header file objectimpl.h. The object.h contains now only the application visible API.
* score: Create watchdog implementation headerSebastian Huber2013-07-222-0/+2
| | | | | | Move implementation specific parts of watchdog.h and watchdog.inl into new header file watchdogimpl.h. The watchdog.h contains now only the application visible API.
* cpuuse: Add SMP supportSebastian Huber2013-07-221-1/+10
|
* score: Rename rtems_smp_get_number_of_processors()Sebastian Huber2013-06-141-1/+1
| | | | | | | | | Rename in rtems_smp_get_processor_count(). Always provide <rtems/score/smp.h> and <rtems/rtems/smp.h>. Add _SMP_Get_processor_count(). This function will be a compile time constant defined to be one on uni-processor configurations. This allows iterations over all processors without overhead on uni-processor configurations.
* libmisc: Doxygen Clean Up Task #1Ayush Awasthi2013-01-041-7/+9
| | | | | Conflicts occured durning this patch and modifications in the repo were favored over the patch.
* Header File Doxygen Enhancement Task #7Mathew Kallada2012-12-281-0/+3
|
* libmisc: Doxygen Enhancement Task #1Mathew Kallada2012-12-214-11/+38
|
* Remove All CVS Id Strings Possible Using a ScriptJoel Sherrill2012-05-115-12/+0
| | | | | | | | | | | | Script does what is expected and tries to do it as smartly as possible. + remove occurrences of two blank comment lines next to each other after Id string line removed. + remove entire comment blocks which only exited to contain CVS Ids + If the processing left a blank line at the top of a file, it was removed.
* 2011-09-15 Sebastian Huber <sebastian.huber@embedded-brains.de>Sebastian Huber2011-09-154-35/+21
| | | | | | | * cpukit/libmisc/cpuuse/cpuuse.h, cpukit/libmisc/cpuuse/cpuusagedata.c, cpukit/libmisc/cpuuse/cpuusagereport.c, cpukit/libmisc/cpuuse/cpuusagereset.c: Fixed timestamp usage.
* 2011-06-28 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill2011-06-281-1/+1
| | | | | | | | PR 1826/cpukit * libmisc/cpuuse/cpuusagereport.c, rtems/Makefile.am, rtems/preinstall.am, rtems/include/rtems.h: Add SMP Helper methods to Classic API. * rtems/include/rtems/rtems/smp.h: New file.
* 2011-06-24 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill2011-06-241-5/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * include/rtems/bspIo.h, include/rtems/concat.h, include/rtems/endian.h, include/rtems/fs.h, include/rtems/irq.h, include/rtems/pci.h, include/rtems/userenv.h, libblock/include/rtems/flashdisk.h, libblock/include/rtems/nvdisk-sram.h, libblock/include/rtems/nvdisk.h, libcsupport/include/clockdrv.h, libcsupport/include/console.h, libcsupport/include/iosupp.h, libcsupport/include/spurious.h, libcsupport/include/motorola/mc68230.h, libcsupport/include/rtems/assoc.h, libcsupport/include/rtems/error.h, libcsupport/include/rtems/framebuffer.h, libcsupport/include/rtems/gxx_wrappers.h, libcsupport/include/rtems/libcsupport.h, libcsupport/include/rtems/libio_.h, libcsupport/include/rtems/malloc.h, libcsupport/include/rtems/termiostypes.h, libcsupport/include/sys/statvfs.h, libcsupport/include/sys/termios.h, libcsupport/include/sys/utsname.h, libcsupport/include/zilog/z8036.h, libcsupport/include/zilog/z8530.h, libcsupport/include/zilog/z8536.h, libfs/src/imfs/imfs.h, libfs/src/pipe/pipe.h, libmisc/capture/capture-cli.h, libmisc/capture/capture.h, libmisc/cpuuse/cpuuse.h, libmisc/devnull/devnull.h, libmisc/devnull/devzero.h, libmisc/dumpbuf/dumpbuf.h, libmisc/fb/fb.h, libmisc/fb/mw_uid.h, libmisc/mouse/mouse_parser.h, libmisc/shell/shellconfig.h, libmisc/stringto/stringto.h, libmisc/untar/untar.h, libnetworking/memory.h, posix/include/aio.h, posix/include/mqueue.h, posix/include/semaphore.h, posix/include/rtems/posix/aio_misc.h, posix/include/rtems/posix/barrier.h, posix/include/rtems/posix/cond.h, posix/include/rtems/posix/config.h, posix/include/rtems/posix/key.h, posix/include/rtems/posix/mqueue.h, posix/include/rtems/posix/mutex.h, posix/include/rtems/posix/posixapi.h, posix/include/rtems/posix/priority.h, posix/include/rtems/posix/psignal.h, posix/include/rtems/posix/pthread.h, posix/include/rtems/posix/ptimer.h, posix/include/rtems/posix/rwlock.h, posix/include/rtems/posix/semaphore.h, posix/include/rtems/posix/sigset.h, posix/include/rtems/posix/spinlock.h, posix/include/rtems/posix/threadsup.h, posix/include/rtems/posix/time.h, posix/include/rtems/posix/timer.h, posix/inline/rtems/posix/barrier.inl, posix/inline/rtems/posix/cond.inl, posix/inline/rtems/posix/mqueue.inl, posix/inline/rtems/posix/mutex.inl, posix/inline/rtems/posix/priority.inl, posix/inline/rtems/posix/pthread.inl, posix/inline/rtems/posix/rwlock.inl, posix/inline/rtems/posix/semaphore.inl, posix/inline/rtems/posix/spinlock.inl, posix/inline/rtems/posix/timer.inl, rtems/mainpage.h, rtems/include/rtems/rtems/barrier.h, rtems/include/rtems/rtems/object.h, rtems/include/rtems/rtems/timer.h, rtems/inline/rtems/rtems/barrier.inl, rtems/inline/rtems/rtems/timer.inl, rtems/src/semtranslatereturncode.c, sapi/include/rtems/config.h, sapi/include/rtems/fatal.h, sapi/include/rtems/mptables.h, score/include/rtems/score/object.h, score/include/rtems/score/priority.h, score/inline/rtems/score/object.inl, score/inline/rtems/score/priority.inl: Add @file Doxygen directives and descriptions to files which originated with RTEMS. This improves the file list page generated by Doxygen.
* 2011-06-16 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill2011-06-161-5/+31
| | | | | | PR 1818/misc * libmisc/cpuuse/cpuusagereport.c: Add SMP support to CPU Usage Reporting.
* 2011-03-15 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill2011-03-151-1/+1
| | | | * libmisc/cpuuse/cpuusagereport.c: Make compile again.
* 2011-03-15 Sebastian Huber <sebastian.huber@embedded-brains.de>Sebastian Huber2011-03-151-0/+1
| | | | | * libmisc/cpuuse/cpuusagereport.c: Avoid assumptions on execution context.
* 2011-03-07 Sebastian Huber <sebastian.huber@embedded-brains.de>Sebastian Huber2011-03-071-6/+9
| | | | | | * libmisc/cpuuse/cpuusagereport.c: Fix calculation in case a thread dispatch happends in the meantime. The percent values will not sum up to one hundred percent.
* 2010-12-16 Sebastian Huber <sebastian.huber@embedded-brains.de>Sebastian Huber2010-12-161-4/+3
| | | | | * libmisc/cpuuse/cpuusagereport.c: We have to take the time since the last context switch before the uptime.
* 2010-11-23 Sebastian Huber <sebastian.huber@embedded-brains.de>Sebastian Huber2010-11-231-10/+8
| | | | | * score/src/iterateoverthreads.c, libmisc/cpuuse/cpuusagereport.c: Avoid dead code if POSIX API is enabled.
* 2010-11-23 Sebastian Huber <sebastian.huber@embedded-brains.de>Sebastian Huber2010-11-231-10/+6
| | | | | * score/src/iterateoverthreads.c, libmisc/cpuuse/cpuusagereport.c: Fixed NULL pointer access in case POSIX API is disabled.
* 2010-07-26 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill2010-07-261-8/+18
| | | | | | | | | | * libcsupport/src/privateenv.c, libmisc/cpuuse/cpuusagereport.c, posix/Makefile.am, posix/include/rtems/posix/key.h, posix/src/keycreate.c, posix/src/keydelete.c, score/src/iterateoverthreads.c: Since removing ITRON, the loop over all APIs for tasks has a path that cannot be reached. Either modify the code or mark tests for NULL as RTEMS_DEBUG. * posix/src/keyfreememory.c: New file.
* 2010-07-04 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill2010-07-041-1/+0
| | | | | | | | | | | | | | | | * libblock/include/rtems/ide_part_table.h, libblock/src/bdbuf.c, libcsupport/src/__times.c, libcsupport/src/libio_init.c, libcsupport/src/mallocfreespace.c, libcsupport/src/mount-mgr.c, libcsupport/src/mount.c, libcsupport/src/rewinddir.c, libcsupport/src/seekdir.c, libcsupport/src/telldir.c, libcsupport/src/unmount.c, libfs/src/dosfs/fat.c, libfs/src/dosfs/fat_fat_operations.c, libfs/src/dosfs/msdos_create.c, libfs/src/dosfs/msdos_dir.c, libfs/src/dosfs/msdos_eval.c, libfs/src/dosfs/msdos_file.c, libfs/src/dosfs/msdos_format.c, libfs/src/dosfs/msdos_fsunmount.c, libfs/src/dosfs/msdos_initsupp.c, libfs/src/dosfs/msdos_rename.c, libmisc/cpuuse/cpuusagereport.c, libmisc/shell/vis.c, libmisc/stackchk/check.c, sapi/src/posixapi.c, telnetd/telnetd.c: Remove include of assert.h when it is not needed.
* 2009-12-02 Glenn Humphrey <glenn.humphrey@OARcorp.com>Glenn Humphrey2009-12-023-3/+3
| | | | | | | | | * libcsupport/src/__times.c, libmisc/cpuuse/cpuusagedata.c, libmisc/cpuuse/cpuusagereport.c, libmisc/cpuuse/cpuusagereset.c, rtems/include/rtems/rtems/types.h, rtems/src/ratemongetstatistics.c, rtems/src/ratemonreportstatistics.c, score/src/threaddispatch.c, score/src/threadinitialize.c, score/src/threadtickletimeslice.c: Updated copyright line.
* 2009-12-02 Glenn Humphrey <glenn.humphrey@OARcorp.com>Glenn Humphrey2009-12-023-19/+13
| | | | | | | | | | | | | * configure.ac, libcsupport/src/__times.c, libmisc/cpuuse/cpuusagedata.c, libmisc/cpuuse/cpuusagereport.c, libmisc/cpuuse/cpuusagereset.c, rtems/include/rtems/rtems/ratemon.h, rtems/include/rtems/rtems/types.h, rtems/src/ratemongetstatistics.c, rtems/src/ratemongetstatus.c, rtems/src/ratemonperiod.c, rtems/src/ratemonreportstatistics.c, score/include/rtems/score/thread.h, score/src/threaddispatch.c, score/src/threadinitialize.c, score/src/threadtickletimeslice.c: Changed the configuration of statistics granularity to use just one define.
* Whitespace removal.Ralf Corsepius2009-11-291-2/+2
|
* 2009-11-11 Jennifer Averett <jennifer.averett@OARcorp.com>Joel Sherrill2009-11-111-2/+10
| | | | | | PR 1471/cpukit * libmisc/cpuuse/cpuusagereport.c: Rework statement to ensure 64-bit multiplication is used to avoid overflow with intermediate value.
* 2008-12-18 Sebastian Huber <sebastian.huber@embedded-brains.de>Joel Sherrill2008-12-181-17/+29
| | | | | | | | | | | | | | | | | | | | | | * libmisc/serdbg/termios_printk.c, libmisc/serdbg/termios_printk.h: Fixed incompatible return value. * libmisc/cpuuse/cpuusagereport.c: Changed output format. * libmisc/Makefile.am, libmisc/monitor/mon-editor.c: New file. * libmisc/capture/capture-cli.c, libmisc/monitor/mon-command.c, libmisc/monitor/mon-monitor.c, libmisc/monitor/mon-object.c, libmisc/monitor/mon-prmisc.c, libmisc/monitor/mon-symbols.c, libmisc/monitor/monitor.h, libmisc/shell/cat_file.c, libmisc/shell/cmds.c, libmisc/shell/internal.h, libmisc/shell/main_help.c, libmisc/shell/shell.c, libmisc/shell/shell.h, libmisc/shell/shell_cmdset.c, libmisc/shell/shell_getchar.c, libmisc/shell/str2int.c: Various global data is now read only. Added 'const' qualifier to many pointer parameters. It is no longer possible to remove monitor commands. Moved monitor line editor into a separate file to avoid unnecessary dependencies.