Module_Reload_Validation: add generic profiled reload framework and expanded base/overlay coverage #501
Open
smuppand wants to merge 5 commits into
Open
Module_Reload_Validation: add generic profiled reload framework and expanded base/overlay coverage #501smuppand wants to merge 5 commits into
smuppand wants to merge 5 commits into
Conversation
Add generic module reload helpers in lib_module_reload.sh for profile-driven module unload/reload validation. The helpers cover module availability checks, holder discovery, timeout-wrapped load/unload commands, multi-module validation, service/process quiesce, best-effort restore, open-FD evidence, and per-iteration debug collection. Keep module-specific behavior out of run.sh and allow profiles to stay mostly declarative. Signed-off-by: Srikanth Muppandam <smuppand@qti.qualcomm.com>
Update run.sh to keep module reload execution generic and profile driven. Add support for explicit profile selection, profile-list execution, timeout arguments, sysrq hang-dump control, result summary generation, and repo-standard execution flow. This keeps run.sh as a thin orchestration layer while lib_module_reload.sh and profiles own the reload behavior. Signed-off-by: Srikanth Muppandam <smuppand@qti.qualcomm.com>
Add and refine base-image module reload profiles for FastRPC, Ethernet, Wi-Fi, crypto, secure comms, MVM, Venus, Iris, TC956x Ethernet, and Qualcomm SoundWire/ASoC. Add profile list files to support grouped execution of base and overlay module reload coverage. Keep enabled.list conservative for default CI while allowing teams to explicitly run broader base or overlay validation through --profile-list. Signed-off-by: Srikanth Muppandam <smuppand@qti.qualcomm.com>
Update the LAVA test definition to call the suite using repo-standard run steps and parameterized profile selection. Support single-profile execution through PROFILE and grouped execution through PROFILE_LIST without requiring one YAML file per module. Signed-off-by: Srikanth Muppandam <smuppand@qti.qualcomm.com>
Update the README with current framework behavior, CLI usage, LAVA/YAML usage, profile-list execution, team-specific launch examples, profile customization, quiesce/restore behavior, and troubleshooting guidance. Document modern msm.ko DRM handling separately from legacy msm_kgsl and clarify how base and overlay profiles should be selected per platform. Signed-off-by: Srikanth Muppandam <smuppand@qti.qualcomm.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Enhance
Module_Reload_Validationinto a generic profile-driven kernel module reload validation framework.This change keeps
[run.sh](http://run.sh/)as a thin orchestration layer and moves reusable reload logic into[lib_module_reload.sh](http://lib_module_reload.sh/). Module-specific behavior is now handled through profiles and profile lists, allowing different teams to run only the profiles relevant to their subsystem.Why
The previous test was limited and module-specific. Different subsystems need to
validate reload behavior independently without duplicating framework logic or
creating one-off scripts.
This framework lets teams run targeted coverage such as: