Gregory Nutt
|
cb2f84e288
|
Loosen up restriction a little in sched_ufree()
|
2015-09-07 15:28:58 -06:00 |
|
Gregory Nutt
|
d78d3ef4ab
|
Logic for delayed memory garbage collection for the case of user space memory will not work as implemented for the case of the kernel build. That is because the correct context is in place in order to free the user memory when sched_kufree is called, but will not be in place later when the memory garbage collection runs. If this feature is really needed, then some more substantial redesign is required
|
2015-09-07 14:40:18 -06:00 |
|
Paul A. Patience
|
3b89eabd50
|
Correct #if to #ifdef when the macro can be undefined. Fix bug in AT24XX driver: it should compare AT24XX_ADDRSIZE to 2.
|
2015-09-01 13:52:29 -04:00 |
|
Gregory Nutt
|
768d892188
|
Add si_errno to siginfo_t
|
2015-08-14 10:10:32 -06:00 |
|
Gregory Nutt
|
030573ba5c
|
More improvements to the sporadic scheduler
|
2015-08-01 09:08:48 -06:00 |
|
Gregory Nutt
|
5772813d29
|
Change the name of the local variable sigset to set to prevent name collisions with the function of the same name
|
2015-07-31 13:32:10 -06:00 |
|
Gregory Nutt
|
3a93be8902
|
Add strictly limit check: The current sporadic scheduler cannot handler duties > 50%
|
2015-07-30 07:36:01 -06:00 |
|
Gregory Nutt
|
a6ccb7f308
|
Sporadic scheduler: Third design. Now it looks closer to what I want
|
2015-07-28 14:26:31 -06:00 |
|
Gregory Nutt
|
dd5b065753
|
Sporadic: This interim version works pretty well, but the things that I had to do were nasty and mean that -- sigh -- there will be another redesign coming
|
2015-07-28 08:03:40 -06:00 |
|
Gregory Nutt
|
95ca3a1d1e
|
Fixes several more sporadic scheduler bugs
|
2015-07-27 18:08:21 -06:00 |
|
Gregory Nutt
|
a7322f5a6d
|
Sporadic scheduler: Fix how suspension time is calculated
|
2015-07-27 15:54:19 -06:00 |
|
Gregory Nutt
|
e33c727520
|
Sporadic scheduler: Move pending time into each timer instance
|
2015-07-27 14:48:21 -06:00 |
|
Gregory Nutt
|
e66e2f5c0f
|
Use the last budgeted time from the last timer started
|
2015-07-27 13:13:30 -06:00 |
|
Gregory Nutt
|
8c754ccd4f
|
Sporadic scheduler: misc bug fixes
|
2015-07-27 11:55:52 -06:00 |
|
Gregory Nutt
|
cc1c7731da
|
Sporadic scheduler: Fix budget computations when replenishment intervals are nested
|
2015-07-27 09:35:52 -06:00 |
|
Gregory Nutt
|
484f148001
|
Sporadic scheduler: Add instrumentation hooks to support GPIO outputs
|
2015-07-27 08:37:25 -06:00 |
|
Gregory Nutt
|
7c04ad8209
|
Sporadic scheduler: Cosmetic change to debug output and to comments
|
2015-07-26 15:33:27 -06:00 |
|
Gregory Nutt
|
99664b7811
|
Sporadic scheduler: Add logic to collection the partial timer expiration when a sporadic thread is suspended in tickless mode
|
2015-07-26 15:03:47 -06:00 |
|
Gregory Nutt
|
4bdbc387f5
|
Update TODO list; Fix a few errors introduced withe the last changes to the sporadic scheduler
|
2015-07-26 10:51:04 -06:00 |
|
Gregory Nutt
|
3e88b77540
|
Sporadic scheduler: Handle a case when the scheduler is resumed before it has even had a chance to run
|
2015-07-26 08:08:45 -06:00 |
|
Gregory Nutt
|
26fd7a7ccf
|
The redesigned sporadic scheduler now seems to be functional
|
2015-07-25 13:22:46 -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
|
a1031417e8
|
Comment out part of sporadic scheduler logic: Part of replenishment logic is bogus
|
2015-07-24 18:18:58 -06:00 |
|
Gregory Nutt
|
1d88dc1fb6
|
Fix some compilation error when both TICKLESS mode and the SPORADIC scheduler are enabled
|
2015-07-24 14:35:07 -06:00 |
|
Gregory Nutt
|
411941d8cd
|
Fix an syntax error in a debug asserion
|
2015-07-24 13:02:19 -06:00 |
|
Gregory Nutt
|
12cdd2a8fe
|
Fix some bad conditional compilation
|
2015-07-24 12:27:15 -06:00 |
|
Gregory Nutt
|
0d71260bf2
|
sched/: Separate the round-robin logic into a separate file so that it is symmetric with the sporadic stuff. Integrate the sporadic scheduler into the time tick interrupt handling and into the tickless operation.
|
2015-07-24 11:49:28 -06:00 |
|
Gregory Nutt
|
c6c424583d
|
Fix a test for valid scheduling policies
|
2015-07-24 10:20:22 -06:00 |
|
Gregory Nutt
|
4490744def
|
Add logic to reset the replenish the sporadic scheduler when a task is resumed
|
2015-07-24 09:55:02 -06:00 |
|
Gregory Nutt
|
ea7dbc984b
|
Add basic sporadic schedule state machine
|
2015-07-24 09:03:21 -06:00 |
|
Gregory Nutt
|
3b1306078b
|
Sporadic Scheduler: Ensure that the replenishment period is greater than or equal to the budget period
|
2015-07-23 15:08:41 -06:00 |
|
Gregory Nutt
|
5baa738019
|
Most cosmetic, but includes some fixes to some range checking
|
2015-07-23 14:36:49 -06:00 |
|
Gregory Nutt
|
53a17bfd99
|
Fix a newly introduced compilation error when round roben scheduling is disabled
|
2015-07-23 13:35:48 -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
|
146bdc3c93
|
TCB: Increase the size of the scheduling policy field from 1 to 2 bits to allow additional, planned scheduling policies
|
2015-07-23 10:15:07 -06:00 |
|
Gregory Nutt
|
e69d14d89b
|
Fix some warnings/errors detected by nuttx/tools/testbuilds.sh
|
2015-07-10 18:41:26 -06:00 |
|
Max Neklyudov
|
14e742b108
|
Implement WNOHANG for waitpid() only and for the case of CONFIG_SCHED_HAVE_PARENT not selected. From Max Neklyudov.
|
2015-07-02 09:34:58 -06:00 |
|
Gregory Nutt
|
b4423c1eed
|
Make some file section headers more consistent with standard
|
2015-04-08 06:47:36 -06:00 |
|
Gregory Nutt
|
af6d9e2684
|
sched: Do not use uninitialized boolean in waitpid(). From Juha Niskanen
|
2015-03-12 07:45:10 -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
|
1aa528a572
|
More fixes to problems noted by cppcheck. Some are kind of risky; some are real bugs.
|
2014-11-25 14:10:35 -06:00 |
|
Gregory Nutt
|
2da26f7884
|
More fixes to tickless operation, alarm/mode code. From Brandon Warhurst
|
2014-10-23 07:13:57 -06:00 |
|
Gregory Nutt
|
a7a5c8cff3
|
Fixes to tickless operation code. From Brandon Warhurst
|
2014-10-23 06:41:31 -06:00 |
|
Gregory Nutt
|
322f9f401c
|
Simplify how C source files are selected in the build
|
2014-10-07 07:42:36 -06:00 |
|
Gregory Nutt
|
1f2cc9f4fe
|
Complete re-implementation of mq_close
|
2014-09-29 15:33:34 -06:00 |
|
Gregory Nutt
|
701719b2ca
|
Don't release user stack in kernel build. Already destroyed with all of the address environment
|
2014-09-15 12:45:41 -06:00 |
|
Gregory Nutt
|
3649dab9bd
|
Initial integration of kernel stack (does not work)
|
2014-09-14 11:19:34 -06:00 |
|
Gregory Nutt
|
b4438e44c5
|
Restructuring of build to allow use of use-space allocators by kernel logic in the kernel build.
|
2014-09-02 11:22:09 -06:00 |
|
Gregory Nutt
|
64ab35b399
|
There used to be two ways to pass parameters to new tasks, depending upon the configuration: Either (1) argv[] as created as an array with each string strdup'ed. Or (1) argv[] array and strings were created on the stack before the new task was started. Now, there is only one way, way (1). Way (2) might be slightly more compact, but this is not worth carry the complexity of two different ways of doing the same thing.
|
2014-09-01 15:39:34 -06:00 |
|
Gregory Nutt
|
23147c40a5
|
Remove final traces of the 8015 from the NuttX source tree
|
2014-09-01 13:21:15 -06:00 |
|
Gregory Nutt
|
54fa3b0b59
|
Rename kfree to kmm_free for consistency with other naming conventions
|
2014-08-31 17:04:02 -06:00 |
|
Gregory Nutt
|
9ad7dae4c1
|
Rename kufree to kumm_free for consistency with other naming
|
2014-08-31 16:15:11 -06:00 |
|
Gregory Nutt
|
2904fb0420
|
Clean up some kernel build heap allocation issues. The Cortex-A kernel build now compiles without errors (but cannot link until brk() and sbrk() are implemented).
|
2014-08-31 12:50:05 -06:00 |
|
Gregory Nutt
|
e3ff0689bb
|
Rename CONFIG_NUTTX_KERNEL to CONFIG_BUILD_PROTECTED; Partially integrate new CONFIG_BUILD_KERNEL
|
2014-08-29 14:47:22 -06:00 |
|
Gregory Nutt
|
0ab1b0de25
|
nuttx/sched: Remove explicit references to errno. That is a problem from within the kernel for certain configurations
|
2014-08-28 17:00:24 -06:00 |
|
Gregory Nutt
|
1624e2fbcf
|
Change CONFIG_ADDRENV to CONFIG_ARCH_ADDRENV; change how it is selected -- the architecure must first declare support
|
2014-08-24 06:42:11 -06:00 |
|
Gregory Nutt
|
e79d6e3c8b
|
A few fixes for compilation errors due to recent address environment fixes
|
2014-08-22 15:55:00 -06:00 |
|
Gregory Nutt
|
1d586e6136
|
An address environment is the property of a task group, not of a thread
|
2014-08-22 12:32:34 -06:00 |
|
Gregory Nutt
|
569a0815ca
|
Updated comments
|
2014-08-12 13:50:18 -06:00 |
|
Gregory Nutt
|
6546fa39c7
|
Tickless Stuff: Back out the risky timer operations when the ready-to-run list is modified. That is unsafe. An ugly workaround is just to keep an interval timer going all of the time with a minimum duration equal to the timeslice interval.
|
2014-08-12 11:12:00 -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
|
e1fc925705
|
Minor update to handling of timeslick delay on tast switches
|
2014-08-11 15:07:15 -06:00 |
|
Gregory Nutt
|
56196ecea1
|
Fix a computation error in the fix for the last computational error
|
2014-08-11 12:07:49 -06:00 |
|
Gregory Nutt
|
b4bbe354fd
|
Fix inaccurate time conversion. Remove MSEC_PER_TICK and convert uint32_t to uin64_t.
|
2014-08-11 11:14:40 -06:00 |
|
Gregory Nutt
|
649ef76f71
|
Timers: In Tickless mode, need to stop the interval timer before inserted a new delay into the timer list. Otherwise, the time is incorrect on the first entry of the list
|
2014-08-11 08:25:25 -06:00 |
|
Gregory Nutt
|
f2058fa271
|
Comment out reassessment of timer in the middle of context switches. Need to revisit
|
2014-08-11 07:05:47 -06:00 |
|
Gregory Nutt
|
1f28365f55
|
Part of the last incomplete change
|
2014-08-08 17:45:54 -06:00 |
|
Gregory Nutt
|
ccf4ed2148
|
Partial (non-working) checked in before the big, risky automated change
|
2014-08-08 17:29:44 -06:00 |
|