Anton D. Kachalov
|
f62ca5b01a
|
Compilation fixup: change "|=" -> "!="
Signed-off-by: Anton D. Kachalov <mouse@yandex-team.ru>
|
2015-08-03 19:43:59 +03:00 |
|
Gregory Nutt
|
15db2a45a4
|
drivers/net/slip.c: Fix another compilation error
|
2015-08-02 07:20:36 -06:00 |
|
Gregory Nutt
|
3a109315ed
|
Fix a logic error in last change to sem_tickwait()
|
2015-08-01 16:00:23 -06:00 |
|
Gregory Nutt
|
ffec6124f2
|
Add a start time to sem_tickwait() to account for any elapsed time before the timer is actually started
|
2015-08-01 14:57:31 -06:00 |
|
Gregory Nutt
|
030573ba5c
|
More improvements to the sporadic scheduler
|
2015-08-01 09:08:48 -06:00 |
|
Gregory Nutt
|
12cbe147a0
|
Forget to add files before last commit
|
2015-08-01 07:34:27 -06:00 |
|
Gregory Nutt
|
2c66e0eb2a
|
sem_tickwait(): Add a new, non-standard function to perform timed semaphore waits. It is functionally equialent to the standard sem_timedwait(), but more efficient for use in higher performance device drivers. Requested by Max Neklyudov
|
2015-08-01 07:31:09 -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 |
|
Anton D. Kachalov
|
4a16bc6924
|
[sched/pthread/pthread_kill] Add missed header for enabled CONFIG_SCHED_HAVE_PARENT
Signed-off-by: Anton D. Kachalov <mouse@yandex-team.ru>
|
2015-07-30 18:51:37 +03: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
|
ed031388ad
|
sched/Kconfig: The sporadic scheduler option is no longer EXPERIMENTAL
|
2015-07-24 14:19:18 -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
|
13e837b957
|
Merge remote-tracking branch 'origin/master' into sporadic
|
2015-07-23 11:25:52 -06:00 |
|
Gregory Nutt
|
aa90da2bc8
|
pthread_create: Fix an (unlikely) error in fallback value in the event of a failure (which should never occur)
|
2015-07-23 11:25:25 -06:00 |
|
Gregory Nutt
|
2b3aae0ddc
|
Add basic configuration options for SCHED_SPORADIC
|
2015-07-23 10:33:30 -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 |
|
Jussi Kivilinna
|
13d9383679
|
Group binding needs to be cleared before sched_releasetcb(), as otherwise group_leave() will be called and group->tg_nmembers decremented or group being released. group_leave() should be called only after group_join() is called, not after group_bind(). From Jussi Kivilinna.
|
2015-07-01 06:24:34 -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 |
|
Max Neklyudov
|
61af0d511f
|
Use up_timer_gettime for CLOCK_MONOTONIC in tickless mode. From Max Neklyudov.
|
2015-06-22 06:37:26 -06:00 |
|
Juha Niskanen
|
e1846dff82
|
sched/pthread: Implement pthread_mutex_trylock() for recursive mutexes
|
2015-06-16 08:32:20 -06:00 |
|
Juha Niskanen
|
d16053c33c
|
sched/pthread: Use -1 instead of 0 as PID for unclaimed mutexes
|
2015-06-16 08:27:38 -06:00 |
|
Gregory Nutt
|
d8db596b3b
|
POSIX message queues: Move mq_setattr() and mq_getattr() from nuttx/libc/mqueue to nuttx/sched/mqueue. Also add sysyscall support for mq_setattr() and mq_getattr(). This is necessary in protected and kernel builds because in those cases the message queue structure is protect and cannot be accessed directly from user mode code. Noted by Jouko Holopainen.
|
2015-06-03 09:24:17 -06:00 |
|