linux: introduce execution contexts in resources view
authorMatthew Khouzam <matthew.khouzam@ericsson.com>
Mon, 1 Feb 2016 21:51:15 +0000 (16:51 -0500)
committerMatthew Khouzam <matthew.khouzam@ericsson.com>
Thu, 3 Mar 2016 21:19:25 +0000 (16:19 -0500)
commit19ed65980a00b9d42a7ee8a64809c52ac76bca65
tree560f2a49600c888c4ec7e2c253c95f88854be9a7
parent715ae22880eebf75baed296e4f7c37f1d6e11f00
linux: introduce execution contexts in resources view

The original implementation made sense only one single core systems. An
IRQ and softirq would block the whole system and not just a single core.

This patch adds the notion of execution contexts to the interrupts. The
interrupts are moved under the CPU to show the true execution stack.
Then the model is a much truer representation of the kernel.

In order to maintain aggregate information in the resources view (total
IRQs and such), the notion of AggregateEntries and AggregateIterators
are introduced.

This allows better understanding of the current state of the system as
the resources view now shows what the state of each processor is.

Expect a _SLIGHT_ performance degradation during the building of the
state system as an additional lookup is required for each interrupt
event.

This updates the state system model so the testvalues are updated and
the generator is updated to work again.

Starts to fix bugs: bug 381497 and bug 481855

Change-Id: I2f0f2093344f51caaf08500181cf90400a081f7c
Signed-off-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
Signed-off-by: Patrick Tasse <patrick.tasse@gmail.com>
Reviewed-on: https://git.eclipse.org/r/65609
Reviewed-by: Hudson CI
17 files changed:
analysis/org.eclipse.tracecompass.analysis.os.linux.core/src/org/eclipse/tracecompass/analysis/os/linux/core/kernelanalysis/Attributes.java
analysis/org.eclipse.tracecompass.analysis.os.linux.core/src/org/eclipse/tracecompass/internal/analysis/os/linux/core/kernel/KernelStateProvider.java
analysis/org.eclipse.tracecompass.analysis.os.linux.core/src/org/eclipse/tracecompass/internal/analysis/os/linux/core/kernel/handlers/IrqEntryHandler.java
analysis/org.eclipse.tracecompass.analysis.os.linux.core/src/org/eclipse/tracecompass/internal/analysis/os/linux/core/kernel/handlers/IrqExitHandler.java
analysis/org.eclipse.tracecompass.analysis.os.linux.core/src/org/eclipse/tracecompass/internal/analysis/os/linux/core/kernel/handlers/KernelEventHandlerUtils.java
analysis/org.eclipse.tracecompass.analysis.os.linux.core/src/org/eclipse/tracecompass/internal/analysis/os/linux/core/kernel/handlers/SoftIrqEntryHandler.java
analysis/org.eclipse.tracecompass.analysis.os.linux.core/src/org/eclipse/tracecompass/internal/analysis/os/linux/core/kernel/handlers/SoftIrqExitHandler.java
analysis/org.eclipse.tracecompass.analysis.os.linux.core/src/org/eclipse/tracecompass/internal/analysis/os/linux/core/kernel/handlers/SoftIrqRaiseHandler.java
analysis/org.eclipse.tracecompass.analysis.os.linux.ui.tests/src/org/eclipse/tracecompass/analysis/os/linux/ui/tests/view/resources/AggregateIteratorTest.java [new file with mode: 0644]
analysis/org.eclipse.tracecompass.analysis.os.linux.ui/src/org/eclipse/tracecompass/analysis/os/linux/ui/views/resources/AggregateEventIterator.java [new file with mode: 0644]
analysis/org.eclipse.tracecompass.analysis.os.linux.ui/src/org/eclipse/tracecompass/analysis/os/linux/ui/views/resources/AggregateResourcesEntry.java [new file with mode: 0644]
analysis/org.eclipse.tracecompass.analysis.os.linux.ui/src/org/eclipse/tracecompass/analysis/os/linux/ui/views/resources/CachingIterator.java [new file with mode: 0644]
analysis/org.eclipse.tracecompass.analysis.os.linux.ui/src/org/eclipse/tracecompass/analysis/os/linux/ui/views/resources/ResourcesPresentationProvider.java
analysis/org.eclipse.tracecompass.analysis.os.linux.ui/src/org/eclipse/tracecompass/analysis/os/linux/ui/views/resources/ResourcesView.java
lttng/org.eclipse.tracecompass.lttng2.kernel.core.tests/src/org/eclipse/tracecompass/lttng2/kernel/core/tests/analysis/kernel/statesystem/GenerateTestValues.java
lttng/org.eclipse.tracecompass.lttng2.kernel.core.tests/src/org/eclipse/tracecompass/lttng2/kernel/core/tests/analysis/kernel/statesystem/StateSystemTest.java
lttng/org.eclipse.tracecompass.lttng2.kernel.core.tests/src/org/eclipse/tracecompass/lttng2/kernel/core/tests/analysis/kernel/statesystem/TestValues.java
This page took 0.026502 seconds and 5 git commands to generate.