diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2012-05-31 10:27:29 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2012-06-04 09:54:31 +0200 |
commit | 39ee704e757268de833ffb956dda28f6aa2fa3a1 (patch) | |
tree | 3bfd4e6ebc6dc48d3751ad8445206409720d9abd /cpukit/sapi | |
parent | bsps/powerpc: Add load section for .nocache (diff) | |
download | rtems-39ee704e757268de833ffb956dda28f6aa2fa3a1.tar.bz2 |
libblock: Add read-ahead task
Read-ahead requests were previously executed in the context of the
reading task. This blocks the reading task until the complete read
with read-ahead transfer is finished. A read-ahead task is introduced
to off-load the read-ahead transfer. This allows the reading task to
work with the requested block more quickly. The read-ahead is triggered
after two misses of ascending consecutive blocks or a read hit of a
block read by the most-recent read-ahead transfer. The read-ahead
feature is configurable and can be disabled.
Diffstat (limited to 'cpukit/sapi')
-rw-r--r-- | cpukit/sapi/include/confdefs.h | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/cpukit/sapi/include/confdefs.h b/cpukit/sapi/include/confdefs.h index 4e43a27f45..0f804ee7cc 100644 --- a/cpukit/sapi/include/confdefs.h +++ b/cpukit/sapi/include/confdefs.h @@ -1241,6 +1241,10 @@ rtems_fs_init_functions_t rtems_fs_init_helper = #define CONFIGURE_BDBUF_BUFFER_MAX_SIZE \ RTEMS_BDBUF_BUFFER_MAX_SIZE_DEFAULT #endif + #ifndef CONFIGURE_BDBUF_READ_AHEAD_TASK_PRIORITY + #define CONFIGURE_BDBUF_READ_AHEAD_TASK_PRIORITY \ + RTEMS_BDBUF_READ_AHEAD_TASK_PRIORITY_DEFAULT + #endif #ifdef CONFIGURE_INIT const rtems_bdbuf_config rtems_bdbuf_configuration = { CONFIGURE_BDBUF_MAX_READ_AHEAD_BLOCKS, @@ -1253,11 +1257,14 @@ rtems_fs_init_functions_t rtems_fs_init_helper = CONFIGURE_BDBUF_TASK_STACK_SIZE, CONFIGURE_BDBUF_CACHE_MEMORY_SIZE, CONFIGURE_BDBUF_BUFFER_MIN_SIZE, - CONFIGURE_BDBUF_BUFFER_MAX_SIZE + CONFIGURE_BDBUF_BUFFER_MAX_SIZE, + CONFIGURE_BDBUF_READ_AHEAD_TASK_PRIORITY }; #endif - #define CONFIGURE_LIBBLOCK_TASKS (1 + CONFIGURE_SWAPOUT_WORKER_TASKS) + #define CONFIGURE_LIBBLOCK_TASKS \ + (1 + CONFIGURE_SWAPOUT_WORKER_TASKS + \ + (CONFIGURE_BDBUF_MAX_READ_AHEAD_BLOCKS != 0)) #define CONFIGURE_LIBBLOCK_TASK_EXTRA_STACKS \ (CONFIGURE_LIBBLOCK_TASKS * \ |