ha/service-mgmt/sm/src
Matheus Guilhermino fd75850f12 Deployment Optimizations: SM throttling disable
The SM throttling is a feature that limits the number of parallel
service-enabling processes at a time. The SM throttling mechanism is
always ON, during and after startup. Whenever SM controlled services
transition to enabled status, it takes part of the process.

By default, the SM throttling allows a maximum of 2 parallel service
enabling processes at a time, but the throttling size is configurable,
by means of the field ENABLING_THROTTLE from the CONFIGURATION table in
the SM-DB database. Hence, it is possible to disable the SM throttling
by increasing the throttling size to a reasonable big enough value,
such way to enable full capacity of parallel service enabling.

This commit improves system performance by disabling the SM throttling
for AIO-SX systems, while still keeping the SM throttling mechanism,
should it ever be needed as a fallback, for robustness reasons.

In order to evaluate the SM throttling feature, and its costs in terms
of performance, the throttling size was modified such way to disable the
feature, from value 2 to 1000, and a series of tests were conducted to
evaluate stability and performance benefits.

Test Plan:
  - Fresh Install and bootstrap (PASS)
  - Lock/Unlock (PASS)
  - Restart SM service (PASS)

Story: 2010802
Task: 48312

Change-Id: Ie96115293049e9939bc43feb2ad11432dd318323
Signed-off-by: Matheus Guilhermino <matheus.machadoguilhermino@windriver.com>
2023-09-14 14:31:20 -03:00
..
Makefile Add debian package for service-mgmt/sm 2021-10-28 15:16:08 -03:00
fm_api_wrapper.c Add PTHREAD_PRIO_PROTECT to sm mutexes 2023-03-02 20:49:17 +00:00
fm_api_wrapper.h Add PTHREAD_PRIO_PROTECT to sm mutexes 2023-03-02 20:49:17 +00:00
main.c Remove version from sm folder 2019-09-26 14:11:31 -05:00
service_status Remove version from sm folder 2019-09-26 14:11:31 -05:00
sm_alarm.c Add PTHREAD_PRIO_PROTECT to sm mutexes 2023-03-02 20:49:17 +00:00
sm_alarm.h Remove version from sm folder 2019-09-26 14:11:31 -05:00
sm_alarm_defs.h Remove version from sm folder 2019-09-26 14:11:31 -05:00
sm_alarm_thread.c Remove version from sm folder 2019-09-26 14:11:31 -05:00
sm_alarm_thread.h Remove version from sm folder 2019-09-26 14:11:31 -05:00
sm_api.c Add admin network support to SM 2023-02-14 15:14:28 +00:00
sm_api.h Add admin network support to SM 2023-02-14 15:14:28 +00:00
sm_cluster_hbs_info_msg.cpp Add PTHREAD_PRIO_PROTECT to sm mutexes 2023-03-02 20:49:17 +00:00
sm_cluster_hbs_info_msg.h Add PTHREAD_PRIO_PROTECT to sm mutexes 2023-03-02 20:49:17 +00:00
sm_configuration_table.c Remove version from sm folder 2019-09-26 14:11:31 -05:00
sm_configuration_table.h Remove version from sm folder 2019-09-26 14:11:31 -05:00
sm_configure.cpp Add admin network support to SM 2023-02-14 15:14:28 +00:00
sm_configure.h Add admin network support to SM 2023-02-14 15:14:28 +00:00
sm_failover.c Add failover state of peer to heartbeat msg 2023-04-14 08:14:07 -04:00
sm_failover.h Add failover state of peer to heartbeat msg 2023-04-14 08:14:07 -04:00
sm_failover_fail_pending_state.cpp Add failover state of peer to heartbeat msg 2023-04-14 08:14:07 -04:00
sm_failover_fail_pending_state.h Remove version from sm folder 2019-09-26 14:11:31 -05:00
sm_failover_failed_state.cpp Disable admin network failover behaviour 2023-08-01 12:08:56 -04:00
sm_failover_failed_state.h Add unhealthy state recovery audit to service management (sm) 2020-06-16 19:09:38 +00:00
sm_failover_fsm.cpp Add failover state of peer to heartbeat msg 2023-04-14 08:14:07 -04:00
sm_failover_fsm.h Add admin network support to SM 2023-02-14 15:14:28 +00:00
sm_failover_initial_state.cpp Add failover state of peer to heartbeat msg 2023-04-14 08:14:07 -04:00
sm_failover_initial_state.h Remove version from sm folder 2019-09-26 14:11:31 -05:00
sm_failover_normal_state.cpp Disable admin network failover behaviour 2023-08-01 12:08:56 -04:00
sm_failover_normal_state.h Remove version from sm folder 2019-09-26 14:11:31 -05:00
sm_failover_ss.c Add failover state of peer to heartbeat msg 2023-04-14 08:14:07 -04:00
sm_failover_ss.h Add failover state of peer to heartbeat msg 2023-04-14 08:14:07 -04:00
sm_failover_survived_state.cpp Add failover state of peer to heartbeat msg 2023-04-14 08:14:07 -04:00
sm_failover_survived_state.h Remove version from sm folder 2019-09-26 14:11:31 -05:00
sm_failover_utils.c Detect peer SM failure 2021-01-15 11:56:22 -05:00
sm_failover_utils.h Detect peer SM failure 2021-01-15 11:56:22 -05:00
sm_heartbeat.c Remove version from sm folder 2019-09-26 14:11:31 -05:00
sm_heartbeat.h Remove version from sm folder 2019-09-26 14:11:31 -05:00
sm_heartbeat_msg.c Add failover state of peer to heartbeat msg 2023-04-14 08:14:07 -04:00
sm_heartbeat_msg.h Add failover state of peer to heartbeat msg 2023-04-14 08:14:07 -04:00
sm_heartbeat_thread.c Add failover state of peer to heartbeat msg 2023-04-14 08:14:07 -04:00
sm_heartbeat_thread.h Add PTHREAD_PRIO_PROTECT to sm mutexes 2023-03-02 20:49:17 +00:00
sm_log.c Remove version from sm folder 2019-09-26 14:11:31 -05:00
sm_log.h Remove version from sm folder 2019-09-26 14:11:31 -05:00
sm_log_defs.h Remove version from sm folder 2019-09-26 14:11:31 -05:00
sm_log_thread.c Remove version from sm folder 2019-09-26 14:11:31 -05:00
sm_log_thread.h Remove version from sm folder 2019-09-26 14:11:31 -05:00
sm_main_event_handler.c Add admin network support to SM 2023-02-14 15:14:28 +00:00
sm_main_event_handler.h Remove version from sm folder 2019-09-26 14:11:31 -05:00
sm_msg.c Disable admin network failover behaviour 2023-08-01 12:08:56 -04:00
sm_msg.h Remove version from sm folder 2019-09-26 14:11:31 -05:00
sm_node_api.cpp Fix AIO-DX failover issues 2021-05-10 15:35:52 -04:00
sm_node_api.h Fix AIO-DX failover issues 2021-05-10 15:35:52 -04:00
sm_node_disabled_state.c Remove version from sm folder 2019-09-26 14:11:31 -05:00
sm_node_disabled_state.h Remove version from sm folder 2019-09-26 14:11:31 -05:00
sm_node_enabled_state.c Remove version from sm folder 2019-09-26 14:11:31 -05:00
sm_node_enabled_state.h Remove version from sm folder 2019-09-26 14:11:31 -05:00
sm_node_fsm.c Remove version from sm folder 2019-09-26 14:11:31 -05:00
sm_node_fsm.h Remove version from sm folder 2019-09-26 14:11:31 -05:00
sm_node_swact_monitor.cpp Remove version from sm folder 2019-09-26 14:11:31 -05:00
sm_node_swact_monitor.h Remove version from sm folder 2019-09-26 14:11:31 -05:00
sm_node_unknown_state.c Remove version from sm folder 2019-09-26 14:11:31 -05:00
sm_node_unknown_state.h Remove version from sm folder 2019-09-26 14:11:31 -05:00
sm_notify_api.c Remove version from sm folder 2019-09-26 14:11:31 -05:00
sm_notify_api.h Remove version from sm folder 2019-09-26 14:11:31 -05:00
sm_process.c Add PTHREAD_PRIO_PROTECT to sm mutexes 2023-03-02 20:49:17 +00:00
sm_process.h Remove version from sm folder 2019-09-26 14:11:31 -05:00
sm_process_death.c sm_process_death: Avoid redefinition errors due to kernel headers 2021-07-13 16:11:25 -04:00
sm_process_death.h Remove version from sm folder 2019-09-26 14:11:31 -05:00
sm_service_action.c Remove sm-watchdog service since NFS is now stable 2022-08-19 19:57:43 +00:00
sm_service_action.h Remove version from sm folder 2019-09-26 14:11:31 -05:00
sm_service_action_result_table.c Fix SQLite3 concurrent access issue 2021-03-18 11:08:27 -04:00
sm_service_action_result_table.h Remove version from sm folder 2019-09-26 14:11:31 -05:00
sm_service_action_table.c Fix SQLite3 concurrent access issue 2021-03-18 11:08:27 -04:00
sm_service_action_table.h Remove version from sm folder 2019-09-26 14:11:31 -05:00
sm_service_api.c Remove version from sm folder 2019-09-26 14:11:31 -05:00
sm_service_api.h Remove version from sm folder 2019-09-26 14:11:31 -05:00
sm_service_audit.c Remove version from sm folder 2019-09-26 14:11:31 -05:00
sm_service_audit.h Remove version from sm folder 2019-09-26 14:11:31 -05:00
sm_service_dependency.c Update rule of disable & standby dependency 2023-03-27 19:39:09 +00:00
sm_service_dependency.h Remove version from sm folder 2019-09-26 14:11:31 -05:00
sm_service_dependency_table.c Fix SQLite3 concurrent access issue 2021-03-18 11:08:27 -04:00
sm_service_dependency_table.h Remove version from sm folder 2019-09-26 14:11:31 -05:00
sm_service_disable.c Remove version from sm folder 2019-09-26 14:11:31 -05:00
sm_service_disable.h Remove version from sm folder 2019-09-26 14:11:31 -05:00
sm_service_disabled_state.c Remove version from sm folder 2019-09-26 14:11:31 -05:00
sm_service_disabled_state.h Remove version from sm folder 2019-09-26 14:11:31 -05:00
sm_service_disabling_state.c Remove version from sm folder 2019-09-26 14:11:31 -05:00
sm_service_disabling_state.h Remove version from sm folder 2019-09-26 14:11:31 -05:00
sm_service_domain_api.c Fix SQLite3 concurrent access issue 2021-03-18 11:08:27 -04:00
sm_service_domain_api.h Remove version from sm folder 2019-09-26 14:11:31 -05:00
sm_service_domain_assignment_table.c Remove version from sm folder 2019-09-26 14:11:31 -05:00
sm_service_domain_assignment_table.h Remove version from sm folder 2019-09-26 14:11:31 -05:00
sm_service_domain_backup_state.c Remove version from sm folder 2019-09-26 14:11:31 -05:00
sm_service_domain_backup_state.h Remove version from sm folder 2019-09-26 14:11:31 -05:00
sm_service_domain_filter.c Remove version from sm folder 2019-09-26 14:11:31 -05:00
sm_service_domain_filter.h Remove version from sm folder 2019-09-26 14:11:31 -05:00
sm_service_domain_fsm.c Remove version from sm folder 2019-09-26 14:11:31 -05:00
sm_service_domain_fsm.h Remove version from sm folder 2019-09-26 14:11:31 -05:00
sm_service_domain_initial_state.c Remove version from sm folder 2019-09-26 14:11:31 -05:00
sm_service_domain_initial_state.h Remove version from sm folder 2019-09-26 14:11:31 -05:00
sm_service_domain_interface_api.c Disable admin network failover behaviour 2023-08-01 12:08:56 -04:00
sm_service_domain_interface_api.h Add admin network support to SM 2023-02-14 15:14:28 +00:00
sm_service_domain_interface_disabled_state.c Remove version from sm folder 2019-09-26 14:11:31 -05:00
sm_service_domain_interface_disabled_state.h Remove version from sm folder 2019-09-26 14:11:31 -05:00
sm_service_domain_interface_enabled_state.c Remove version from sm folder 2019-09-26 14:11:31 -05:00
sm_service_domain_interface_enabled_state.h Remove version from sm folder 2019-09-26 14:11:31 -05:00
sm_service_domain_interface_fsm.c Remove version from sm folder 2019-09-26 14:11:31 -05:00
sm_service_domain_interface_fsm.h Remove version from sm folder 2019-09-26 14:11:31 -05:00
sm_service_domain_interface_not_in_use_state.c Add admin network support to SM 2023-02-14 15:14:28 +00:00
sm_service_domain_interface_not_in_use_state.h Remove version from sm folder 2019-09-26 14:11:31 -05:00
sm_service_domain_interface_table.c Remove version from sm folder 2019-09-26 14:11:31 -05:00
sm_service_domain_interface_table.h Remove version from sm folder 2019-09-26 14:11:31 -05:00
sm_service_domain_interface_unknown_state.c Skip verifying h/w info for Not-In-Use interface 2020-11-27 15:10:36 -05:00
sm_service_domain_interface_unknown_state.h Remove version from sm folder 2019-09-26 14:11:31 -05:00
sm_service_domain_leader_state.c Remove version from sm folder 2019-09-26 14:11:31 -05:00
sm_service_domain_leader_state.h Remove version from sm folder 2019-09-26 14:11:31 -05:00
sm_service_domain_member_table.c Fix SQLite3 concurrent access issue 2021-03-18 11:08:27 -04:00
sm_service_domain_member_table.h Remove version from sm folder 2019-09-26 14:11:31 -05:00
sm_service_domain_neighbor_down_state.c Remove version from sm folder 2019-09-26 14:11:31 -05:00
sm_service_domain_neighbor_down_state.h Remove version from sm folder 2019-09-26 14:11:31 -05:00
sm_service_domain_neighbor_exchange_start_state.c Remove version from sm folder 2019-09-26 14:11:31 -05:00
sm_service_domain_neighbor_exchange_start_state.h Remove version from sm folder 2019-09-26 14:11:31 -05:00
sm_service_domain_neighbor_exchange_state.c Remove version from sm folder 2019-09-26 14:11:31 -05:00
sm_service_domain_neighbor_exchange_state.h Remove version from sm folder 2019-09-26 14:11:31 -05:00
sm_service_domain_neighbor_fsm.c Remove version from sm folder 2019-09-26 14:11:31 -05:00
sm_service_domain_neighbor_fsm.h Remove version from sm folder 2019-09-26 14:11:31 -05:00
sm_service_domain_neighbor_full_state.c Remove version from sm folder 2019-09-26 14:11:31 -05:00
sm_service_domain_neighbor_full_state.h Remove version from sm folder 2019-09-26 14:11:31 -05:00
sm_service_domain_neighbor_table.c Remove version from sm folder 2019-09-26 14:11:31 -05:00
sm_service_domain_neighbor_table.h Remove version from sm folder 2019-09-26 14:11:31 -05:00
sm_service_domain_other_state.c Remove version from sm folder 2019-09-26 14:11:31 -05:00
sm_service_domain_other_state.h Remove version from sm folder 2019-09-26 14:11:31 -05:00
sm_service_domain_scheduler.c Fix SQLite3 concurrent access issue 2021-03-18 11:08:27 -04:00
sm_service_domain_scheduler.h Remove version from sm folder 2019-09-26 14:11:31 -05:00
sm_service_domain_table.c Remove version from sm folder 2019-09-26 14:11:31 -05:00
sm_service_domain_table.h Remove version from sm folder 2019-09-26 14:11:31 -05:00
sm_service_domain_utils.c Remove version from sm folder 2019-09-26 14:11:31 -05:00
sm_service_domain_utils.h Remove version from sm folder 2019-09-26 14:11:31 -05:00
sm_service_domain_waiting_state.c Remove version from sm folder 2019-09-26 14:11:31 -05:00
sm_service_domain_waiting_state.h Remove version from sm folder 2019-09-26 14:11:31 -05:00
sm_service_domain_weight.c Fix SQLite3 concurrent access issue 2021-03-18 11:08:27 -04:00
sm_service_domain_weight.h Fix SQLite3 concurrent access issue 2021-03-18 11:08:27 -04:00
sm_service_enable.c Deployment Optimizations: SM throttling disable 2023-09-14 14:31:20 -03:00
sm_service_enable.h Add PTHREAD_PRIO_PROTECT to sm mutexes 2023-03-02 20:49:17 +00:00
sm_service_enabled_active_state.c Remove version from sm folder 2019-09-26 14:11:31 -05:00
sm_service_enabled_active_state.h Remove version from sm folder 2019-09-26 14:11:31 -05:00
sm_service_enabled_go_active_state.c Remove version from sm folder 2019-09-26 14:11:31 -05:00
sm_service_enabled_go_active_state.h Remove version from sm folder 2019-09-26 14:11:31 -05:00
sm_service_enabled_go_standby_state.c Remove version from sm folder 2019-09-26 14:11:31 -05:00
sm_service_enabled_go_standby_state.h Remove version from sm folder 2019-09-26 14:11:31 -05:00
sm_service_enabled_standby_state.c Remove version from sm folder 2019-09-26 14:11:31 -05:00
sm_service_enabled_standby_state.h Remove version from sm folder 2019-09-26 14:11:31 -05:00
sm_service_enabling_state.c Fix: bogus sm logs falsely complain service enable timeout 2021-06-10 15:41:55 -04:00
sm_service_enabling_state.h Remove version from sm folder 2019-09-26 14:11:31 -05:00
sm_service_enabling_throttle_state.c Fix: bogus sm logs falsely complain service enable timeout 2021-06-10 15:41:55 -04:00
sm_service_enabling_throttle_state.h Remove version from sm folder 2019-09-26 14:11:31 -05:00
sm_service_engine.c Remove version from sm folder 2019-09-26 14:11:31 -05:00
sm_service_engine.h Remove version from sm folder 2019-09-26 14:11:31 -05:00
sm_service_fsm.c Remove version from sm folder 2019-09-26 14:11:31 -05:00
sm_service_fsm.h Remove version from sm folder 2019-09-26 14:11:31 -05:00
sm_service_go_active.c Remove version from sm folder 2019-09-26 14:11:31 -05:00
sm_service_go_active.h Remove version from sm folder 2019-09-26 14:11:31 -05:00
sm_service_go_standby.c Remove version from sm folder 2019-09-26 14:11:31 -05:00
sm_service_go_standby.h Remove version from sm folder 2019-09-26 14:11:31 -05:00
sm_service_group_active_state.c Remove version from sm folder 2019-09-26 14:11:31 -05:00
sm_service_group_active_state.h Remove version from sm folder 2019-09-26 14:11:31 -05:00
sm_service_group_api.c Remove version from sm folder 2019-09-26 14:11:31 -05:00
sm_service_group_api.h Remove version from sm folder 2019-09-26 14:11:31 -05:00
sm_service_group_audit.c Add fd-limit-reached degraded condition for open-ldap service 2021-12-01 22:17:07 -05:00
sm_service_group_audit.h Remove version from sm folder 2019-09-26 14:11:31 -05:00
sm_service_group_disable.c Remove version from sm folder 2019-09-26 14:11:31 -05:00
sm_service_group_disable.h Remove version from sm folder 2019-09-26 14:11:31 -05:00
sm_service_group_disabled_state.c Remove version from sm folder 2019-09-26 14:11:31 -05:00
sm_service_group_disabled_state.h Remove version from sm folder 2019-09-26 14:11:31 -05:00
sm_service_group_disabling_state.c Remove version from sm folder 2019-09-26 14:11:31 -05:00
sm_service_group_disabling_state.h Remove version from sm folder 2019-09-26 14:11:31 -05:00
sm_service_group_enable.c Remove version from sm folder 2019-09-26 14:11:31 -05:00
sm_service_group_enable.h Remove version from sm folder 2019-09-26 14:11:31 -05:00
sm_service_group_engine.c Remove version from sm folder 2019-09-26 14:11:31 -05:00
sm_service_group_engine.h Remove version from sm folder 2019-09-26 14:11:31 -05:00
sm_service_group_fsm.c Remove version from sm folder 2019-09-26 14:11:31 -05:00
sm_service_group_fsm.h Remove version from sm folder 2019-09-26 14:11:31 -05:00
sm_service_group_go_active.c Remove version from sm folder 2019-09-26 14:11:31 -05:00
sm_service_group_go_active.h Remove version from sm folder 2019-09-26 14:11:31 -05:00
sm_service_group_go_active_state.c Remove version from sm folder 2019-09-26 14:11:31 -05:00
sm_service_group_go_active_state.h Remove version from sm folder 2019-09-26 14:11:31 -05:00
sm_service_group_go_standby.c Remove version from sm folder 2019-09-26 14:11:31 -05:00
sm_service_group_go_standby.h Remove version from sm folder 2019-09-26 14:11:31 -05:00
sm_service_group_go_standby_state.c Remove version from sm folder 2019-09-26 14:11:31 -05:00
sm_service_group_go_standby_state.h Remove version from sm folder 2019-09-26 14:11:31 -05:00
sm_service_group_health.c Remove version from sm folder 2019-09-26 14:11:31 -05:00
sm_service_group_health.h Remove version from sm folder 2019-09-26 14:11:31 -05:00
sm_service_group_initial_state.c Remove version from sm folder 2019-09-26 14:11:31 -05:00
sm_service_group_initial_state.h Remove version from sm folder 2019-09-26 14:11:31 -05:00
sm_service_group_member_table.c Remove version from sm folder 2019-09-26 14:11:31 -05:00
sm_service_group_member_table.h Remove version from sm folder 2019-09-26 14:11:31 -05:00
sm_service_group_notification.c Remove sm-watchdog service since NFS is now stable 2022-08-19 19:57:43 +00:00
sm_service_group_notification.h Remove version from sm folder 2019-09-26 14:11:31 -05:00
sm_service_group_shutdown_state.c Remove version from sm folder 2019-09-26 14:11:31 -05:00
sm_service_group_shutdown_state.h Remove version from sm folder 2019-09-26 14:11:31 -05:00
sm_service_group_standby_state.c Remove version from sm folder 2019-09-26 14:11:31 -05:00
sm_service_group_standby_state.h Remove version from sm folder 2019-09-26 14:11:31 -05:00
sm_service_group_table.c Remove version from sm folder 2019-09-26 14:11:31 -05:00
sm_service_group_table.h Remove version from sm folder 2019-09-26 14:11:31 -05:00
sm_service_heartbeat.c Remove version from sm folder 2019-09-26 14:11:31 -05:00
sm_service_heartbeat.h Remove version from sm folder 2019-09-26 14:11:31 -05:00
sm_service_heartbeat_api.c Add PTHREAD_PRIO_PROTECT to sm mutexes 2023-03-02 20:49:17 +00:00
sm_service_heartbeat_api.h Add PTHREAD_PRIO_PROTECT to sm mutexes 2023-03-02 20:49:17 +00:00
sm_service_heartbeat_thread.c Remove version from sm folder 2019-09-26 14:11:31 -05:00
sm_service_heartbeat_thread.h Remove version from sm folder 2019-09-26 14:11:31 -05:00
sm_service_initial_state.c Remove version from sm folder 2019-09-26 14:11:31 -05:00
sm_service_initial_state.h Remove version from sm folder 2019-09-26 14:11:31 -05:00
sm_service_shutdown_state.c Remove version from sm folder 2019-09-26 14:11:31 -05:00
sm_service_shutdown_state.h Remove version from sm folder 2019-09-26 14:11:31 -05:00
sm_service_table.c Fix no swact for failure of critical services 2021-05-12 12:22:38 -04:00
sm_service_table.h Remove version from sm folder 2019-09-26 14:11:31 -05:00
sm_service_unknown_state.c Remove version from sm folder 2019-09-26 14:11:31 -05:00
sm_service_unknown_state.h Remove version from sm folder 2019-09-26 14:11:31 -05:00
sm_swact_state.c Add PTHREAD_PRIO_PROTECT to sm mutexes 2023-03-02 20:49:17 +00:00
sm_swact_state.h Add PTHREAD_PRIO_PROTECT to sm mutexes 2023-03-02 20:49:17 +00:00
sm_task_affining_thread.c Remove version from sm folder 2019-09-26 14:11:31 -05:00
sm_task_affining_thread.h Remove version from sm folder 2019-09-26 14:11:31 -05:00
sm_troubleshoot.c Remove version from sm folder 2019-09-26 14:11:31 -05:00
sm_troubleshoot.h Remove version from sm folder 2019-09-26 14:11:31 -05:00
sm_worker_thread.cpp Add PTHREAD_PRIO_PROTECT to sm mutexes 2023-03-02 20:49:17 +00:00
sm_worker_thread.h Add PTHREAD_PRIO_PROTECT to sm mutexes 2023-03-02 20:49:17 +00:00