summaryrefslogtreecommitdiffstats
path: root/cpukit/score (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Fix semaphore post overflow statusSebastian Huber2016-05-262-2/+3
| | | | Close #2720.
* posix: Fix pthread_spin_unlock() error statusSebastian Huber2016-05-252-15/+6
| | | | Close #2719.
* score: Move thread queue MP callout to contextSebastian Huber2016-05-2533-965/+678
| | | | | | | | Drop the multiprocessing (MP) dependent callout parameter from the thread queue extract, dequeue, flush and unblock methods. Merge this parameter with the lock context into new structure Thread_queue_Context. This helps to gets rid of the conditionally compiled method call helpers.
* score: Get rid of mp_id parameterSebastian Huber2016-05-2523-133/+22
| | | | | Get rid of the mp_id parameter used for some thread queue methods. Use THREAD_QUEUE_QUEUE_TO_OBJECT() instead.
* score: Move thread queue object supportSebastian Huber2016-05-253-26/+29
|
* mpci: Fix thread queue flush methodSebastian Huber2016-05-256-97/+56
| | | | | | | We must call the MP callout for proxies if we unblock them after a thread queue extraction. This was missing in _Thread_queue_Flush_critical(). Move thread remove timer and unblock code to new function _Thread_Remove_timer_and_unblock().
* score/i386: Fix printk format warnings.Chris Johns2016-05-251-5/+7
|
* cpukit, testsuite: Add rtems_printf and rtems_printer support.Chris Johns2016-05-251-17/+13
| | | | | | | | | | | | | | | | | | | This change adds rtems_printf and related functions and wraps the RTEMS print plugin support into a user API. All references to the plugin are removed and replaced with the rtems_printer interface. Printk and related functions are made to return a valid number of characters formatted and output. The function attribute to check printf functions has been added to rtems_printf and printk. No changes to remove warrnings are part of this patch set. The testsuite has been moved over to the rtems_printer. The testsuite has a mix of rtems_printer access and direct print control via the tmacros.h header file. The support for begink/endk has been removed as it served no purpose and only confused the code base. The testsuite has not been refactored to use rtems_printf. This is future work.
* score: Fix blocking _CORE_message_queue_Submit()Sebastian Huber2016-05-242-4/+3
| | | | Close #2718.
* score: _CORE_message_queue_Seize()Sebastian Huber2016-05-242-4/+0
| | | | Delete unused parameter.
* score: _CORE_semaphore_Seize()Sebastian Huber2016-05-202-3/+0
| | | | Delete unused parameter.
* Replace *_Get_interrupt_disable() with *_Get()Sebastian Huber2016-05-207-7/+7
| | | | | Uniformly use *_Get() to get an object by identifier with a lock context.
* score: Rename _Objects_Get_local()Sebastian Huber2016-05-206-6/+6
| | | | | | Rename _Objects_Get_local() into _Objects_Get(). Confusions with the previous _Objects_Get() function are avoided since the Objects_Locations parameter is gone.
* score: Delete unused _Objects_Get_isr_disable()Sebastian Huber2016-05-203-98/+1
| | | | Delete now unused Objects_Locations.
* mpci: Simplify _Objects_MP_Is_remote()Sebastian Huber2016-05-204-22/+20
|
* score: Add const to _RBTree_Find_inline()Sebastian Huber2016-05-201-8/+18
|
* score: Delete unused _Objects_Get_local_object()Sebastian Huber2016-05-201-27/+0
|
* score: Use _RBTree_Insert_inline()Sebastian Huber2016-05-203-42/+22
| | | | | | Use _RBTree_Insert_inline() for priority thread queues. Update #2556.
* score: Add per scheduler instance maximum prioritySebastian Huber2016-05-206-8/+22
| | | | | | | | | | | The priority values are only valid within a scheduler instance. Thus, the maximum priority value must be defined per scheduler instance. The first scheduler instance defines PRIORITY_MAXIMUM. This implies that RTEMS_MAXIMUM_PRIORITY and POSIX_SCHEDULER_MAXIMUM_PRIORITY are only valid for threads of the first scheduler instance. Further API/implementation changes are necessary to fix this. Update #2556.
* score: Remove the Giant lockSebastian Huber2016-05-207-427/+0
| | | | Update #2555.
* score: Rename _ISR_Flash() into _ISR_Local_flash()Sebastian Huber2016-05-202-3/+3
| | | | | | This is a preparation to remove the Giant lock. Update #2555.
* score: Rename _ISR_Disable() and _ISR_Enable()Sebastian Huber2016-05-2012-101/+65
| | | | | | | | | Rename _ISR_Disable() into _ISR_Local_disable(). Rename _ISR_Enable() into _ISR_Local_enable(). Remove _Debug_Is_owner_of_giant(). This is a preparation to remove the Giant lock. Update #2555.
* score: Rename _ISR_Disable_without_giant()Sebastian Huber2016-05-2016-44/+44
| | | | | | | | | Rename _ISR_Disable_without_giant() into _ISR_Local_disable(). Rename _ISR_Enable_without_giant() into _ISR_Local_enable(). This is a preparation to remove the Giant lock. Update #2555.
* score: _Thread_Dispatch_increment_disable_level()Sebastian Huber2016-05-203-4/+16
| | | | | | | | | | Avoid _Thread_Dispatch_increment_disable_level() and _Thread_Dispatch_decrement_disable_level() and thus the Giant lock. This is a preparation to remove the Giant lock. Update #2555.
* score: Avoid Giant _Objects_Extend_information()Sebastian Huber2016-05-201-5/+4
| | | | | | | Avoid Giant lock for _Objects_Extend_information(). Update #2280. Update #2555.
* score: Delete unused _Objects_Get()Sebastian Huber2016-05-204-182/+18
| | | | Update #2555.
* score: Delete unused _Thread_Get()Sebastian Huber2016-05-202-48/+0
| | | | Update #2555.
* posix: Rework thread cancellationSebastian Huber2016-05-203-4/+12
| | | | | | | | Add Thread_Life_state::THREAD_LIFE_CHANGE_DEFERRED and rework the POSIX thread cancellation to use the thread life states. Update #2555. Update #2626.
* score: Avoid Giant lock for _Thread_Start()Sebastian Huber2016-05-204-27/+26
| | | | Update #2555.
* posix: Rework pthread_join()Sebastian Huber2016-05-204-7/+127
| | | | | | | | | Rework pthread_join() to use _Thread_Join(). Close #2402. Update #2555. Update #2626. Close #2714.
* score: Simplify _Thread_Life_action_handler()Sebastian Huber2016-05-203-68/+29
| | | | | | | | Use _Thread_Change_life_locked() to avoid duplicated code. Avoid Giant lock in _Thread_Life_action_handler(). Update #2555. Update #2626.
* score: Rework _Thread_Cancel()Sebastian Huber2016-05-201-54/+31
| | | | | | | Rework _Thread_Cancel() to use _Thread_Change_life_locked(). Update #2555. Update #2626.
* score: Rework _Thread_Restart_other()Sebastian Huber2016-05-203-11/+86
| | | | | | | | | Rework _Thread_Restart_other() to use _Thread_Change_life_locked(). Cope with concurrent change requests by means of a pending request counter. Update #2555. Update #2626.
* score: Split _Thread_Restart()Sebastian Huber2016-05-203-47/+95
| | | | | | | | | | | Split _Thread_Restart() into _Thread_Restart_self() and _Thread_Restart_other(). Move content of existing _Thread_Restart_self() into new _Thread_Restart_self(). Avoid Giant lock for thread restart. _Thread_Restart_self() is a no-return function and used by _Thread_Global_construction(). Update #2555. Update #2626.
* score: Add _Thread_Dispatch_disable_with_CPU()Sebastian Huber2016-05-201-5/+23
| | | | | Update #2555. Update #2626.
* score: Add _Thread_Clear_state_locked()Sebastian Huber2016-05-202-5/+21
| | | | | | | | This makes it possible to do thread state and thread life changes together under protection of the thread state lock. Update #2555. Update #2626.
* score: Add _Thread_Set_state_locked()Sebastian Huber2016-05-202-6/+22
| | | | | | | | This makes it possible to do thread state and thread life changes together under protection of the thread state lock. Update #2555. Update #2626.
* score: Add _Thread_Join() and _Thread_Cancel()Sebastian Huber2016-05-204-31/+70
| | | | | | | | Split _Thread_Close() into _Thread_Join() and _Thread_Cancel() to prepare for a re-use in pthread_join() and pthread_cancel(). Update #2555. Update #2626.
* score: Rework _Thread_Exit()Sebastian Huber2016-05-201-4/+16
| | | | | | | Rework _Thread_Exit() to use _Thread_Change_life_locked(). Update #2555. Update #2626.
* score: Add _Thread_Raise_real_priority()Sebastian Huber2016-05-201-14/+16
| | | | | Update #2555. Update #2626.
* score: Add Thread_Change_life()Sebastian Huber2016-05-206-57/+73
| | | | | | | | | Add _Thread_Change_life_locked() as a general function to alter the thread life state. Use it to implement _Thread_Set_life_protection() as a first step. Update #2555. Update #2626.
* score: Delete unused variableSebastian Huber2016-05-201-6/+3
| | | | | Update #2555. Update #2626.
* score: Avoid superfluous life protectionSebastian Huber2016-05-201-3/+0
| | | | | | | | Disable thread dispatching is enough to prevent deletion of the executing thread. There is no need for an additional life protection. Update #2555. Update #2626.
* score: Add _Thread_Exit()Sebastian Huber2016-05-202-4/+16
| | | | | | | | The goal is to make _Thread_Exit() a no-return function in follow up patches. Update #2555. Update #2626.
* score: Delete redundant thread life enumsSebastian Huber2016-05-202-6/+6
| | | | | | | This makes it easier to add more states in the future. Update #2555. Update #2626.
* SMP: Add Mellor-Crummey and Scott (MCS) lockSebastian Huber2016-05-193-0/+267
| | | | | | | | | | Added only for evaluation purposes. We have to compare the performance against the ticket lock on the interesting platforms via smptests/smplock01. The following GCC shortcoming affects the MCS lock: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66867
* SMP: Add and use lock statistics helperSebastian Huber2016-05-192-28/+54
|
* SMP: Move ticket lock to separate header fileSebastian Huber2016-05-194-160/+208
|
* SMP: Move lock stats to separate header fileSebastian Huber2016-05-195-333/+397
|
* score: Avoid Giant lock for scheduler set/getSebastian Huber2016-05-123-14/+62
| | | | Update #2555.