RTEMS
5.1
|
#include <limits.h>
#include <errno.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <inttypes.h>
#include <pthread.h>
#include <rtems.h>
#include <rtems/error.h>
#include <rtems/thread.h>
#include <rtems/score/assert.h>
#include "rtems/bdbuf.h"
Data Structures | |
struct | rtems_bdbuf_swapout_transfer |
struct | rtems_bdbuf_swapout_worker |
struct | rtems_bdbuf_waiters |
struct | rtems_bdbuf_cache |
Macros | |
#define | RTEMS_BDBUF_TRACE 0 |
#define | BDBUF_INVALID_DEV NULL |
#define | bdbuf_config rtems_bdbuf_configuration |
#define | RTEMS_BDBUF_SWAPOUT_SYNC RTEMS_EVENT_2 |
#define | RTEMS_BDBUF_READ_AHEAD_WAKE_UP RTEMS_EVENT_1 |
#define | rtems_bdbuf_tracer (0) |
#define | rtems_bdbuf_show_usage() ((void) 0) |
#define | rtems_bdbuf_show_users(_w, _b) ((void) 0) |
#define | RTEMS_BDBUF_AVL_MAX_HEIGHT (32) |
#define | bdbuf_alloc(size) __builtin_alloca (size) |
Typedefs | |
typedef struct rtems_bdbuf_swapout_transfer | rtems_bdbuf_swapout_transfer |
typedef struct rtems_bdbuf_swapout_worker | rtems_bdbuf_swapout_worker |
typedef struct rtems_bdbuf_waiters | rtems_bdbuf_waiters |
typedef struct rtems_bdbuf_cache | rtems_bdbuf_cache |
Block device buffer management.
#define RTEMS_BDBUF_AVL_MAX_HEIGHT (32) |
The default maximum height of 32 allows for AVL trees having between 5,704,880 and 4,294,967,295 nodes, depending on order of insertion. You may change this compile-time constant as you wish.
#define RTEMS_BDBUF_SWAPOUT_SYNC RTEMS_EVENT_2 |
The events used in this code. These should be system events rather than application events.
#define RTEMS_BDBUF_TRACE 0 |
Set to 1 to enable debug tracing.
typedef struct rtems_bdbuf_cache rtems_bdbuf_cache |
The BD buffer cache.
typedef struct rtems_bdbuf_swapout_transfer rtems_bdbuf_swapout_transfer |
A swapout transfer transaction data. This data is passed to a worked thread to handle the write phase of the transfer.
typedef struct rtems_bdbuf_swapout_worker rtems_bdbuf_swapout_worker |
Swapout worker thread. These are available to take processing from the main swapout thread and handle the I/O operation.
typedef struct rtems_bdbuf_waiters rtems_bdbuf_waiters |
Buffer waiters synchronization.