Make lower priority requests pre-emptible
authorFrancois Chouinard <fchouinard@gmail.com>
Fri, 30 Nov 2012 19:46:26 +0000 (14:46 -0500)
committerFrancois Chouinard <fchouinard@gmail.com>
Fri, 30 Nov 2012 22:12:51 +0000 (17:12 -0500)
commit96b353c5fd297c10fdbdaf057f90242961f42044
treefbac0b50fea772fb82eaaef72b7dfe22c7f66ec3
parenta9ee1687168fc0f60681330b9992260da614de06
Make lower priority requests pre-emptible

The current request priority handling is based on splitting lower
priority requests into chunks of a fixed size that don't take too long
to process. If a higher priority request is issued (e.g. as the result
of a user action), it is simply put in front of the request queue i.e.
before the next low-priority chunk.

This patch modifies the TmfRequestExecutor to use 2 queues (one for each
priority) and implements a pre-emption scheme to make higher priority
requests run immediately.

This is the first step in a more comprehensive overhaul of the TMF
Request Model.

Change-Id: I6413cbbd69985d88b3fd5b5375a0b7ec59104682
Signed-off-by: Francois Chouinard <fchouinard@gmail.com>
Reviewed-on: https://git.eclipse.org/r/8983
Tested-by: Hudson CI
org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/request/TmfRequestExecutorTest.java
org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/component/TmfEventThread.java [new file with mode: 0644]
org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/component/TmfThread.java [deleted file]
org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/request/TmfRequestExecutor.java
org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/component/TmfDataProvider.java
org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/component/TmfEventProvider.java
org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/trace/TmfExperiment.java
org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/trace/TmfTrace.java
This page took 0.026015 seconds and 5 git commands to generate.