Commit Graph

1024 Commits

Author SHA1 Message Date
Gregory Nutt
efb86382c3 SMP: Back out deferred IRQ locking. This was accidentally merged into master and it looks like it is going to be more work than I thought to get it working again. Changes will go to the irqlock branch. 2016-12-24 19:53:37 -06:00
Gregory Nutt
3af6b2a9a6 Update a comment 2016-12-24 19:01:07 -06:00
Gregory Nutt
f55bad863b SMP: Fix logic error in last change: Deferred restoration of IRQ lock only applies if the context switch was on this CPU. 2016-12-24 18:52:58 -06:00
Gregory Nutt
36b676eea6 SMP sched_unlock: Should merging depend on g_cpu_irqlock or not? Let's at least be consistent. And don't use irqcount; use g_cpu_irqlock. 2016-12-24 13:45:11 -06:00
Gregory Nutt
d75a7643d0 Fix a trivial typo 2016-12-23 13:01:20 -06:00
Gregory Nutt
e6fff09ef8 Implement deferred IRQ locking. So far only form ARMv7-M. 2016-12-23 07:55:41 -06:00
Gregory Nutt
d648f9c8b4 Add task_testcancel() 2016-12-10 16:34:14 -06:00
Gregory Nutt
f132960789 Add task_setcanceltype() 2016-12-10 16:06:14 -06:00
Gregory Nutt
5fb207eb36 Add task_setcancelstate() 2016-12-10 15:16:46 -06:00
Gregory Nutt
698597a838 task_delete() now obeys all cancellation point semantics. 2016-12-10 14:39:19 -06:00
Gregory Nutt
6997cda1b5 Grrr... cloned typos! 2016-12-10 09:45:55 -06:00
Gregory Nutt
842ec7e612 ifdef out some non-reachable code 2016-12-10 09:43:04 -06:00
Gregory Nutt
b52e4e5ecd Move cancellation point definitions to their own header file. 2016-12-10 09:08:26 -06:00
Gregory Nutt
bc3ca25cc7 Cancellation points: Close up some logic to eliminte some race conditions. 2016-12-10 08:36:58 -06:00
Gregory Nutt
e62b3bccd3 pthread_setcanceltype() and pthread_testcancel() do not have to be system calls if cancellation points are not enabled. 2016-12-10 07:40:48 -06:00
Gregory Nutt
a0f567f4a3 Update TODO, cosmetic changes, spelling -- US English spells it canceled and canceling vs cancelled and cancelling. No idea why. 2016-12-09 18:39:40 -06:00
Gregory Nutt
018eb7c1d2 Cancellation points no longer depend on EXPERIMENTAL 2016-12-09 17:44:37 -06:00
Gregory Nutt
a76e729b0d Trivial, cosmetic 2016-12-09 17:27:57 -06:00
Gregory Nutt
113d8bdcca Fix some SMP-related compilation errors 2016-12-09 17:10:59 -06:00
Gregory Nutt
78cdc9f113 Fix a typo in a debug assertion. 2016-12-09 16:59:10 -06:00
Gregory Nutt
7ee0862e67 Merge remote-tracking branch 'origin/master' into cancelpt 2016-12-09 16:54:15 -06:00
Gregory Nutt
b07964461e pthread_mutex_destroy(): Fix an error in destorynig a mutex which can occur after a pthread has been canceled while holding the mutex. 2016-12-09 16:53:29 -06:00
Gregory Nutt
7fce8022c6 Finishes all cancellation point logic 2016-12-09 16:50:34 -06:00
Gregory Nutt
d8783a7345 Update Documentation 2016-12-09 14:41:54 -06:00
Gregory Nutt
3eba0acb1c More cancellation points. 2016-12-09 13:49:36 -06:00
Gregory Nutt
c9ca97b4b5 cancellation points are basically function. More tested is needed and additional cancellation points must be implemented before this can be merged back to master. 2016-12-09 12:01:18 -06:00
Gregory Nutt
018db84567 Flesh out more cancellation point logic. 2016-12-09 10:31:40 -06:00
Gregory Nutt
d35e589d56 Flesh basic cancellation point support 2016-12-09 09:44:23 -06:00
Gregory Nutt
82a79b9c1b Add framework for cancellation point support. 2016-12-09 08:13:28 -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
ab43681f15 Update TODO and some comments. 2016-12-08 10:24:40 -06:00
Gregory Nutt
a1fbc2ad0d pthreads: Add pthread_cleanup_push() and pthread_cleanup_pop() 2016-12-08 09:27:13 -06:00
Gregory Nutt
7632dfd6c7 Update some comments. 2016-12-08 07:52:02 -06:00
Gregory Nutt
a7b688e87b sched notes: Add additional note to see if/when CPU is started in SMP mode. 2016-12-07 09:08:20 -06:00
Gregory Nutt
9ed0387379 Olimex-LPC1766-STK: Enable procfs in NSH configuration. Automount /proc on startup. 2016-12-05 08:52:40 -06:00
Masayuki Ishikawa
13c9031a8d Fix DEBUGASSERT() in group_signal.c 2016-12-04 06:52:08 -06:00
Gregory Nutt
b78c3fcc30 Finish backing out previous change 2016-11-30 08:13:43 -06:00
Gregory Nutt
e6eb2e8bfa Back out the last change. I just noticed some complexities that need to be verified before this is released onto the world. 2016-11-30 07:41:48 -06:00
Gregory Nutt
8453343426 scheduler instrumentation: Add a little more protection for the SMP case 2016-11-30 07:24:15 -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
e3fe320e08 SMP: Add support for linking spinlocks into a special, non-cached memory region. 2016-11-26 08:47:03 -06:00
Gregory Nutt
1d06e786e1 SMP: Clean-up and simplication of logic that I implemented late last night. 2016-11-26 07:05:27 -06:00
Gregory Nutt
a0e1af2614 SMP: Fix yet another potential deadlock 2016-11-25 23:04:27 -06:00
Gregory Nutt
eb9f8074c0 Update comments 2016-11-24 09:56:43 -06:00
Gregory Nutt
7bec4ffeec Update some comments 2016-11-23 17:40:01 -06:00
Gregory Nutt
d4037a30aa Update some comments 2016-11-23 13:20:18 -06:00
Gregory Nutt
f90525a5d1 SMP: Update some comments; trivial improvement by inlining static function. 2016-11-22 16:48:57 -06:00