Enhance fastrpc_test for multi-domain and multi-PD execution#406
Enhance fastrpc_test for multi-domain and multi-PD execution#406anankulk wants to merge 1 commit into
Conversation
There was a problem hiding this comment.
- changed defaults are not truly backward compatible
- YAML wrapper in the changed hunk still uses the older masked pattern
- the new no-domain skip path exits 1 after writing SKIP
Please address the workflow issues - https://github.com/qualcomm-linux/qcom-linux-testkit/actions/runs/24520486149/job/71764753535?pr=406
| @@ -40,6 +40,8 @@ VERBOSE=0 | |||
| USER_PD_FLAG=0 # default: -U 0 (system/signed PD) | |||
| CLI_DOMAIN="" | |||
| CLI_DOMAIN_NAME="" | |||
| DOMAIN_MODE="all-supported" # ENHANCED: default to all-supported | |||
| PD_MODE="both" # ENHANCED: default to both PDs | |||
There was a problem hiding this comment.
Same recommendation as for the YAML: either preserve old defaults here, or explicitly document that the default execution model is changing.
There was a problem hiding this comment.
Addressed by documenting the default execution model change in run.sh usage function with "Enhanced Test Coverage" section and domain selection priority explanation.
| if [ -z "$DOMAINS_TO_TEST" ]; then | ||
| log_skip "$TESTNAME SKIP - no mapped/supported domains detected" | ||
| echo "$TESTNAME : SKIP" >"$RESULT_FILE" | ||
| exit 1 |
There was a problem hiding this comment.
After writing SKIP, exit 0
There was a problem hiding this comment.
Addressed by changing all SKIP conditions to exit 0 instead of exit 1
smuppand
left a comment
There was a problem hiding this comment.
Could you please test this in Lava and share the jobs as a reference once the changes are applied?
@bhargav0610 @qcom-anilyada The current run.sh script modifies the default behavior, and fastrpc is designed to change it intentionally. Please take note of this.
7797d7e to
43a4100
Compare
|
@anankulk Please fix the workflow errors https://github.com/qualcomm-linux/qcom-linux-testkit/actions/runs/24723885995/job/72363028941 |
4afc121 to
8a1e3b3
Compare
37e4d9f to
2c7b767
Compare
|
@anankulk Fix the workflow issues |
2c7b767 to
1a4877f
Compare
|
Acknowledged the comment and updated the patch with the required fix. |
smuppand
left a comment
There was a problem hiding this comment.
Please do squashing/cleaning the 5 commits
| esac | ||
|
|
||
| pattern="${LOG_ROOT}/${dom_name}_${pd_tag}_iter*.out" | ||
| for iter_file in $pattern; do |
There was a problem hiding this comment.
The final summary still reparses ${LOG_ROOT}/${domain}_${pd}_iter*.out files to compute subtest totals. The earlier request and PR description say results should be tracked during the main run loop instead of reparsing logs. Please either track subtest totals during each iteration and store them in RESULTS_TRACKER, or update the PR description if this reparsing is intentionally retained only for subtest summary.
| FASTRPC_DOMAIN_NAME=adsp|... Named domain; CLI wins. | ||
| FASTRPC_USER_PD=0|1 Sets PD (-U value). CLI --user-pd overrides to 1. | ||
| FASTRPC_UNSIGNED_PD=0|1 Sets PD (-U value). CLI --unsigned-pd overrides to 1. |
There was a problem hiding this comment.
documents FASTRPC_UNSIGNED_PD, but requested_pds() does not consume it. Please either implement FASTRPC_UNSIGNED_PD handling or remove it from usage text.
- Runtime domain discovery via get_remoteproc_by_firmware() with dt_has_remoteproc_fw() as fallback - Support for CDSP1, GPDSP0, GPDSP1 in addition to existing domains - Canonicalize firmware names (cdsp0->cdsp, gdsp0->gpdsp0, gdsp1->gpdsp1) - Domain-aware PD execution (ADSP/MDSP/SDSP: signed only; CDSP/CDSP1/GPDSP: both signed and unsigned) - Rename USER_PD -> UNSIGNED_PD in YAML params, flags and env vars - Honour FASTRPC_UNSIGNED_PD env var in requested_pds() - Track subtest counts during execution; remove log reparsing in finalize - Tabular per-domain/per-PD summary with aligned columns - SoC blacklist: skip QRB2210 entirely; filter GPDSP0/GPDSP1 for QCS9075 and QCS8275 - Fix SC2002: replace cat pipe with direct redirect for tr - Fix all SKIP/FAIL exit paths to exit 0 for LAVA .res consumption Signed-off-by: Anand Kulkarni <anankulk@qti.qualcomm.com>
1a4877f to
8b3b28b
Compare
|
Here are the jobs on different targets, please check:
Target | Job | Status -- | -- | -- glymur-crd | https://lava.infra.foundries.io/scheduler/job/224287 | Boot Crash/Timeout iq-8275-evk | https://lava.infra.foundries.io/scheduler/job/224262 | PASS kaanapali-mtp | https://lava.infra.foundries.io/scheduler/job/224266 | FAIL qcs615-adp-air | https://lava.infra.foundries.io/scheduler/job/224285 | PASS qcs6490 | https://lava.infra.foundries.io/scheduler/job/224270 | PASS qcs8300-ride-sx | https://lava.infra.foundries.io/scheduler/job/224276 | FAIL iq-9075-evk | https://lava.infra.foundries.io/scheduler/job/224280 | PASS rb1-core-kit | https://lava.infra.foundries.io/scheduler/job/224281 | SKIP |
Summary
This PR enhances fastrpc_test by expanding test coverage from a single DSP domain to runtime discovery and validation of all supported DSP domains.
The change improves coverage on platforms with multiple DSPs while preserving compatibility with legacy single-domain execution.
Changes
Runtime DSP domain discovery
get_remoteproc_by_firmware()withdt_has_remoteproc_fw()as fallbackcdsp0→cdsp,gdsp0→gpdsp0,gdsp1→gpdsp1)Expanded domain support
Domain-aware PD execution
FASTRPC_UNSIGNED_PDenv var with correct priority:--unsigned-pdCLI >FASTRPC_UNSIGNED_PDenv >--pd-modeResult tracking and reporting
RESULTS_TRACKERduring run loopSoC-specific handling
QRB2210entirely — FastRPC not supportedGPDSP0/GPDSP1(domains 5/6) forQCS9075andQCS8275/sys/devices/soc0/machineBehavior
Default behavior
Legacy behavior
--domain-mode single --domain <N>Maintenance
pick_default_domain()helperUSER_PD→UNSIGNED_PDacross YAML params, CLI flags and env varsrun.shusage documentationExpected Sample Output: (qcs9100-ride-sx)
