[rtems commit] libblock: Move read-ahead trigger check

Sebastian Huber sebh at rtems.org
Tue Jul 3 08:21:40 UTC 2012


Module:    rtems
Branch:    master
Commit:    2cc4f3ca45e5cb20649c2733330977a2307e2e19
Changeset: http://git.rtems.org/rtems/commit/?id=2cc4f3ca45e5cb20649c2733330977a2307e2e19

Author:    Sebastian Huber <sebastian.huber at embedded-brains.de>
Date:      Tue Jul  3 10:20:58 2012 +0200

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.

---

 cpukit/libblock/src/bdbuf.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/cpukit/libblock/src/bdbuf.c b/cpukit/libblock/src/bdbuf.c
index 3415060..5b66656 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 ();




More information about the vc mailing list