1b80a9543SAlex Hornung /* 2b80a9543SAlex Hornung * Copyright (c) 2009 The DragonFly Project. All rights reserved. 3b80a9543SAlex Hornung * 4b80a9543SAlex Hornung * This code is derived from software contributed to The DragonFly Project 5b80a9543SAlex Hornung * by Alex Hornung <ahornung@gmail.com> 6b80a9543SAlex Hornung * 7b80a9543SAlex Hornung * Redistribution and use in source and binary forms, with or without 8b80a9543SAlex Hornung * modification, are permitted provided that the following conditions 9b80a9543SAlex Hornung * are met: 10b80a9543SAlex Hornung * 11b80a9543SAlex Hornung * 1. Redistributions of source code must retain the above copyright 12b80a9543SAlex Hornung * notice, this list of conditions and the following disclaimer. 13b80a9543SAlex Hornung * 2. Redistributions in binary form must reproduce the above copyright 14b80a9543SAlex Hornung * notice, this list of conditions and the following disclaimer in 15b80a9543SAlex Hornung * the documentation and/or other materials provided with the 16b80a9543SAlex Hornung * distribution. 17b80a9543SAlex Hornung * 3. Neither the name of The DragonFly Project nor the names of its 18b80a9543SAlex Hornung * contributors may be used to endorse or promote products derived 19b80a9543SAlex Hornung * from this software without specific, prior written permission. 20b80a9543SAlex Hornung * 21b80a9543SAlex Hornung * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 22b80a9543SAlex Hornung * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 23b80a9543SAlex Hornung * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS 24b80a9543SAlex Hornung * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE 25b80a9543SAlex Hornung * COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 26b80a9543SAlex Hornung * INCIDENTAL, SPECIAL, EXEMPLARY OR CONSEQUENTIAL DAMAGES (INCLUDING, 27b80a9543SAlex Hornung * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 28b80a9543SAlex Hornung * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED 29b80a9543SAlex Hornung * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 30b80a9543SAlex Hornung * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT 31b80a9543SAlex Hornung * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 32b80a9543SAlex Hornung * SUCH DAMAGE. 33b80a9543SAlex Hornung */ 34210a0869SSascha Wildner 35b80a9543SAlex Hornung #ifndef _SYS_DSCHED_H_ 36b80a9543SAlex Hornung #define _SYS_DSCHED_H_ 37b80a9543SAlex Hornung 3822befd90SAlex Hornung #if defined(_KERNEL) 39b80a9543SAlex Hornung 40b80a9543SAlex Hornung #ifndef _SYS_QUEUE_H_ 41b80a9543SAlex Hornung #include <sys/queue.h> 42b80a9543SAlex Hornung #endif 43b80a9543SAlex Hornung #ifndef _SYS_BIO_H_ 44b80a9543SAlex Hornung #include <sys/bio.h> 45b80a9543SAlex Hornung #endif 46b80a9543SAlex Hornung #ifndef _SYS_BIOTRACK_H_ 47b80a9543SAlex Hornung #include <sys/biotrack.h> 48b80a9543SAlex Hornung #endif 49b80a9543SAlex Hornung #ifndef _SYS_LOCK_H_ 50b80a9543SAlex Hornung #include <sys/lock.h> 51b80a9543SAlex Hornung #endif 52b80a9543SAlex Hornung #ifndef _SYS_CONF_H_ 53b80a9543SAlex Hornung #include <sys/conf.h> 54b80a9543SAlex Hornung #endif 55b80a9543SAlex Hornung #ifndef _SYS_MSGPORT_H_ 56b80a9543SAlex Hornung #include <sys/msgport.h> 57b80a9543SAlex Hornung #endif 58e02e815eSAlex Hornung #ifndef _SYS_SYSCTL_H_ 59e02e815eSAlex Hornung #include <sys/sysctl.h> 60e02e815eSAlex Hornung #endif 61210a0869SSascha Wildner #ifndef _SYS_DISK_H_ 62279e9fd5SAlex Hornung #include <sys/disk.h> 63279e9fd5SAlex Hornung #endif 64b80a9543SAlex Hornung 65b80a9543SAlex Hornung #define DSCHED_POLICY_NAME_LENGTH 64 66b80a9543SAlex Hornung 67*3573cf7bSMatthew Dillon void dsched_disk_create(struct disk *dp, const char *head_name, int unit); 68*3573cf7bSMatthew Dillon void dsched_disk_update(struct disk *dp, struct disk_info *info); 69*3573cf7bSMatthew Dillon void dsched_disk_destroy(struct disk *dp); 70b80a9543SAlex Hornung 71*3573cf7bSMatthew Dillon /* placemarkers for future work */ 72*3573cf7bSMatthew Dillon #define dsched_buf_enter(bp) 73*3573cf7bSMatthew Dillon #define dsched_buf_exit(bp) 74*3573cf7bSMatthew Dillon #define dsched_enter_proc(p) 75*3573cf7bSMatthew Dillon #define dsched_enter_thread(td) 76*3573cf7bSMatthew Dillon #define dsched_exit_proc(p) 77*3573cf7bSMatthew Dillon #define dsched_exit_thread(td) 78b80a9543SAlex Hornung 7922befd90SAlex Hornung #endif /* _KERNEL */ 80b80a9543SAlex Hornung 81210a0869SSascha Wildner #endif /* !_SYS_DSCHED_H_ */ 82