summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2012-07-03 10:20:58 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2012-07-03 10:25:12 +0200
commit2cc4f3ca45e5cb20649c2733330977a2307e2e19 (patch)
treed6c00e2ab025f2707516076140875ae6f7f87b66
parentlibblock: Fix read-ahead trigger and next update (diff)
downloadrtems-2cc4f3ca45e5cb20649c2733330977a2307e2e19.tar.bz2
libblock: Move read-ahead trigger check
In case the read-ahead task has a higher priority than the reading task, this ensures that the read-ahead request is issued after the read miss is serviced.
-rw-r--r--cpukit/libblock/src/bdbuf.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/cpukit/libblock/src/bdbuf.c b/cpukit/libblock/src/bdbuf.c
index 34150600bc..5b66656499 100644
--- a/cpukit/libblock/src/bdbuf.c
+++ b/cpukit/libblock/src/bdbuf.c
@@ -2083,7 +2083,6 @@ rtems_bdbuf_read (rtems_disk_device *dd,
printf ("bdbuf:read: %" PRIu32 " (%" PRIu32 ") (dev = %08x)\n",
media_block + dd->start, block, (unsigned) dd->dev);
- rtems_bdbuf_check_read_ahead_trigger (dd, block);
bd = rtems_bdbuf_get_buffer_for_access (dd, media_block);
switch (bd->state)
{
@@ -2114,6 +2113,8 @@ rtems_bdbuf_read (rtems_disk_device *dd,
rtems_bdbuf_fatal (bd->state, RTEMS_BLKDEV_FATAL_BDBUF_STATE_4);
break;
}
+
+ rtems_bdbuf_check_read_ahead_trigger (dd, block);
}
rtems_bdbuf_unlock_cache ();