mirror of
https://github.com/ARM-software/devlib.git
synced 2025-02-25 05:57:51 +00:00
module/sched: Make SchedModule probing more accurate
Right now, this module won't be loaded if the sched_domain procfs entries are not present on the target. However, other pieces of information may be present in which case it would make sense to load the module. For instance, mainline kernels compiled without SCHED_DEBUG can still expose the cpu_capacity sysfs entry. As such, try to get a better idea of what's available and only disable the loading of the module if it can provide absolutely nothing.
This commit is contained in:
parent
03a469fc38
commit
984556bc8e
@ -259,7 +259,21 @@ class SchedModule(Module):
|
||||
logger = logging.getLogger(SchedModule.name)
|
||||
SchedDomainFlag.check_version(target, logger)
|
||||
|
||||
return SchedProcFSData.available(target)
|
||||
# It makes sense to load this module if at least one of those
|
||||
# functionalities is enabled
|
||||
schedproc = SchedProcFSData.available(target)
|
||||
debug = SchedModule.target_has_debug(target)
|
||||
dmips = any([target.file_exists(SchedModule.cpu_dmips_capacity_path(target, cpu))
|
||||
for cpu in target.list_online_cpus()])
|
||||
|
||||
logger.info("Scheduler sched_domain procfs entries %s",
|
||||
"found" if schedproc else "not found")
|
||||
logger.info("Detected kernel compiled with SCHED_DEBUG=%s",
|
||||
"y" if debug else "n")
|
||||
logger.info("CPU capacity sysfs entries %s",
|
||||
"found" if dmips else "not found")
|
||||
|
||||
return schedproc or debug or dmips
|
||||
|
||||
def get_kernel_attributes(self, matching=None, check_exit_code=True):
|
||||
"""
|
||||
|
Loading…
x
Reference in New Issue
Block a user