Xiang Xiao
a24ae559c2
arch: Decouple up_critmon_[gettime|convert] from critmon
...
and rename to up_perf_[gettime|convert] since it's useful in other case
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-01-25 14:43:34 +08:00
ligd
b5d1ec28de
mm: do kmm_checkcorruption in IRQ when TCB_FLAG_DEBUG_CHECK set
...
Signed-off-by: ligd <liguiding1@xiaomi.com>
2021-11-17 09:55:19 -06:00
ligd
adfaa140cc
sched: add CONFIG_SCHED_CRITMONITOR_XX for debugging system lantency
...
Change-Id: Id2a75db28caf1a89552e33391bd90f85cde08dbd
Signed-off-by: ligd <liguiding1@xiaomi.com>
2021-07-02 08:25:02 -05:00
Alin Jerpelea
8935ac4cc3
sched: Author Gregory Nutt: update licenses to Apache
...
Gregory Nutt has submitted the SGA and we can mograte the licenses
to Apache.
Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>
2021-02-09 01:21:53 -08:00
Yuuichi Nakamura
df2bc1e4c3
Add syscall and irqhandler hooks in sched_note.h
2020-06-16 14:04:53 -03:00
Xiang Xiao
517974787f
Rename clock_systime[r|spec] to clock_systime_[ticks|timespec]
...
follow up the new naming convention:
https://cwiki.apache.org/confluence/display/NUTTX/Naming+of+OS+Internal+Functions
2020-05-10 14:35:50 -06:00
Xiang Xiao
e57f7cf6ae
Critical Section Monitor (sched/ and fs/procfs: Remove SCHED_IRQMONITOR_GETTIME to simplify the clock source selection: (1) Use up_critmon_gettime if SCHED_IRQMONITOR, (2) Call clock_systimespec if SCHED_TICKLESS, (3) Don't collect timing info for all other cases and move up_critmon_* to arch.h avoid the duplicated declaration.
2019-01-27 10:13:28 -06:00
Gregory Nutt
d8cf3bfe25
Rethink some of the conditional logic of commit 1ac9558460
: If the Critical Section Monitor enabled, that that platform-specific timer should be used to measure interrupt processing time, no matter what.
2018-11-26 12:18:58 -06:00
Gregory Nutt
1ac9558460
sched/irq and sched/sched: Measurement of interrupt handler duration used to be available only in Tickless mode since it used the high resolution Tickless timer to measure interrupt time. This commit adds CONFIG_SCHED_IRQMONITOR_GETTIME which, if enabled, will force the interrupt duration caculation to use the same high-resolution, platform-specific timer as is used with the Critical Section Monitor. This leads to two improvements: (1) You can now measure interrupt duration in non-Tickless mode, and (2) in either mode, the interrupt duration and the critical section measures will use the same high-resulotion timer and should, therefore, never be any descripancy due to different clock sources.
2018-11-26 11:29:20 -06:00
Xiang Xiao
dbf01d12b7
Assertions: Identify the running task correctly when dumping task state information. It takes time to switch to the target task after g_readytorun has been modified. If panic/assert happen during this period, the dump will contain the incorrect and confusing information due to the difference between the real running task and the return value of this_task(). This change resolve this problem by adding g_running_task to track the real running task through the context switch.
2018-11-15 07:11:51 -06:00
Gregory Nutt
a7265d71c6
This commit adds support for default signal actions for SIGSTOP, SIGSTP, and SIGCONT.
...
Squashed commit of the following:
Add procfs support to show stopped tasks. Add nxsig_action() to solve a chicken and egg problem: We needed to use sigaction to set default actions, but sigaction() would refuse to set actions if the default actions could not be caught or ignored.
sched/signal: Add configuration option to selectively enabled/disable default signal actions for SIGSTOP/SIGSTP/SIGCONT and SIGKILL/SIGINT. Fix some compilation issues.
sched/sched: Okay.. I figured out a way to handle state changes that may occur while they were stopped. If a task/thread was already blocked when SIGSTOP/SIGSTP was received, it will restart in the running state. I will appear that to the task/thread that the blocked condition was interrupt by a signal and returns the EINTR error.
sched/group and sched/sched: Finish framework for continue/resume logic.
sched/signal: Roughing out basic structure to support task suspend/resume
2018-08-30 10:27:18 -06:00
Gregory Nutt
73c73af777
sched/irq/irq_dispatch.c: Fix my typo that was added while reviewing Xiang's changne.
2018-08-29 07:13:26 -06:00
Xiang Xiao
347d10497c
sched/irq/irq_dispatch.c: Fix error 'ndx undeclared'
2018-08-29 06:10:52 -06:00
Xiang Xiao
c9b24615a6
sched/irq: Monitor the irq execution time. This is very useful for measuring the interrupt latency.
2018-08-25 07:12:21 -06:00
Gregory Nutt
38452007a3
sched/irq/irq_dispatch.c: Fix an error found in build testing.
2018-08-24 16:12:31 -06:00
Xiang Xiao
6cb606d42b
sched/irq/irq_dispatch.c: Ensure vector never points to NULL since interrupt may happen before irq_initialize()
2018-08-24 15:01:32 -06:00
Gregory Nutt
0080225473
sched/irq: Add a configuration option to show interrupt information via a procfs file.
2018-01-12 18:26:46 -06:00
Jussi Kivilinna
dffb8a67e3
Add entropy pool and strong random number generator
...
Entropy pool gathers environmental noise from device drivers, user-space, etc., and returns good random numbers, suitable for cryptographic use. Based on entropy pool design from *BSDs and uses BLAKE2Xs algorithm for CSPRNG output.
Patch also adds /dev/urandom support for using entropy pool RNG and new 'getrandom' system call for getting randomness without file-descriptor usage (thus avoiding file-descriptor exhaustion attacks). The 'getrandom' interface is similar as 'getentropy' and 'getrandom' available on OpenBSD and Linux respectively.
2017-03-30 07:38:37 -06:00
Gregory Nutt
e1218c4b4b
Smaller vector tables: Add irq_mapped_t.
2017-03-03 10:20:40 -06:00
Gregory Nutt
c2b620b4f8
Implements support for smaller interrupt tables as described at http://www.nuttx.org/doku.php?id=wiki:howtos:smallvectors . This is largely the work of Mark Schulte. However, I have made several changes to match with the Wiki document. If you like the change, thanks go to Marc. For any errors you can blame me.
2017-03-03 09:20:25 -06:00
Mark Schulte
b3222bbc8a
irq_dispatch: Add argument pointer to irq_dispatch
...
Provide a user defined callback context for irq's, such that when
registering a callback users can provide a pointer that will get
passed back when the isr is called.
2017-02-27 06:27:56 -06:00
Gregory Nutt
07acd5327a
SMP: Clean CPU0 D-Cache before starting new CPU; Invalidate D-Cache when new CPU started.
2016-05-20 12:39:02 -06:00
Gregory Nutt
0fb035f76b
Standardize some naming in code section comments
2016-02-21 18:09:04 -06:00
Gregory Nutt
5b51a9fcdd
Standardize the width of all comment boxes in C files
2015-10-02 17:43:18 -06:00
Gregory Nutt
cb9e27c3b0
Standardize naming used for public data and function groupings
2015-10-02 16:30:35 -06:00
Gregory Nutt
b4423c1eed
Make some file section headers more consistent with standard
2015-04-08 06:47:36 -06:00
Gregory Nutt
85e8117062
Move interrupt dispatch logic from sched/ to sched/irq
2014-08-08 14:31:15 -06:00