Commit Graph

168 Commits

Author SHA1 Message Date
Gregory Nutt
5e94dd22bb Modules: Move first five of many C files from sched/module to libc/modlib 2017-01-29 10:05:15 -06:00
Gregory Nutt
2717e781f0 libc/modlib: Add build a configuration logic for a shared module library. 2017-01-29 08:55:27 -06:00
Gregory Nutt
68a7110195 sched/modules: Add support for dependencies between modules. 2017-01-27 11:43:27 -06:00
Gregory Nutt
1823c78663 Update some comments 2017-01-22 10:17:51 -06:00
Gregory Nutt
686041f8e7 CPU load: Correct computation of the nominal period to use when the source is a oneshot timer. 2017-01-22 07:12:22 -06:00
Gregory Nutt
edd9186540 ELF: Move ARMv7-A and ARMv7-R versions of ELF relocation logic to libc/machine 2017-01-21 14:40:26 -06:00
Masayuki Ishikawa
acbfa47f70 sched_note: Fix spinlock instrumentation 2017-01-12 08:04:28 -06:00
Gregory Nutt
018eb7c1d2 Cancellation points no longer depend on EXPERIMENTAL 2016-12-09 17:44:37 -06:00
Gregory Nutt
acaae12e8b Add pthread_testcancel(), pthread_testcancel(), and definitiions for cancellation types. 2016-12-09 07:23:00 -06:00
Gregory Nutt
6224e47533 pthread cleanup stack: Replace critical section with sched_lock/unlock(). The cleanup stack modification only needs to have the TCB stationary. The stack is never modified from interrupt level logic 2016-12-08 14:33:02 -06:00
Gregory Nutt
a1fbc2ad0d pthreads: Add pthread_cleanup_push() and pthread_cleanup_pop() 2016-12-08 09:27:13 -06:00
Gregory Nutt
9ee3f3b933 sched_note: Permit spinlock and critical section notes in in-memory buffer iff sched_not_get() interfaces is disabled. 2016-11-28 18:36:26 -06:00
Gregory Nutt
00215fbc98 sched_note: Add spinlock instrumentation; In SMP configurations, select to log only notes from certain CPUs 2016-11-28 10:33:46 -06:00
Gregory Nutt
d65be718c2 sched_note: Extend OS instrumentation to include some SMP events. 2016-11-27 17:14:57 -06:00
Gregory Nutt
120d29b480 Update some Kconfig comments 2016-11-06 09:06:37 -06:00
Gregory Nutt
4997ec7a1e ESP32 Core V2: Add an SMP configuration to support development (not yet usable). 2016-10-29 14:56:07 -06:00
Gregory Nutt
e6377641a8 sched/Kconfig: Add ranges to START_YEAR, MONTH, and DAY 2016-10-27 18:04:14 -06:00
Gregory Nutt
53b2de18eb Trivial typo fix 2016-08-20 13:23:41 -06:00
Gregory Nutt
300361539a sched/sched_cpuload_oneshot: Use the oneshot timer with optional entropy to measuer cPU load if so configured. 2016-08-20 12:47:07 -06:00
Gregory Nutt
246773faa7 Rename CONFIG_SCHED_TIMEKEEPING to CONFIG_CLOCK_TIMEKEEPING. That is a better compartmentalized name. 2016-07-11 06:54:02 -06:00
Max Neklyudov
8db29071da timekeeping: initial implementation 2016-07-10 16:14:25 -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
1cdc746726 Rename CONFIG_DEBUG to CONFIG_DEBUG_FEATURES 2016-06-11 14:14:08 -06:00
Gregory Nutt
3a74a438d9 Rename CONFIG_DEBUG_VERBOSE to CONFIG_DEBUG_INFO 2016-06-11 11:50:18 -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
f7b58e9dfd sched/: Move location (and form) of context switch instrumentation. 2016-03-21 14:08:31 -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
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
7cb35587a3 Correct minor typos in a Kconfig file 2016-02-22 08:28:33 -06:00
Gregory Nutt
94bea6547b Fix two unterminated strings in Kconfig files 2016-02-18 17:13:03 -06:00
Gregory Nutt
384e51cb05 Add some additional schedule instrumentation 2016-02-16 15:21:45 -06:00
Gregory Nutt
ddbc948895 SMP: Minor SMP-related clean-up/improvements 2016-02-11 12:18:54 -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
f5a3b1e89d Add EXPERIMENTAL configuration option to investigate some SMP issues 2016-02-10 10:27:48 -06:00
Gregory Nutt
2c0ad2564f Add CONFIG_SPINLOCK. Also need spinunlock() and spinlock_initialize() 2016-02-09 15:31:14 -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
Gregory Nutt
c1fff4706c signals: Adds a very limited, minimal implementation for SIGEV_THREAD 2015-12-30 15:01:14 -06:00
Gregory Nutt
9835eeb181 signals: Basic framework to support SIGEV_THREAD 2015-12-30 13:20:31 -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
51f386d08a Fix more common typos 2015-08-16 11:07:23 -06:00
Gregory Nutt
484f148001 Sporadic scheduler: Add instrumentation hooks to support GPIO outputs 2015-07-27 08:37:25 -06:00
Gregory Nutt
27e21710fd This is basically a complete redesign of the sporadic scheduling logic due to limitations in the initial design 2015-07-25 12:50:53 -06:00
Gregory Nutt
ed031388ad sched/Kconfig: The sporadic scheduler option is no longer EXPERIMENTAL 2015-07-24 14:19:18 -06:00
Gregory Nutt
9095e8eab4 include/, sched/, and libc/: Add support for sporadic scheduling parameters in struct sched_param, posix_spawnattr_t, and pthread_attr_t. Update all user interfaces to pass sporadic scheduling parameters. Feature is dependent on EXPERIMENTAL and no changes have yet been made to core scheduling logic. 2015-07-23 13:16:32 -06:00
Gregory Nutt
2b3aae0ddc Add basic configuration options for SCHED_SPORADIC 2015-07-23 10:33:30 -06:00
Gregory Nutt
342f5fe33d Fix references to the no-longer-existent misc/ directory in comments, README files, and documentation 2015-06-28 08:08:57 -06:00
Gregory Nutt
1d534ff896 Convert the 64-bit usec limit to a 32-bit tick limit 2015-02-03 07:18:17 -06:00
Gregory Nutt
a448e0f69f On my platform I have just 16-bit timer clocked at 32kHz. As result oneshot timer max delay is 2s. The patch adds limit of maximum ticks in sched_timer_start (nuttx/sched/sched/sched_timerexpiration.c). From Macs N. 2015-02-03 06:25:19 -06:00
Gregory Nutt
937f9f23f1 strncpy will not copy the terminating \0 into the destination if the source is larger than the size of the destination. Ensure that the last byte is always zero and let strncpy only copy CONFIG_TASK_NAME_SIZE bytes. The issue of unterminated names can be observed in ps when creating a pthread while CONFIG_TASK_NAME_SIZE is set to 8. 2014-12-17 12:24:02 -06:00
Gregory Nutt
fcffafee30 Remove CONFIG_MAX_TASK_ARGS from all Kconfigs and defconfigs 2014-11-12 18:02:19 -06:00
Gregory Nutt
928b0bda3d Default for CONFIG_SCHED_HPWORK should be no 2014-10-14 16:56:37 -06:00
Gregory Nutt
179fabb019 Add description of work queues to the porting guide. Update comments 2014-10-14 10:21:18 -06:00
Gregory Nutt
e702d9396b Fix one missed name change from last big commit 2014-10-12 07:09:57 -06:00
Gregory Nutt
b78fe7c270 Rename CONFIG_SCHED_USRWORK to CONFIG_LIB_USRWORK 2014-10-11 15:59:40 -06:00
Gregory Nutt
9292e3d9de Decouple the user-space work queue from the kernel space work queues 2014-10-11 15:50:22 -06:00
Gregory Nutt
652d3ed29d Rename CONFIG_LIBC_AIO to CONFIG_FS_AIO since it is now an OS property 2014-10-05 15:44:43 -06:00
Gregory Nutt
31cdcde73a Add definitions for SIGPOLL 2014-10-05 06:02:37 -06:00
Gregory Nutt
81a4de4a4d Kconfig choice value needs a prompt 2014-09-11 07:18:33 -06:00
Gregory Nutt
e958040269 Add capability to perform initial board initialization on a separate worker thread. 2014-09-03 18:36:43 -06:00
Gregory Nutt
67a54fd52e ARMv7-A: A little more logic and a few more fixes for Cortex-A kernel build 2014-08-31 07:15:46 -06:00
Gregory Nutt
34ff07008a Add configuration options to start the system from a program on a file system 2014-08-30 13:27:23 -06:00
Gregory Nutt
2906ff6a4a Cosmetic: Fix all comments, defaults, etc. that references the defunct name user_start 2014-08-30 11:14:51 -06:00
Gregory Nutt
952d87587f If we run out of pre-allocated watchdog times, the logic will allocate additional timers from the heap. A reserve of pre-allocated watchdog timers is maintained so that there will always be timers available for interrupt handlers. 2014-08-21 08:44:29 -06:00
Gregory Nutt
686e5d7e3d Tickless: If using an ALARM, then really should report time of expiration 2014-08-12 10:00:32 -06:00
Gregory Nutt
66803d0db6 Define interfaces to use an alarm instead of an interval timer with the tickless option 2014-08-12 07:28:41 -06:00
Gregory Nutt
5ee57bda59 Some final tickless OS bugfixes. No longer EXPERIMENTAL. Update some comments 2014-08-07 19:11:22 -06:00
Gregory Nutt
c9661ad5a7 Change all time conversions. Yech. New timer units in microseconds breaks all existing logic that used milliseconds in the conversions. Something likely got broken doing this, probably because I confused a MSEC2TICK conversion with a TICK2MSEC conversion. Also, the tickless OS no appears fully functional and passes the OS test on the simulator with no errors 2014-08-07 18:00:38 -06:00
Gregory Nutt
17ea50b45e Fix compler error in tickless code when round robin scheduling is enabled. Other cosmetic fixes to comments 2014-08-07 14:14:09 -06:00
Gregory Nutt
0aa7209765 Change CONFIG_MSEC_PER_TICK to CONFIG_USEC_PER_TICK. This gives more options for system timers in general, but more importantly, let's us realize higher resolution for the case of CONFIG_SCHED_TICKLESS=y -- of course, at the risk of some new interger overvflow problems 2014-08-07 13:42:47 -06:00
Gregory Nutt
caba61999a Remove CONFIG_DISABLE_CLOCK 2014-08-07 12:35:24 -06:00
Gregory Nutt
520a51a3e1 Implements the tickless OS 2014-08-07 11:39:16 -06:00
Gregory Nutt
f0eb4235d1 Add a new option CONFIG_SCHED_TICKLESS to enable the tickless OS. This is a work in progress but should be relatively safe since the new features are only enabled by this option (Safer but not 100% safe since it does not protect from typos and other dumb errors). 2014-08-06 18:25:42 -06:00
Gregory Nutt
e3310888e2 Cosmet updates to some comments 2014-07-17 17:58:24 -06:00
Gregory Nutt
4035ed8c6c CONFIG_START_YEAR/MONTH/DAY not required if an RTC is used 2014-05-26 07:45:15 -06:00
Gregory Nutt
84d28641b7 SAM4S Xplained Pro: Clean-up of LED usage and also some integration of new timer features. From Bob Doiron 2014-05-05 14:38:29 -06:00
Gregory Nutt
8d758a13de The CONFIG_SYSTEMTICK_EXTCLK selection should only be available on systems that support it 2014-04-30 15:32:06 -06:00
Gregory Nutt
f7485ea962 Updated system timer logic from Bob Doiron 2014-04-30 14:46:26 -06:00
Gregory Nutt
6be62a7ef3 configs/*/defconfig: Increase the number of pre-allocated watchdogs in configurations that use networking or USB 2014-04-09 10:57:56 -06:00
Gregory Nutt
70815e5673 sched/Kconfig: Add another layer of menuing to simply this level 2014-03-31 11:32:22 -06:00
Gregory Nutt
4f59bc5878 Add CONFIG_CLOCK_MONTONIC 2014-03-31 10:01:03 -06:00
Gregory Nutt
7f739b0411 Support an asynchronous, 'external' clock to get better CPU load measurements 2014-02-27 14:13:53 -06:00
Gregory Nutt
59769d44f1 Add logic to meaure and calculate the CPU load percentage. From David Alessio 2014-02-22 15:20:12 -06:00
Gregory Nutt
d092f888fb Add CONFIG_DEFAULT_SMALL that will select default values for configuration settings based upon either more features or smaller footprint. Turns out not be be useful for modifying existing defconfig files because the defaults do not apply in that case 2014-02-20 18:49:45 -06:00
Gregory Nutt
7a173d58b5 /proc/uptime logic needs to sample timer in case multiple reads are used to read the time 2013-12-14 15:25:23 -06:00
Gregory Nutt
d9f16bba82 apps/platform: A new now for platform-specific applicatin code 2013-10-30 09:04:37 -06:00
Gregory Nutt
f9b9875952 Various Kconfig files still have references to CONFIG_ variables. Some in harmless comments, some in config definionts which is not harmless. All removed 2013-04-25 15:52:00 -06:00
Gregory Nutt
b553609351 New Kconfig convention: Extra indentation in comments will render as HTML preformatted text 2013-04-22 09:10:58 -06:00
patacongo
6feabf0fee Implement user-mode work queues
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5712 42af7a65-404d-4744-a932-0658087f49c3
2013-03-06 00:02:07 +00:00
patacongo
d932e56dca STM32 F4 patches from Petteri Aimonen (mostly USB)
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5652 42af7a65-404d-4744-a932-0658087f49c3
2013-02-15 14:37:37 +00:00
patacongo
b48009644f Rename _TCB to struct tcb_s
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5610 42af7a65-404d-4744-a932-0658087f49c3
2013-02-04 18:46:28 +00:00
patacongo
151dfee1f9 Add a start hook that can be setup to call a function in the context of a new thread before the new threads main() has been called.
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5571 42af7a65-404d-4744-a932-0658087f49c3
2013-01-27 15:52:58 +00:00
patacongo
caf5fdf217 Fix some missing logic and inconsistencies in child status logic; Fix a bug introduced into sigaction()
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5560 42af7a65-404d-4744-a932-0658087f49c3
2013-01-24 23:18:32 +00:00
patacongo
4709eeb41a apps/examples/nettest and poll: Complete Kconfig files
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5556 42af7a65-404d-4744-a932-0658087f49c3
2013-01-24 16:28:15 +00:00
patacongo
3736ae6ba9 Add logic to retain child task exit status if so configured
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5553 42af7a65-404d-4744-a932-0658087f49c3
2013-01-23 22:23:46 +00:00
patacongo
956bded9c1 Add logic to automatically unload module on exit; Several patches from Mike Smith
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5528 42af7a65-404d-4744-a932-0658087f49c3
2013-01-17 14:43:55 +00:00
patacongo
b8e53dad52 Use SIGCHLD with waitpid(); implemented wait() and waitid()
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5515 42af7a65-404d-4744-a932-0658087f49c3
2013-01-13 18:53:00 +00:00