Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Enable configuration of thread setting for all threads (#4013)
* Setting infraestructure for naming threads (#3821) * Refs #19375. Added internal header for threading utilities. Signed-off-by: Miguel Company <[email protected]> * Refs #19375. Added empty implementation for set_name_to_current_thread. Signed-off-by: Miguel Company <[email protected]> * Refs #19375. Added name on Log thread. Signed-off-by: Miguel Company <[email protected]> * Refs #19375. Added name on shm watchdog thread. Signed-off-by: Miguel Company <[email protected]> * Refs #19375. Added name for filewatch threads. Signed-off-by: Miguel Company <[email protected]> * Refs #19375. Added name on ResourceEvent threads. Signed-off-by: Miguel Company <[email protected]> * Refs #19375. Added name on udp reception thread. Signed-off-by: Miguel Company <[email protected]> * Refs #19375. Added name on shm reception thread. Signed-off-by: Miguel Company <[email protected]> * Refs #19375. Added name on data-sharing reception thread. Signed-off-by: Miguel Company <[email protected]> * Refs #19375. Added name for TCP threads. Signed-off-by: Miguel Company <[email protected]> * Refs #19375. Added name on FlowController thread. Signed-off-by: Miguel Company <[email protected]> * Refs #19375. Added name for SHM dump threads. Signed-off-by: Miguel Company <[email protected]> * Refs #19375. Added initialization callback to LogTopic. Signed-off-by: Miguel Company <[email protected]> * Refs #19375. SecurityManager refactor to receive plugin factory by dependency injection. Signed-off-by: Miguel Company <[email protected]> * Refs #19375. Allow easy overload of creation of builtin plugins. Signed-off-by: Miguel Company <[email protected]> * Refs #19375. RTPSParticipantImpl configures the logging thread. Signed-off-by: Miguel Company <[email protected]> * Refs #19375. Uncrustify. Signed-off-by: Miguel Company <[email protected]> --------- Signed-off-by: Miguel Company <[email protected]> * Platform implementations for set_name_to_current_thread (#3823) * Refs #17492. Added pthread implementation for set_name_to_current_thread Signed-off-by: Miguel Company <[email protected]> * Refs #17492. Added implementation for Windows. Signed-off-by: Miguel Company <[email protected]> * Refs #17492. Added implementation for Mac. Signed-off-by: Miguel Company <[email protected]> * Refs #17492. Added doxygen to threading.hpp Signed-off-by: Miguel Company <[email protected]> * Refs #17492. Using pthread implementation for Android. Signed-off-by: Miguel Company <[email protected]> * Refs #17492. Fix build error on snprintf. Signed-off-by: Miguel Company <[email protected]> --------- Signed-off-by: Miguel Company <[email protected]> * Add ThreadSettings to Qos (#3848) * Refs #19377: Add ThreadSettings struct Signed-off-by: Eduardo Ponz <[email protected]> * Refs #19377: Add ThreadSetting to Log API Signed-off-by: Eduardo Ponz <[email protected]> * Refs #19377: Add ThreadSetting to DomainParticipantFactoryQos Signed-off-by: Eduardo Ponz <[email protected]> * Refs #19377: Add ThreadSetting to DomainParticipantQos Signed-off-by: Eduardo Ponz <[email protected]> * Refs #19377: Add ThreadSetting to TransportConfigQos Signed-off-by: Eduardo Ponz <[email protected]> * Refs #19377: Add ThreadSetting to TransportDescriptorInterface Signed-off-by: Eduardo Ponz <[email protected]> * Refs #19377: Add ThreadSetting to SharedMemTransportDescriptor Signed-off-by: Eduardo Ponz <[email protected]> * Refs #19377: Add ThreadSetting to FlowControllerDescriptor Signed-off-by: Eduardo Ponz <[email protected]> * Refs #19377: Add ThreadSetting to DataReaderQos Signed-off-by: Eduardo Ponz <[email protected]> * Refs #19377: Add ThreadSetting to DomainParticipantQos for builtin flow controllers Signed-off-by: Eduardo Ponz <[email protected]> * Refs #19377: Address Miguel's comments in DomainParticipant Signed-off-by: EduPonz <[email protected]> * Refs #19377: Address Miguel's comments in DataReader Signed-off-by: EduPonz <[email protected]> * Refs #19377: Address Miguel's comments in ParticipantTests Signed-off-by: EduPonz <[email protected]> * Refs #19377: Address Miguel's comments in QosConverters Signed-off-by: EduPonz <[email protected]> * Refs #19377: Address Miguel's comments in Transport descriptors Signed-off-by: EduPonz <[email protected]> * Refs #19377: Address Miguel's comments in DataReaderTests Signed-off-by: EduPonz <[email protected]> * Refs #19377: Address Miguel's comments in RTPSParticipantAttibutes Signed-off-by: EduPonz <[email protected]> * Refs #19377: Address Miguel's comments in PortBasedTransportDescriptor Signed-off-by: EduPonz <[email protected]> * Refs #19377: Add builtin_controllers_sender_thread to UpdatableDomainParticipantQos Signed-off-by: EduPonz <[email protected]> * Refs #19377: Refactor PortBasedTransportDescriptor accessors Signed-off-by: EduPonz <[email protected]> * Refs #19377: Add TCP related thread settings Signed-off-by: EduPonz <[email protected]> * Refs #19377: Add data_sharing_listener_thread to ReaderAttributes Signed-off-by: EduPonz <[email protected]> * Refs #19377: Fix windows warning Signed-off-by: EduPonz <[email protected]> --------- Signed-off-by: Eduardo Ponz <[email protected]> Signed-off-by: EduPonz <[email protected]> * Apply thread settings (#3874) * Refs #19436. Added thread creation wrapper infrastructure. Signed-off-by: Miguel Company <[email protected]> * Refs #19436. Added empty implementation for apply_thread_settings_to_current_thread. Signed-off-by: Miguel Company <[email protected]> * Refs #19436. Refactor on Log.cpp Signed-off-by: Miguel Company <[email protected]> * Refs #19436. Add implementation for setting scheduler and priority. Signed-off-by: Miguel Company <[email protected]> * Refs #19436. Add implementation for setting cpu affinity. Signed-off-by: Miguel Company <[email protected]> * Refs #19436. Add test setting config for Log thread. Signed-off-by: Miguel Company <[email protected]> * Refs #19436. Fix SystemInfoTests link issue. Signed-off-by: Miguel Company <[email protected]> * Refs #19436. Changes on ResourceEvent. Signed-off-by: Miguel Company <[email protected]> * Refs #19436. Changes on DataSharingListener. Signed-off-by: Miguel Company <[email protected]> * Refs #19436. Changes on FlowControllerImpl. Signed-off-by: Miguel Company <[email protected]> * Refs #19436. Changes on security LogTopic. Signed-off-by: Miguel Company <[email protected]> * Refs #19436. Apply settings on SharedMemWatchdog. Signed-off-by: Miguel Company <[email protected]> * Refs #19436. Apply settings on SharedMem reception threads. Signed-off-by: Miguel Company <[email protected]> * Refs #19436. Apply settings on SharedMem packet dump threads. Signed-off-by: Miguel Company <[email protected]> * Refs #19436. Apply settings on UDP reception threads. Signed-off-by: Miguel Company <[email protected]> * Refs #19436. Apply settings on TCP accept and keep_alive threads. Signed-off-by: Miguel Company <[email protected]> * Refs #19436. Apply settings on TCP reception threads. Signed-off-by: Miguel Company <[email protected]> * Refs #19436. Include what you use. Signed-off-by: Miguel Company <[email protected]> * Refs #19436. Add MacOS implementation for setting scheduler and priority. Signed-off-by: Miguel Company <[email protected]> * Refs #19436. Add MacOS implementation for setting thread affinity. Signed-off-by: Miguel Company <[email protected]> * Refs #19437. Member cpu_mask changed to affinity and made it 64 bits. Signed-off-by: Miguel Company <[email protected]> * Refs #19437. Windows implementation for thread affinity. Signed-off-by: Miguel Company <[email protected]> * Refs #19437. Windows implementation for thread priority. Signed-off-by: Miguel Company <[email protected]> * Refs #19436. Made `get_thread_config_for_port` a const method. Signed-off-by: Miguel Company <[email protected]> * Refs #19436. Apply suggestions from code review. Signed-off-by: Miguel Company <[email protected]> Co-authored-by: Eduardo Ponz Segrelles <[email protected]> * Refs #19435. Some refactors on FileWatch: - Namespace moved to eprosima::filewatch - Constructor receives thread settings - Copy constructors deleted Signed-off-by: Miguel Company <[email protected]> * Refs #19435. SystemInfo::watch_file receives thread settings. Signed-off-by: Miguel Company <[email protected]> * Refs #19435. Added RTPSDomain::set_filewatch_thread_config Signed-off-by: Miguel Company <[email protected]> * Refs #19435. Call RTPSDomain::set_filewatch_thread_config inside DomainParticipantFactory::create_participant Signed-off-by: Miguel Company <[email protected]> * Refs #19435. Change priority default value. Signed-off-by: Miguel Company <[email protected]> * Refs #19435. Account for default values in threading_pthread Signed-off-by: Miguel Company <[email protected]> * Refs #19435. Account for default values in threading_osx Signed-off-by: Miguel Company <[email protected]> * Refs #19435. Account for default values in threading_win32 Signed-off-by: Miguel Company <[email protected]> * Refs #19435. Linters. Signed-off-by: Miguel Company <[email protected]> * Refs #19435. Use C++ headers. Signed-off-by: Miguel Company <[email protected]> * Refs #19435. Documentation updates. Signed-off-by: Miguel Company <[email protected]> * Refs #19435. Suggestions on Log test. Signed-off-by: Miguel Company <[email protected]> * Refs #19435. Removed unused overload of create_thread. Signed-off-by: Miguel Company <[email protected]> --------- Signed-off-by: Miguel Company <[email protected]> Co-authored-by: Eduardo Ponz Segrelles <[email protected]> * Add XML support for ThreadSettings (#3922) * Refs #19378: Add threadSettingsTypes to XSD schema Signed-off-by: EduPonz <[email protected]> * Refs #19378: Add unit test for parsing thread_settings XML elements Signed-off-by: EduPonz <[email protected]> * Refs #19378: Add getXMLThreadSettings to XMLElementParser Signed-off-by: EduPonz <[email protected]> * Refs #19378: Add Log test cases to XMLProfileParserBasicTests.thread_settings_qos test Signed-off-by: EduPonz <[email protected]> * Refs #19378: Add XML ThreadSettings config to Log Signed-off-by: EduPonz <[email protected]> * Refs #19378: Add domainparticipant_factory XML tag tests Signed-off-by: EduPonz <[email protected]> * Refs #19378: Add domainparticipant_factory XSD Signed-off-by: EduPonz <[email protected]> * Refs #19378: Add XML ThreadSettings config to DomainParticipantFactory Signed-off-by: EduPonz <[email protected]> * Refs #19378: Add getXMLEntityFactoryQos unit test Signed-off-by: EduPonz <[email protected]> * Refs #19378: Add domainparticipant XML thread settings tests Signed-off-by: EduPonz <[email protected]> * Refs #19378: Add XML ThreadSettings config to DomainParticipant Signed-off-by: EduPonz <[email protected]> * Refs #19378: Uncrustify Signed-off-by: EduPonz <[email protected]> * Refs #19378: Add parseXMLReceptionThreads API & unit test Signed-off-by: EduPonz <[email protected]> * Refs #19378: Add transport descriptor XML thread settings tests Signed-off-by: EduPonz <[email protected]> * Refs #19378: Add parseXMLReceptionThreads implementation Signed-off-by: EduPonz <[email protected]> * Refs #19378: Add transport descriptor XML thread settings config Signed-off-by: EduPonz <[email protected]> * Refs #19378: Add datareader XML thread settings tests Signed-off-by: EduPonz <[email protected]> * Refs #19378: Add datareader XML thread settings Signed-off-by: EduPonz <[email protected]> * Refs #19378: Add builtin_transports_reception_threads to domainparticipant XML test Signed-off-by: EduPonz <[email protected]> * Refs #19378: Add builtin_transports_reception_threads to domainparticipant XML Signed-off-by: EduPonz <[email protected]> * Refs #19378: Fix Windows warning regarding sscanf Signed-off-by: EduPonz <[email protected]> * Refs #19378: Fix flow controllers unittests build when using Fast CDR as thirdparty Signed-off-by: EduPonz <[email protected]> * Refs #19378: Apply Miguel's suggestions Signed-off-by: EduPonz <[email protected]> * Refs #19378: Apply some other suggestions Signed-off-by: EduPonz <[email protected]> * Refs #19378. OSx has neither `SCHED_BATCH` nor `SCHED_IDLE` Signed-off-by: Miguel Company <[email protected]> * Refs #19378. Check result on pthread_setschedparam Signed-off-by: Miguel Company <[email protected]> * Refs #19378. Add include on `threading_osx.ipp` Signed-off-by: Miguel Company <[email protected]> * Refs #19378. Avoid using gettid on `threading_osx.ipp` Signed-off-by: Miguel Company <[email protected]> * Refs #19378: Fix mac warning Signed-off-by: EduPonz <[email protected]> --------- Signed-off-by: EduPonz <[email protected]> Signed-off-by: Miguel Company <[email protected]> Co-authored-by: Miguel Company <[email protected]> * Fix doxygen (#3987) Signed-off-by: EduPonz <[email protected]> * Parse missing TCPTransportDescriptor XML elements (#4001) * Refs #19378: Set DomainParticipantFactoryQos when loading profiles Signed-off-by: EduPonz <[email protected]> * Refs #19378: Parse missing TCPTransportDescriptor XML elements Signed-off-by: EduPonz <[email protected]> --------- Signed-off-by: EduPonz <[email protected]> * Custom eprosima::thread class that allows setting the stack size (#4000) * Refs #19797. Initial refactor. eprosima::thread inherits from std::thread. Signed-off-by: Miguel Company <[email protected]> * Refs #19797. Update code in ResourceEvent. Signed-off-by: Miguel Company <[email protected]> * Refs #19797. Using eprosima::thread instead of std::thread. Signed-off-by: Miguel Company <[email protected]> * Refs #19797. Include `<thread>` where `std::this_thread` is used. Signed-off-by: Miguel Company <[email protected]> * Refs #19797. Copy basic eprosima::thread implementation into ipp files. Signed-off-by: Miguel Company <[email protected]> * Refs #19797. Select ipp file depending on platform. Signed-off-by: Miguel Company <[email protected]> * Refs #19797. Copy windows implementation on `thread_impl_win32.ipp` Signed-off-by: Miguel Company <[email protected]> * Refs #19797. Added `is_calling_thread method`. Signed-off-by: Miguel Company <[email protected]> * Refs #19797. Using `is_calling_thread` instead of comparing ids. Signed-off-by: Miguel Company <[email protected]> * Refs #19797. Using stack size argument. Signed-off-by: Miguel Company <[email protected]> * Refs #19797. Update test. Signed-off-by: Miguel Company <[email protected]> * Refs #19797. Implementation for pthread based platforms. Signed-off-by: Miguel Company <[email protected]> * Refs #19797. Use pthread based implementation on Mac. Signed-off-by: Miguel Company <[email protected]> * Refs #19797. Change windows implementation approach. Signed-off-by: Miguel Company <[email protected]> * Refs #19797. Factor out common code. Signed-off-by: Miguel Company <[email protected]> * Refs #19797. Linter Signed-off-by: Miguel Company <[email protected]> * Refs #19797. Use local `swap` method. Signed-off-by: Miguel Company <[email protected]> * Refs #19797. Pass 0 value to `pthread_attr_setstacksize`. Signed-off-by: Miguel Company <[email protected]> * Refs #19797. Linter Signed-off-by: Miguel Company <[email protected]> * Refs #19797. Improve include what you use. Signed-off-by: Miguel Company <[email protected]> * Refs #19797. Add missing includes Signed-off-by: EduPonz <[email protected]> * Refs #19797. Fix thread settings on dds unit test xml profiles. Signed-off-by: Miguel Company <[email protected]> --------- Signed-off-by: Miguel Company <[email protected]> Signed-off-by: EduPonz <[email protected]> Co-authored-by: EduPonz <[email protected]> * Refs #19907: Add feature to versions.md Signed-off-by: EduPonz <[email protected]> --------- Signed-off-by: Miguel Company <[email protected]> Signed-off-by: Eduardo Ponz <[email protected]> Signed-off-by: EduPonz <[email protected]> Co-authored-by: Miguel Company <[email protected]>
- Loading branch information