KERNEL - Implement a poor man's ioscheduler using sys/iosched.h
[dragonfly.git] / sys / sys / iosched.h
blob506fad82911ae90fae4b28d19ff5da3bca37de0d
1 /*
2 * SYS/IOSCHED.H
4 * I/O Scheduler
5 *
6 * $DragonFly: src/sys/sys/iosched.h,v 1.1 2008/06/28 17:59:47 dillon Exp $
7 */
9 #ifndef _SYS_IOSCHED_H_
10 #define _SYS_IOSCHED_H_
12 #if defined(_KERNEL) || defined(_KERNEL_STRUCTURES)
14 #ifndef _SYS_TYPES_H_
15 #include <sys/types.h>
16 #endif
17 #ifndef _SYS_QUEUE_H_
18 #include <sys/queue.h>
19 #endif
20 #ifndef _SYS_SYSTIMER_H_
21 #include <sys/systimer.h>
22 #endif
24 struct iosched_data {
25 size_t iorbytes;
26 size_t iowbytes;
27 int lastticks; /* decay last recorded */
30 #endif /* _KERNEL || _KERNEL_STRUCTURES */
32 #ifdef _KERNEL
34 struct thread;
35 void bwillwrite(int bytes);
36 void bwillread(int bytes);
37 void bwillinode(int count);
38 void biosched_done(struct thread *td);
40 #endif
42 #endif