diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2012-07-02 16:58:01 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2012-07-02 17:03:28 +0200 |
commit | 71092f7c9465ec36d2243dc588ce8429cfdee294 (patch) | |
tree | 4292817d48f0ea2db081b4c7dd116aeabe9c693f | |
parent | libcsupport: C++ compatibility (diff) | |
download | rtems-71092f7c9465ec36d2243dc588ce8429cfdee294.tar.bz2 |
libblock: Fix read-ahead trigger and next update
The previous version was sub-optimal for read-ahead transfer counts of
one.
-rw-r--r-- | cpukit/libblock/src/bdbuf.c | 2 | ||||
-rw-r--r-- | testsuites/libtests/block13/init.c | 10 |
2 files changed, 6 insertions, 6 deletions
diff --git a/cpukit/libblock/src/bdbuf.c b/cpukit/libblock/src/bdbuf.c index 77d8555c05..34150600bc 100644 --- a/cpukit/libblock/src/bdbuf.c +++ b/cpukit/libblock/src/bdbuf.c @@ -3027,7 +3027,7 @@ rtems_bdbuf_read_ahead_task (rtems_task_argument arg) if (transfer_count >= max_transfer_count) { transfer_count = max_transfer_count; - dd->read_ahead.trigger = block + (transfer_count + 1) / 2; + dd->read_ahead.trigger = block + transfer_count / 2; dd->read_ahead.next = block + transfer_count; } else diff --git a/testsuites/libtests/block13/init.c b/testsuites/libtests/block13/init.c index cd62e8b36e..267e4ec34f 100644 --- a/testsuites/libtests/block13/init.c +++ b/testsuites/libtests/block13/init.c @@ -42,7 +42,7 @@ static const int action_sequence [READ_COUNT] = { RESET_CACHE, 7, 8, RESET_CACHE, - 6, 7, 10 + 6, 7, 9 }; #define UNUSED_LINE { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } @@ -52,12 +52,12 @@ static const int expected_block_access_counts [READ_COUNT] [BLOCK_COUNT] = { { 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 }, { 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0 }, { 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0 }, - { 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0 }, { 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0 }, { 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0 }, { 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0 }, { 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1 }, { 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1 }, + { 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1 }, UNUSED_LINE, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1 }, UNUSED_LINE, @@ -78,7 +78,7 @@ static const int expected_block_access_counts [READ_COUNT] [BLOCK_COUNT] = { #define TRIGGER_AFTER_RESET RTEMS_DISK_READ_AHEAD_NO_TRIGGER static const rtems_blkdev_bnum trigger [READ_COUNT] = { - 1, 3, 6, 6, 6, 9, 9, 9, NO_TRIGGER, NO_TRIGGER, + 1, 3, 5, 5, 8, 8, 8, NO_TRIGGER, NO_TRIGGER, NO_TRIGGER, TRIGGER_AFTER_RESET, 11, TRIGGER_AFTER_RESET, @@ -88,13 +88,13 @@ static const rtems_blkdev_bnum trigger [READ_COUNT] = { TRIGGER_AFTER_RESET, 8, NO_TRIGGER, TRIGGER_AFTER_RESET, - 7, 10, NO_TRIGGER + 7, 9, NO_TRIGGER }; #define NOT_CHANGED_BY_RESET(i) (i) static const rtems_blkdev_bnum next [READ_COUNT] = { - 2, 4, 7, 7, 7, 10, 10, 10, 10, 10, + 2, 4, 7, 7, 10, 10, 10, 10, 10, 10, NOT_CHANGED_BY_RESET(10), 12, NOT_CHANGED_BY_RESET(12), |