Gregory Nutt
43eb04bb8f
Without lowsyslog() *llinfo() is not useful. Eliminate and replace with *info().
2016-06-20 11:59:15 -06:00
Gregory Nutt
f4c47636e7
SYSLOG: Debug output from the IDLE task should be forced like interrupt level output
2016-06-20 07:35:38 -06:00
Gregory Nutt
3fa41c0f18
Kconfig files: Fix some dependencies that have CONFIG_ in the variable name
2016-06-17 19:30:19 -06:00
Gregory Nutt
0c8c7fecf0
Add _ to the beginning of all debug macros to avoid name collisions
2016-06-16 12:33:32 -06:00
Gregory Nutt
f3ec664f63
Debug output level (error, warning, info) is now selectable on a per-subsystem, per-driver basis
2016-06-12 13:08:23 -06:00
Gregory Nutt
13cac3b592
sched/: Change some *err() message to *info() messages if what was a *dbg() message does not indicate and error condition.
2016-06-11 16:42:42 -06:00
Gregory Nutt
a1469a3e95
Add CONFIG_DEBUG_ERROR. Change names of *dbg() * *err()
2016-06-11 15:50:49 -06:00
Gregory Nutt
e99301d7c2
Rename *lldbg to *llerr
2016-06-11 14:55:27 -06:00
Gregory Nutt
86b79b33cf
Reserver the name 'err' for other purposes
2016-06-11 14:40:07 -06:00
Gregory Nutt
1cdc746726
Rename CONFIG_DEBUG to CONFIG_DEBUG_FEATURES
2016-06-11 14:14:08 -06:00
Gregory Nutt
fc3540cffe
Replace all occurrences of vdbg with vinfo
2016-06-11 11:59:51 -06:00
Gregory Nutt
3a74a438d9
Rename CONFIG_DEBUG_VERBOSE to CONFIG_DEBUG_INFO
2016-06-11 11:50:18 -06:00
Gregory Nutt
80d0b2736e
Reorder some logic: (1) set initial CPU IDLE task regsters AFTER allocating stack, (2) invalidate cache in CPU start-up BEFORE handling first interrupt.
2016-05-22 15:01:49 -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
32838fcc2c
enter/leave_critical_section: In SMP configuration, may attempt to access the task lists before they have been initialized
2016-05-18 09:17:01 -06:00
Gregory Nutt
3d87005e5a
Fix some compilation issues when certain combinations of debug options are selected.
2016-05-17 12:06:32 -06:00
Gregory Nutt
faca2fb1e7
ARMv7-A/i.MX6: Add logic to handle allocation of CPU IDLE thread stacks more efficiently
2016-05-13 11:39:42 -06:00
Gregory Nutt
70782b0f14
ARMv7-A i.MX6: More SMP logic. Still untested.
2016-05-12 15:04:46 -06:00
Gregory Nutt
c00e3e55dc
Fix several places in DMA logic where a spurious semicolon causes bad conditional logic
2016-05-11 17:42:59 -06:00
Gregory Nutt
6cfe56202d
Backout 3f731241cb
. It is a good idea, but has some unpleasant side effect... like SYSLOG and dbg() no longer work
2016-04-18 18:55:36 -06:00
Gregory Nutt
3f731241cb
fs/inode/, fs/vfs/, and sched/task/: File and socket descriptors are no longer allocated for kernel threads. They must use SYSLOG for output and the low-level psock interfaces for network I/O. This saves a little memory which might be important for small footprint configurations.
2016-04-14 10:14:38 -06:00
Gregory Nutt
3fba968bb0
Fix an error when a task with open message queue descriptors is killed via task_delete(). Noted by Anton Gropyanov.
2016-04-11 11:14:18 -06:00
Gregory Nutt
e42b3040ee
Fix some issues with the initial implementation of sched_mergeprioritized.
2016-03-24 07:52:27 -06:00
Gregory Nutt
b5afc187ee
Add file missed in last commit; sched_lock() and sched_mergepending() now use sched_mergeprioritized()
2016-03-23 08:58:48 -06:00
Gregory Nutt
4a962a36dd
Add library functions to concatenate and move lists. Add scheduler function to merge prioritized function to merge prioritized lists (not yet used).
2016-03-23 08:00:58 -06:00
Gregory Nutt
f0671bae2f
SMP: Reorder some logic related to task exit() and restart() for logic of SMP.
2016-03-22 18:19:57 -06:00
Gregory Nutt
9604ea8f42
SMP: Straighten up some scheduler locking logic -- need to REVISIT
2016-03-22 13:01:47 -06:00
Gregory Nutt
3b2e94e1fd
SMP: Fix some errors when removing a trask from the assigned task list
2016-03-22 11:08:30 -06:00
linfei_chen
4b18b8d1e3
LP Work Queue: Fix test to find and idle worker thread.
2016-03-22 08:15:49 -06:00
Gregory Nutt
bc325bd597
Update Kconfig comments
2016-03-21 18:28:43 -06:00
Gregory Nutt
d20db82fcb
Scheduler instrumentation: Fix some associated with monitoring critical sections
2016-03-21 17:08:07 -06:00
Gregory Nutt
adf3c73219
scheduler instrumentation: Improvements to buffering logic
2016-03-21 15:40:01 -06:00
Gregory Nutt
ccbf514233
Add task state to information recorded when a task is suspended
2016-03-21 15:24:15 -06:00
Gregory Nutt
f7b58e9dfd
sched/: Move location (and form) of context switch instrumentation.
2016-03-21 14:08:31 -06:00
Gregory Nutt
242f8ff25f
drivers/syslog/note_driver.c: Add a driver that will allow an application to read buffered scheduler instrumentation data
2016-03-17 14:46:00 -06:00
Gregory Nutt
7f19631338
sched/: Add option to buffer scheduler instrumentation data in memory.
2016-03-17 09:49:43 -06:00
Gregory Nutt
2225940155
SMP: Add per-CPU initialization logic
2016-03-13 07:16:56 -06:00
Gregory Nutt
79c1fa5bd7
SMP: Simplified SMP interfaces
2016-03-12 15:29:33 -06:00
Gregory Nutt
320b70ebad
Update submodules
2016-03-12 13:24:38 -06:00
Gregory Nutt
24468128de
TLS: Simplify
2016-03-11 07:17:32 -06:00
Gregory Nutt
934069e422
TLS: Add logic to get/set arbitrary TLS values
2016-03-10 19:31:22 -06:00
Gregory Nutt
30b6ee96c9
Add basic definitions for TLS support
2016-03-10 11:56:33 -06:00
Gregory Nutt
9b5e88af71
Update some comments
2016-03-06 13:50:26 -06:00
Gregory Nutt
5d63cd85c7
sched/semaphore: Add an internal interface to reset a semaphore count.
2016-03-05 07:33:24 -06:00
Gregory Nutt
d0c09771db
sched: Recent change of ASSERT to DEBUGASSERT causes a crash when debug is diabled because there is a critical function call within the assertion
2016-02-23 10:27:40 -06:00
Gregory Nutt
7cb35587a3
Correct minor typos in a Kconfig file
2016-02-22 08:28:33 -06:00
Gregory Nutt
0fb035f76b
Standardize some naming in code section comments
2016-02-21 18:09:04 -06:00
Gregory Nutt
143d287f11
Fix some missing header file inclusions and a misplaced semi-colon from recent commits
2016-02-21 11:27:55 -06:00
Gregory Nutt
c929db42f9
Fix some bad SMP logic in sched_removereadytorun.c
2016-02-20 08:07:54 -06:00
Gregory Nutt
883a1adfe2
Implement sched_setaffinity() and sched_getaffinity()
2016-02-19 19:18:54 -06:00
Gregory Nutt
5a590e99b9
Add SYSCALLS for pthread_setaffinity() and pthread_getaffinity()
2016-02-19 18:13:06 -06:00
Gregory Nutt
1b5e296cf2
Add pthread_setaffinity() and pthread_getaffinity()
2016-02-19 17:59:19 -06:00
Gregory Nutt
a633353ec3
Add a CPU affinity set to the TCB if SMP is enable and use this CPU set as a mask for determining which CPUs the thread may run on. Add an affinity field to the attrributes to permit controlling which CPUs a pthread may run on. Implements pthread_att_setaffinity_np() and pthread_attr_getaffinity_np().
2016-02-19 17:33:35 -06:00
Gregory Nutt
72d3920295
Rename cpuset_t to cpu_set_t which is the type used in some non-standard Linux/GNU interfaces. Move definitions of cpu_set_t to include/sys/types.h. Add prototypes for sched_setaffinity(), sched_getaffinity(), pthread_attr_setaffinity_np(), pthread_attr_getaffinity_np(), pthread_setaffinity_np(), and pthread_getaffinity_np(). No implementation is yet in place.
2016-02-19 15:57:07 -06:00
Gregory Nutt
3994b094c5
Remove some empty C file section comments; Update some text in TODO file
2016-02-19 10:01:15 -06:00
Gregory Nutt
94bea6547b
Fix two unterminated strings in Kconfig files
2016-02-18 17:13:03 -06:00
Gregory Nutt
6d97249348
Trivial, cosmetic changes
2016-02-18 14:56:48 -06:00
Gregory Nutt
1780000777
SMP: Setting bit for wrong CPU. Assertion has cause false alarm crashes..
2016-02-18 12:31:21 -06:00
Gregory Nutt
7d9287958f
Minor simplication to last commit; Update TODO list
2016-02-18 09:21:43 -06:00
Gregory Nutt
52fbbaf778
1. SMP: Fix an assertion. SMP-specific change accidentally made in non-SMP code
...
2. Move list of signal actions from the task TCB to the task group. Signal handlers are a property of the entire task group and not of individual threads in the group. I know, I preferred it the other way too but this is more compliant with POSIX.
2016-02-18 08:34:54 -06:00
Gregory Nutt
720343612b
Remove some empty file section section header comments
2016-02-17 18:05:03 -06:00
Gregory Nutt
6543c570d4
Remove some empty file section section header comments
2016-02-17 17:38:39 -06:00
Gregory Nutt
970b34ae8f
Remove some empty file section section header comments
2016-02-17 17:17:44 -06:00
Gregory Nutt
a20863f6c0
Remove some empty file section section header comments
2016-02-17 17:15:08 -06:00
Gregory Nutt
b71907888e
Remove some empty file section section header comments
2016-02-17 17:04:51 -06:00
Gregory Nutt
269c242f7b
Update TODO list
2016-02-17 16:51:58 -06:00
Gregory Nutt
95735519dd
SMP: Cosmetic renaming to clarify functionality of SMP interfaces. Update comments.
2016-02-17 13:36:25 -06:00
Gregory Nutt
b50325bb38
SMP: Add funtions to perform atomic bit set/clear operations; fix two errors in SMP macros
2016-02-17 13:20:01 -06:00
Gregory Nutt
8ac12839c3
leave_critical_section: Fix text of whether spinlock should be released or not
2016-02-17 10:55:18 -06:00
Gregory Nutt
d6912d0b00
Fix some bad conditional compilation and other typos in last commit
2016-02-16 20:11:25 -06:00
Gregory Nutt
6aeb4a52e8
Performance improvement: Idle loop should not take MM semaphore if there is not garbage to be collected. This can cause loss of performance and thrashing in tasking
2016-02-16 19:33:22 -06:00
Gregory Nutt
6dfa72d038
SMP: Fix some dumb but difficult to debug errors
2016-02-16 16:43:19 -06:00
Gregory Nutt
384e51cb05
Add some additional schedule instrumentation
2016-02-16 15:21:45 -06:00
Gregory Nutt
7f18b515f4
SMP: Fix a typo in last commit
2016-02-16 10:40:25 -06:00
Gregory Nutt
a442245479
SMP: Fix some non-SMP errors that crept in; fix a recursion problem; re-partition some functionality to improve design and readability
2016-02-16 10:14:33 -06:00
Gregory Nutt
8774e7a4a0
SMP: Fix missing initialization value
2016-02-15 18:35:05 -06:00
Gregory Nutt
fccef49305
Cosmetic changes to comments
2016-02-15 13:48:08 -06:00
Gregory Nutt
cfcd98ca89
SMP: Used wrong point to wrong TCB
2016-02-15 11:45:34 -06:00
Gregory Nutt
fc842d740a
SMP: os_start needs to hold the KMM semaphore to prevent threads from allocating memory until the bring-up is complete
2016-02-15 11:07:42 -06:00
Gregory Nutt
8ea1bc3188
SMP: Fix backward spinlock test
2016-02-15 11:06:54 -06:00
Gregory Nutt
8399938138
SMP: I think we have to spinlock before we are possibly suspended
2016-02-15 10:15:07 -06:00
Gregory Nutt
3c46fa3f9f
Fix a contention problem in the previous critical section design
2016-02-15 08:50:20 -06:00
Gregory Nutt
c7df82147f
SMP: First cut integration of enter/leave_critical_section and the scheduler. There are some issues.
2016-02-15 08:06:17 -06:00
Gregory Nutt
9cb2a6b1f9
Rename irqsave() and irqrestore() to up_irq_save() and up_irq_restore()
2016-02-14 16:19:15 -06:00
Gregory Nutt
e6bd3544f6
Fix a name collision introduced in last commit
2016-02-14 08:20:35 -06:00
Gregory Nutt
6e3107650d
nuttx/sched: Replace irqsave() with enter_critical_section(); replace irqrestore() with leave_critical_section()
2016-02-14 08:17:46 -06:00
Gregory Nutt
a604a86980
Fix an error introduced in a previous commit
2016-02-13 10:48:30 -06:00
Gregory Nutt
d017e3eb2e
SMP: Forgot to add a file before the last commit
2016-02-13 10:25:36 -06:00
Gregory Nutt
97cbd7112f
SMP: Implement enter/leave_critical_section
2016-02-13 10:23:16 -06:00
Gregory Nutt
8ac699b63d
SMP: Need to perform all IDLE task memory allocations on initializatin thread prior to starting the other CPUs
2016-02-13 09:04:54 -06:00
Gregory Nutt
f45166af32
SMP: Fix a IDLE task semaphore operation
2016-02-12 18:03:08 -06:00
Gregory Nutt
3f7f58de9d
SMP: Fix some debug assertion problems when DEBUG is enabled; Partial fix for one bring-up issue
2016-02-12 17:13:38 -06:00
Gregory Nutt
64b3ce8775
SMP: Add up_cpustart and up_cpurestart protoypes; fix some problems in sched_addreadytorun; first cut at SMP version of up_mergepending.
2016-02-12 16:13:14 -06:00
Gregory Nutt
85f663a8ee
SMP: Add non-reentrant spinlocks, fix pre-emption controls with SMP, and most of the basic scheduler support for SMP (still missing a few things)
2016-02-12 14:55:31 -06:00
Gregory Nutt
7d7f4e140c
OS: Add a RUNNABLE attribute to the tasklists to indicate if the task list includes the currently executing task. Use this additional bit of information to determine if a context switch could really occur when removing a TCB from a task list
2016-02-12 08:15:16 -06:00
Gregory Nutt
76e88c8963
SMP: Removed unused macros, update comments, update sched_removereadytorun for SMP
2016-02-11 17:24:19 -06:00
Gregory Nutt
c315479a04
SMP: Move IDLE thread init logic from sim to OS; need to assign unique IDs to each IDLE task
2016-02-11 14:11:26 -06:00
Gregory Nutt
ddbc948895
SMP: Minor SMP-related clean-up/improvements
2016-02-11 12:18:54 -06:00
Gregory Nutt
49227fa554
Scheduler: Replace the boolean 'prioritized' with a uint8_t bit set so that additional attributes of a list can be specified without adding more boolean values.
2016-02-11 08:06:33 -06:00
Gregory Nutt
0a7e136a5a
SMP: Idle thread must be assigned to a CPU
2016-02-11 08:01:09 -06:00
Gregory Nutt
89bea6917c
Kconfig: Architecture must indicate that it support multiple CPUs in order to enable SMP
2016-02-10 17:31:16 -06:00
Gregory Nutt
292d2fe648
Correct naming of a TCB flag; update some comments
2016-02-10 16:53:34 -06:00
Gregory Nutt
96223cedf1
SMP: A little more
2016-02-10 15:43:05 -06:00
Gregory Nutt
3147dfc7d5
SMP: Add some tentative initialization logic
2016-02-10 13:49:27 -06:00
Gregory Nutt
47a5663f8c
SMP: A few preliminary data structure definitions
2016-02-10 11:45:26 -06:00
Gregory Nutt
f5a3b1e89d
Add EXPERIMENTAL configuration option to investigate some SMP issues
2016-02-10 10:27:48 -06:00
Gregory Nutt
bf8120d51d
Fix some odd logic in CC3000 semaphore handling. Noted by Vladimir Komendantskiy
2016-02-10 09:50:28 -06:00
Gregory Nutt
2c0ad2564f
Add CONFIG_SPINLOCK. Also need spinunlock() and spinlock_initialize()
2016-02-09 15:31:14 -06:00
Gregory Nutt
74db48202e
sched/: Replace explict references to g_readytorun with indirect references via the this_task() macro
2016-02-06 17:44:41 -06:00
Gregory Nutt
2dc258986d
Add a state variable that provides the current level of OS initialization. This is needed by some logic that may attempt to run early in the start-up sequence, but cannot run if a sufficient level of initializaitn has not not yet occurred
2016-02-05 08:34:03 -06:00
Gregory Nutt
61819c0e3e
Fix a typo in last commit that was not noticed until CONFIG_SIG_EVTHREAD was enabled
2016-01-28 16:50:20 -06:00
Gregory Nutt
da5115e3e6
Correct an error in timer_created intoduced when SIGEV_THREAD support was added.
2016-01-28 16:38:54 -06:00
=?UTF-8?Q?Manuel_St=c3=bchn?=
2bacc40350
Fix mismatched prototype error in work_queue()
2016-01-24 12:48:24 -06:00
Gregory Nutt
84d4cb007b
clock_systimer: 64-bit timer accesses are not atomic. Noted by Freddie Chopin.
2016-01-22 12:24:36 -06:00
Gregory Nutt
2de5be34e5
Update ChangeLog
2016-01-21 19:29:43 -06:00
Gregory Nutt
032ad1b70b
Remove clock_systimer32 and clock_systimer64. There is now only clock_systimer
2016-01-21 16:49:24 -06:00
Gregory Nutt
b04e2ea021
Trivial improvement to comments
2016-01-21 16:28:36 -06:00
Gregory Nutt
a4f5254cbe
Fix a typo introduced into the last commit
2016-01-21 13:48:35 -06:00
Gregory Nutt
e001f37593
sched/clock/clock_timespec.c: Fix an error in the time conversion
2016-01-21 13:31:00 -06:00
Gregory Nutt
f348e68069
Update to use 64-bit timer when available
2016-01-21 11:54:26 -06:00
Gregory Nutt
8ee75a96fe
Update TODO list and Kconfig help
2016-01-13 07:44:44 -06:00
Dimitry Kloper
b48ca00cd5
The delay parameter has 'int' type while explicit int32_t is used in sigtimedwait() (sig_timedwait.c) This can lead to wrong argument for systems that have default int size different than int32 (namely AVR).
2016-01-05 07:58:04 -06:00
Gregory Nutt
c1fff4706c
signals: Adds a very limited, minimal implementation for SIGEV_THREAD
2015-12-30 15:01:14 -06:00
Gregory Nutt
849df03d22
Update dates on files modified for SIGEV_THREAD support
2015-12-30 13:28:39 -06:00
Gregory Nutt
9835eeb181
signals: Basic framework to support SIGEV_THREAD
2015-12-30 13:20:31 -06:00
Gregory Nutt
198cfd0224
Forgot to add a file needed in the last commit
2015-12-22 12:06:05 -06:00
Gregory Nutt
b90da3f27b
waitpid: CRITICAL BUGFIX. Add a reference counting mechansim to prevent wait from using stale memory that was freed by the exiting task
2015-12-22 11:48:17 -06:00
Gregory Nutt
8f540fd81a
Trivial fix to typo in a comment
2015-12-21 22:24:43 -06:00
Gregory Nutt
a2e1ece873
RTC: Handle RTC failures. If mktime is called with garbage, it may crash
2015-12-21 14:39:40 -06:00
Gregory Nutt
e8d0f85c8b
Modules: Add mod_setsymtab to set global symtol table once. Now we can remove symbol table parameters from the insmod call. This will make implementing an NSH insmod command much easier
2015-12-13 08:10:01 -06:00
Gregory Nutt
076f382f79
Module: Remove some unused members of a structure
2015-12-13 06:48:30 -06:00
Gregory Nutt
917dbc8540
modules: Add more information to registry just for procfs
2015-12-12 18:56:32 -06:00
Gregory Nutt
795ddd7e80
OS modules: Add basic procfs support. A module registry that will eventually be used to support lsmod
2015-12-12 17:42:25 -06:00
Gregory Nutt
a908a61c5a
Various module-related cosmetic changes
2015-12-12 12:55:50 -06:00
Gregory Nutt
303123deb9
Add syscall support for insmod and rmmod
2015-12-12 11:11:09 -06:00
Gregory Nutt
040835de00
Add an implementation of rmmod
2015-12-12 10:51:54 -06:00
Gregory Nutt
9ef33d8ebc
Merge remote-tracking branch 'origin/master' into module
2015-12-12 09:38:44 -06:00
Gregory Nutt
0efcb5445b
Fix compile error when cache coherency logic is enabled
2015-12-12 09:38:06 -06:00
Gregory Nutt
49554fe4fc
Move module support from binfmt/ to sched/ so that it can be configured and built independently from binfmt features
2015-12-12 07:09:17 -06:00
Gregory Nutt
f45e2a247e
Cosmetic fix to comment
2015-12-11 10:06:40 -06:00
Gregory Nutt
c9925305b5
Same important bug as c623af03a0ee8ac041fc22051781047d6cb9cc75, but in a different location
2015-12-09 10:17:33 -06:00
Gregory Nutt
c16648b3fd
Most cosmetic but also includes a fix for a compile problem from Ken Pettit
2015-12-01 12:54:57 -06:00
Gregory Nutt
48da5aa496
sched/pthread/: CRITICAL BUGFIX: Logic was wiping out the indication that of the type of a pthread. Hence, it could be confused as a task. Found because this was causing a crash when /proc/nnn/cmdline was printed.
2015-11-28 10:05:36 -06:00
Gregory Nutt
4b29bcee7f
Rename up_rtcinitialize to up_rtc_initialize so that it looks like other RTC interfaces
2015-11-20 08:27:52 -06:00
Gregory Nutt
892ba4f26a
DS1307: Change year bias to 1968 which is a leap year juse like 2000
2015-11-19 15:12:40 -06:00
Gregory Nutt
c34b5108a7
RTC: Fix system time initialization when using an exernal RTC. Fix some bugs in the DS1307/DS3231 RTC driver
2015-11-19 14:54:30 -06:00
Lok
da8950fe5b
Fix an error in clock_timespec_subtract
2015-11-03 07:28:46 -06:00
Gregory Nutt
78ae661223
One more trivial spacing issue
2015-10-07 20:13:49 -06:00
Gregory Nutt
79d554939e
sched/: Fix some spacing issues
2015-10-07 19:59:14 -06:00
Gregory Nutt
af086c40ff
Remove dangling whitespace
2015-10-04 15:28:54 -06:00