This commit was manufactured by cvs2svn to create tag
[linux-2.6.git] / include / linux / ckrm-io.h
1 /* linux/drivers/block/ckrm_io.c : Block I/O Resource Controller for CKRM
2  *
3  * Copyright (C) Shailabh Nagar, IBM Corp. 2004
4  * 
5  * 
6  * Provides best-effort block I/O bandwidth control for CKRM 
7  * This file provides the CKRM API. The underlying scheduler is a 
8  * modified Complete-Fair Queueing (CFQ) iosched.
9  *
10  * Latest version, more details at http://ckrm.sf.net
11  * 
12  * This program is free software; you can redistribute it and/or modify
13  * it under the terms of the GNU General Public License as published by
14  * the Free Software Foundation; either version 2 of the License, or
15  * (at your option) any later version.
16  *
17  */
18
19 /* Changes
20  *
21  * 29 July 2004
22  *          Third complete rewrite for CKRM's current API
23  *
24  */
25
26
27 #ifndef _LINUX_CKRM_IO_H
28 #define _LINUX_CKRM_IO_H
29
30 typedef void *(*icls_tsk_t) (struct task_struct *tsk);
31 typedef int (*icls_ioprio_t) (struct task_struct *tsk);
32
33 #ifdef CONFIG_CKRM_RES_BLKIO
34
35 extern void *cki_tsk_icls (struct task_struct *tsk);
36 extern int cki_tsk_ioprio (struct task_struct *tsk);
37 extern void *cki_tsk_cfqpriv (struct task_struct *tsk);
38
39 #endif /* CONFIG_CKRM_RES_BLKIO */
40
41 #endif