Comparing changes
Open a pull request
base repository: dazjo/android_kernel_huawei_u8815
base: 0060d692ce78
head repository: dazjo/android_kernel_huawei_u8815
compare: b26960de03af
- 18 commits
- 62 files changed
- 4 contributors
Commits on Jul 11, 2013
-
block: Add support for reinsert a dispatched req
Add support for reinserting a dispatched request back to the scheduler's internal data structures. This capability is used by the device driver when it chooses to interrupt the current request transmission and execute another (more urgent) pending request. For example: interrupting long write in order to handle pending read. The device driver re-inserts the remaining write request back to the scheduler, to be rescheduled for transmission later on. Add API for verifying whether the current scheduler supports reinserting requests mechanism. If reinsert mechanism isn't supported by the scheduler, this code path will never be activated. Change-Id: I5c982a66b651ebf544aae60063ac8a340d79e67f Signed-off-by: Tatyana Brokhman <tlinder@codeaurora.org>
Tatyana Brokhman authored and Daz Jones committedJul 11, 2013 -
block: Add API for urgent request handling
This patch add support in block & elevator layers for handling urgent requests. The decision if a request is urgent or not is taken by the scheduler. Urgent request notification is passed to the underlying block device driver (eMMC for example). Block device driver may decide to interrupt the currently running low priority request to serve the new urgent request. By doing so READ latency is greatly reduced in read&write collision scenarios. Note that if the current scheduler doesn't implement the urgent request mechanism, this code path is never activated. Change-Id: I8aa74b9b45c0d3a2221bd4e82ea76eb4103e7cfa Signed-off-by: Tatyana Brokhman <tlinder@codeaurora.org>
Tatyana Brokhman authored and Daz Jones committedJul 11, 2013 -
block: Adding ROW scheduling algorithm
This patch adds the implementation of a new scheduling algorithm - ROW. The policy of this algorithm is to prioritize READ requests over WRITE as much as possible without starving the WRITE requests. Change-Id: I4ed52ea21d43b0e7c0769b2599779a3d3869c519 Signed-off-by: Tatyana Brokhman <tlinder@codeaurora.org>
Tatyana Brokhman authored and Daz Jones committedJul 11, 2013 -
-
block: ROW: Correct minimum values of ROW tunable parameters
The ROW scheduling algorithm exposes several tunable parameters. This patch updates the minimum allowed values for those parameters. Change-Id: I5ec19d54b694e2e83ad5376bd99cc91f084967f5 Signed-off-by: Tatyana Brokhman <tlinder@codeaurora.org>
Tatyana Brokhman authored and Daz Jones committedJul 11, 2013 -
block: ROW: Fix forced dispatch
This patch fixes forced dispatch in the ROW scheduling algorithm. When the dispatch function is called with the forced flag on, we can't delay the dispatch of the requests that are in scheduler queues. Thus, when dispatch is called with forced turned on, we need to cancel idling, or not to idle at all. Change-Id: I3aa0da33ad7b59c0731c696f1392b48525b52ddc Signed-off-by: Tatyana Brokhman <tlinder@codeaurora.org>
Tatyana Brokhman authored and Daz Jones committedJul 11, 2013 -
row: Adding support for reinsert already dispatched req
Add support for reinserting already dispatched request back to the schedulers internal data structures. The request will be reinserted back to the queue (head) it was dispatched from as if it was never dispatched. Change-Id: I70954df300774409c25b5821465fb3aa33d8feb5 Signed-off-by: Tatyana Brokhman <tlinder@codeaurora.org>
Tatyana Brokhman authored and Daz Jones committedJul 11, 2013 -
block:row: fix idling mechanism in ROW
This patch addresses the following issues found in the ROW idling mechanism: 1. Fix the delay passed to queue_delayed_work (pass actual delay and not the time when to start the work) 2. Change the idle time and the idling-trigger frequency to be HZ dependent (instead of using msec_to_jiffies()) 3. Destroy idle_workqueue() in queue_exit Change-Id: If86513ad6b4be44fb7a860f29bd2127197d8d5bf Signed-off-by: Tatyana Brokhman <tlinder@codeaurora.org>
Tatyana Brokhman authored and Daz Jones committedJul 11, 2013 -
row: Add support for urgent request handling
This patch adds support for handling urgent requests. ROW queue can be marked as "urgent" so if it was un-served in last dispatch cycle and a request was added to it - it will trigger issuing an urgent-request-notification to the block device driver. The block device driver may choose at stop the transmission of current ongoing request to handle the urgent one. Foe example: long WRITE may be stopped to handle an urgent READ. This decreases READ latency. Change-Id: I84954c13f5e3b1b5caeadc9fe1f9aa21208cb35e Signed-off-by: Tatyana Brokhman <tlinder@codeaurora.org>
Tatyana Brokhman authored and Daz Jones committedJul 11, 2013 -
block: row: Add some debug information on ROW queues
1. Add a counter for number of requests on queue. 2. Add function to print queues status (number requests currently on queue and number of already dispatched requests in current dispatch cycle). Change-Id: I1e98b9ca33853e6e6a8ddc53240f6cd6981e6024 Signed-off-by: Tatyana Brokhman <tlinder@codeaurora.org>
Tatyana Brokhman authored and Daz Jones committedJul 11, 2013 -
block: row: Insert dispatch_quantum into struct row_queue
There is really no point in keeping the dispatch quantum of a queue outside of it. By inserting it to the row_queue structure we spare extra level in accessing it. Change-Id: Ic77571818b643e71f9aafbb2ca93d0a92158b199 Signed-off-by: Tatyana Brokhman <tlinder@codeaurora.org>
Tatyana Brokhman authored and Daz Jones committedJul 11, 2013 -
block: row: fix sysfs functions - idle_time conversion
idle_time was updated to be stored in msec instead of jiffies. So there is no need to convert the value when reading from user or displaying the value to him. Change-Id: I58e074b204e90a90536d32199ac668112966e9cf Signed-off-by: Tatyana Brokhman <tlinder@codeaurora.org>
Tatyana Brokhman authored and Daz Jones committedJul 11, 2013 -
block: row: Aggregate row_queue parameters to one structure
Each ROW queues has several parameters which default values are defined in separate arrays. This patch aggregates all default values into one array. The values in question are: - is idling enabled for the queue - queue quantum - can the queue notify on urgent request Change-Id: I3821b0a042542295069b340406a16b1000873ec6 Signed-off-by: Tatyana Brokhman <tlinder@codeaurora.org>
Tatyana Brokhman authored and Daz Jones committedJul 11, 2013 -
Daz Jones committed
Jul 11, 2013 -
Revert "Import jb_chocolate genlock"
This reverts commit 3947fc1.
-
Revert "Fast forward MSM GPU to jb_chocolate"
This reverts commit 1984acc. Conflicts: drivers/gpu/msm/adreno_drawctxt.c
-
genlock: update to ics_chocolate
AU_LINUX_ANDROID_ICS_CHOCOLATE.04.00.04.005.325 Conflicts: drivers/base/genlock.c
-
gpu/kgsl: update to ics_chocolate
AU_LINUX_ANDROID_ICS_CHOCOLATE.04.00.04.005.325
This comparison is taking too long to generate.
Unfortunately it looks like we can’t render this comparison for you right now. It might be too big, or there might be something weird with your repository.
You can try running this command locally to see the comparison on your machine:
git diff 0060d692ce78...b26960de03af