Skip to content

Commit

Permalink
DAOS-16750 container: bump stack size for a few ULTs
Browse files Browse the repository at this point in the history
- DAOS requires all ULTs calling IV to use deep stack size
- Bump the stack of EC aggregation of 2X of orignal size, because
  EC aggregation has nested VOS API calls.

Signed-off-by: Liang Zhen <[email protected]>
  • Loading branch information
gnailzenh committed Oct 30, 2024
1 parent bde13c3 commit 9c7dd32
Show file tree
Hide file tree
Showing 3 changed files with 7 additions and 4 deletions.
3 changes: 2 additions & 1 deletion src/container/srv_container.c
Original file line number Diff line number Diff line change
Expand Up @@ -1956,7 +1956,8 @@ cont_svc_ec_agg_leader_start(struct cont_svc *svc)
D_ASSERT(svc->cs_ec_leader_ephs_req == NULL);
uuid_clear(anonym_uuid);
sched_req_attr_init(&attr, SCHED_REQ_ANONYM, &anonym_uuid);
svc->cs_ec_leader_ephs_req = sched_create_ult(&attr, cont_agg_eph_leader_ult, svc, 0);
svc->cs_ec_leader_ephs_req = sched_create_ult(&attr, cont_agg_eph_leader_ult, svc,
DSS_DEEP_STACK_SZ);
if (svc->cs_ec_leader_ephs_req == NULL) {
D_ERROR(DF_UUID" Failed to create EC leader eph ULT.\n",
DP_UUID(svc->cs_pool_uuid));
Expand Down
2 changes: 1 addition & 1 deletion src/container/srv_target.c
Original file line number Diff line number Diff line change
Expand Up @@ -572,7 +572,7 @@ cont_start_agg(struct ds_cont_child *cont)
if (likely(!ec_agg_disabled)) {
D_ASSERT(cont->sc_ec_agg_req == NULL);
cont->sc_ec_agg_req = sched_create_ult(&attr, cont_ec_agg_ult, cont,
DSS_DEEP_STACK_SZ);
DSS_DEEP_STACK_SZ * 2);
if (cont->sc_ec_agg_req == NULL) {
D_ERROR(DF_CONT"[%d]: Failed to create EC aggregation ULT.\n",
DP_CONT(cont->sc_pool->spc_uuid, cont->sc_uuid), dmi->dmi_tgt_id);
Expand Down
6 changes: 4 additions & 2 deletions src/object/srv_ec_aggregate.c
Original file line number Diff line number Diff line change
Expand Up @@ -2579,7 +2579,8 @@ ec_agg_param_fini(struct ds_cont_child *cont, struct ec_agg_param *agg_param)
arg.param = agg_param;
arg.tgt_idx = dss_get_module_info()->dmi_tgt_id;
if (cont->sc_ec_query_agg_eph) {
dss_ult_execute(ec_agg_fini_ult, &arg, NULL, NULL, DSS_XS_SYS, 0, 0);
dss_ult_execute(ec_agg_fini_ult, &arg, NULL, NULL, DSS_XS_SYS, 0,
DSS_DEEP_STACK_SZ);
cont->sc_ec_query_agg_eph = NULL;
}

Expand Down Expand Up @@ -2619,7 +2620,8 @@ ec_agg_param_init(struct ds_cont_child *cont, struct agg_param *param)

arg.param = agg_param;
arg.tgt_idx = dss_get_module_info()->dmi_tgt_id;
rc = dss_ult_execute(ec_agg_init_ult, &arg, NULL, NULL, DSS_XS_SYS, 0, 0);
rc = dss_ult_execute(ec_agg_init_ult, &arg, NULL, NULL, DSS_XS_SYS, 0,
DSS_DEEP_STACK_SZ);
if (arg.ec_query_p != NULL)
cont->sc_ec_query_agg_eph = arg.ec_query_p;
if (rc != 0)
Expand Down

0 comments on commit 9c7dd32

Please sign in to comment.