This project is mirrored from https://github.com/ARM-software/lisa.git.
Pull mirroring failed .
Repository mirroring has been paused due to too many failed attempts. It can be resumed by a project maintainer or owner.
Last successful update .
Repository mirroring has been paused due to too many failed attempts. It can be resumed by a project maintainer or owner.
Last successful update .
- 15 Nov, 2022 3 commits
-
-
Douglas Raillard authored
Add more debug logging to debug rt-app calibration issue.
-
Douglas Raillard authored
FEATURE Allow setting the --log option of rt-app. Also set the level to "debug" while calibrating.
-
Douglas Raillard authored
FIX Fix CI by ignoring deprecation warnings triggered internally by Jupyterlab/IPython themselves.
-
- 14 Nov, 2022 1 commit
-
-
Occasionally the load_tracking invariance tests [load\|util]_[correctness\|behaviour] fail on rb5 little/medium CPUs on low frequencies. The root cause is wrong rt-app calibration for these CPUs/frequencies. The reason for the rt-app calibration issue is not known at the moment. Add an assert in _get_rtapp_profile() of class InvarianceItemBase to catch the issue earlier. Signed-off-by:
Dietmar Eggemann <dietmar.eggemann@arm.com>
-
- 07 Nov, 2022 3 commits
-
-
Douglas Raillard authored
FIX Do not error if a class does not define __init__.
-
Douglas Raillard authored
FEATURE Recognize PEP 673 Self return annotation on classmethods as being a factory class method.
-
Douglas Raillard authored
FIX Older kernels do not have this folder and also do not suffer from the broken sha1 in the /sys/kheaders.tar.xz headers, so ignore them.
-
- 04 Nov, 2022 1 commit
-
-
FIX A Systrace generated by the Perfetto's traceconv tool has records with this format: ``` <idle>-0 (-----) [000] .... 608397.919018: sched_wakeup: comm=traced pid=403293 prio=120 target_cpu=000 ``` which timestamp gets parsed as `7.919018`, i.e. by ignoring all the digits but one decimal. The regexp also picks up all the spaces before the task name, by ending up with duplicated names when the same task name is parsed also (without space) form an event field (e.g. a `sched_switch`'s `next_comm`) Fix the timestamp parsing by ensuring that, after the `__cpu` filed has been parsed, we skip all and only the non digit chars following it. Fix the command name parsing by ensuring we discard all the space before the name start.
-
- 24 Oct, 2022 4 commits
-
-
Douglas Raillard authored
FIX Headers found at /sys/kheaders.tar.xz generated when CONFIG_IKHEADERS=y contain a broken version of the include/linux/atomic/*. headers. They embed a sha1sum of the file on their last line, but kernel/gen_kheaders.sh strips some multiline comments from the file, changing the SHA1. Work around the issue by updating the SHA1 in the file.
-
Douglas Raillard authored
FIX Disable Tabulator pagination as it is now fast enough to load all the data. This allows scrolling when clicking on the plot to work correctly.
-
Douglas Raillard authored
FIX Fix scrolling in the table when clicking on the plot. Instead of making the plot disappear, the corresponding row is selected in the table. Note that the table will not change page automatically.
-
Douglas Raillard authored
FIX Ensure hv.extension() is done after all imports, otherwise plots are not displayed in some circumstances: https://github.com/holoviz/holoviews/issues/5491
-
- 14 Oct, 2022 4 commits
-
-
Douglas Raillard authored
FEATURE Pass path to module and kernel path instead of relying on Kbuild's $(src) and $(srctree) variables, as they seem to be broken on some android's kernel.
-
Douglas Raillard authored
FEATURE Expose devlib's max_async Target parameter. It is used to limit the max number of in-flight async commands at any point in time.
-
Douglas Raillard authored
FIX Update HRTxtTraceParser skeleton regex to allow for a TGID field, which is part of recent systrace files.
-
commit 487e1ac4 ("lisa.tests.scheduler.eas_behaviour: Add big-task-duty-cycle platform parameter") modified the prototype of _get_rtapp_profile(), but an implementation was left with the initial prototype, triggering errors. Fix that. Reported-by:
Deepak Kumar Mishra <deepakkumar.mishra@arm.com> Signed-off-by:
Pierre Gondois <pierre.gondois@arm.com>
-
- 13 Oct, 2022 1 commit
-
-
On a rb5, the first OPPs of the little CPUs are less energy efficient than the first OPPs of the big CPUs: little CPUs: freq=300000 power=28864 capa=59 power/capa=489.22 freq=403200 power=38774 capa=79 power/capa=490.81 freq=480000 power=46183 capa=95 power/capa=486.13 freq=576000 power=55419 capa=114 power/capa=486.13 freq=652800 power=62732 capa=129 power/capa=486.29 freq=748800 power=71968 capa=148 power/capa=486.27 freq=825600 power=82719 capa=163 power/capa=507.47 <- [3] freq=902400 power=94168 capa=178 power/capa=529.03 freq=979200 power=113400 capa=194 power/capa=584.53 freq=1056000 power=114700 capa=209 power/capa=548.80 freq=1132800 power=126190 capa=224 power/capa=563.34 [...] BIG CPUs: freq=825600 power=133030 capa=301 power/capa=441.96 freq=902400 power=151283 capa=329 power/capa=459.82 freq=979200 power=168490 capa=357 power/capa=471.96 <- [1] freq=1056000 power=188799 capa=385 power/capa=490.38 <- [2] freq=1209600 power=224387 capa=441 power/capa=508.81 freq=1286400 power=244608 capa=469 power/capa=521.55 freq=1363200 power=275303 capa=497 power/capa=553.92 freq=1459200 power=305249 capa=533 power/capa=572.69 freq=1536000 power=340314 capa=561 power/capa=606.62 freq=1612800 power=381776 capa=589 power/capa=648.17 [...] When running the TwoBigThreeSmall test, the big task has a utilization such as the task cannot fit on the little CPUs. util~=290 so that 290 * 1.2 = 348. The capacity of the little CPUs is 350. The small task will run at ~50% of the maximum capacity of the little CPUs, so util~=174. The big CPUs will run at the OPP [1], which is more energy efficient than all the little CPUs' OPPs. Now if the big CPU utilization jumps to [2], the little CPUs' OPPs below [3] become more energy efficient. Thus, it appears that for the rb5, the utilization chosen for the big tasks makes the big CPUs either attractive or repulsive for the small tasks, and this for a range of 20 util. This makes the TwoBigThreeSmall test for rb5 unstable. Add a platform specific 'big-task-duty-cycle' parameter to handle this specific test case. This parameter allows to choose a higher utilization for the big tasks, making the big CPUs less attractive for small tasks. Suggested-by:
Douglas Raillard <douglas.raillard@arm.com> Signed-off-by:
Pierre Gondois <pierre.gondois@arm.com>
-
- 12 Oct, 2022 1 commit
-
-
Douglas Raillard authored
FIX Using a trace window can remove all activations for a given task. That leads to <NA> values in dataframes, that bokeh chokes on. Avoid creating such <NA> values in the first place fixes that.
-
- 11 Oct, 2022 5 commits
-
-
Douglas Raillard authored
FIX Change expected output for very recent versions of trace-cmd.
-
Douglas Raillard authored
Use the new rtapp_profile_kwargs infrastructure to avoid having to redefine the rtapp_profile property.
-
Douglas Raillard authored
FEATURE Allow forwarding custom keyword arguments to _get_rtapp_profile() when it is called via the "rtapp_profile" property. This allows _get_rtapp_profile() to depend not only on the platform info but also on user-defined values.
-
Douglas Raillard authored
FIX Do not raise exceptions when accessing class attributes on partially initialized objects.
-
Douglas Raillard authored
FIX iteritems() has been deprecated in favor of items()
-
- 04 Oct, 2022 2 commits
-
-
Douglas Raillard authored
FEATURE Use the trace-cmd binary shipped by LISA to improve reproducibility and for when lisa is installed from PyPI. It is still possible to make LISA prefer the system binary by setting LISA_USE_SYSTEM_BIN=1 environment variable.
-
Douglas Raillard authored
FEATURE If env var LISA_USE_SYSTEM_BIN=1, HOST_PATH will give priority to existing PATH, otherwise it will give priority to LISA's PATH containing the shipped binaries. Also add get_bin() function that allows getting the path to a binary.
-
- 03 Oct, 2022 3 commits
-
-
Douglas Raillard authored
FIX Ensure exceptions are re-raised unless explicitly swallowed by the user by returning a truthy value. This is necessary as the expected pattern is to handle ContextManagerExit and not re-raise anything explicitly, which would otherwise be necessary with a normal use of contextlib.contextmanager.
-
Douglas Raillard authored
FIX Make try_loaders() robust against inner context manager swallowing an exception by forcefully re-raising it.
-
By design, migration margin shouldn't be considered when comparing uclamp with capacities as explained in this series: https://lore.kernel.org/lkml/20220804143609.515789-1-qais.yousef@arm.com/ It is considered a bug - that the above series fixes it. Integration branch was failing with this series applied because of this margin. Fix the test to ignore the margin to reflect the actual uclamp design. Older kernels without the series might fail now, which is the correct result. The series should trickle to stable kernels once merged in mainline Linux. The failure should signal to any user that they need to backport this series. Signed-off-by:
Qais Yousef <qais.yousef@arm.com>
-
- 30 Sep, 2022 12 commits
-
-
Douglas Raillard authored
FEATURE Add a new tool that displays the changes since a given git ref. Also call this tool automatically after a git pull.
-
Douglas Raillard authored
FIX Avoid error if lisa package cannot be imported (e.g. if source init_env has not been done)
-
Douglas Raillard authored
FIX Also watch for new git hooks to install.
-
Douglas Raillard authored
FIX Avoid showing warnings when git notes are not available.
-
Douglas Raillard authored
Document the use of lisa-load-kmod
-
Douglas Raillard authored
Add command line tool to compile and load LISA's kernel module using the facilites of the Python API (such as Alpine container build).
-
Douglas Raillard authored
FIX Do not add a leading -- to the parameter name, so that it stays a positional parameter.
-
Douglas Raillard authored
FEATURE If path=None, use the output_path specified to __init__.
-
Douglas Raillard authored
FEATURE Allow passing custom CLI tool description to argparse.
-
Douglas Raillard authored
FIX
-
Douglas Raillard authored
FIX Equivalent to contextlib.contextmanager except that this pattern will not run the cleanup code when context manager is destroyed without calling __exit__() (explicitly or via "with" statement). The usual pattern will run the cleanup code even if __exit__() is not called, as destructing the generator will raise a GeneratorExit in it no matter what: @contextlib.contextmanager def f(): try: yield finally: cleanup() This version will avoid that issue and will therefore behave like context managers directly defined with of __enter__() and __exit__(): @destroyablecontextmanager def f(): try: yield except ContextManagerExit: cleanup() This allows the final user of the context manager to skip cleanup if they want to, which might be useful in some cases.
-
Douglas Raillard authored
FEATURE Very similar to contextlib.contextmanager but allows graceful handling of destruction without calling __exit__(). Since most context managers only use it with try/yield/finally pattern, this avoids running the "finally" clause in case of destruction without calling __exit__(), just like for context managers not created with contextlib.contextmanager().
-