runq.h revision 178172
128861Skato/*- 2139790Simp * Copyright (c) 2001 Jake Burkholder <jake@FreeBSD.org> 328861Skato * All rights reserved. 428861Skato * 528861Skato * Redistribution and use in source and binary forms, with or without 628861Skato * modification, are permitted provided that the following conditions 728861Skato * are met: 828861Skato * 1. Redistributions of source code must retain the above copyright 928861Skato * notice, this list of conditions and the following disclaimer. 1028861Skato * 2. Redistributions in binary form must reproduce the above copyright 1128861Skato * notice, this list of conditions and the following disclaimer in the 1228861Skato * documentation and/or other materials provided with the distribution. 1328861Skato * 1428861Skato * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 1528861Skato * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 1628861Skato * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 1728861Skato * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 1828861Skato * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 1928861Skato * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 2028861Skato * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 2128861Skato * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 2228861Skato * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 2328861Skato * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 2428861Skato * SUCH DAMAGE. 2528861Skato * 2628861Skato * from: src/sys/i386/include/runq.h,v 1.3 2005/01/06 22:18:15 imp 2728861Skato * $FreeBSD: head/sys/mips/include/runq.h 178172 2008-04-13 07:27:37Z imp $ 2828861Skato */ 2959490Snyan 3059490Snyan#ifndef _MACHINE_RUNQ_H_ 3128861Skato#define _MACHINE_RUNQ_H_ 3228861Skato 3328861Skato#define RQB_LEN (2) /* Number of priority status words. */ 3428861Skato#define RQB_L2BPW (5) /* Log2(sizeof(rqb_word_t) * NBBY)). */ 3528861Skato#define RQB_BPW (1<<RQB_L2BPW) /* Bits in an rqb_word_t. */ 3628861Skato 3728861Skato#define RQB_BIT(pri) (1 << ((pri) & (RQB_BPW - 1))) 3828861Skato#define RQB_WORD(pri) ((pri) >> RQB_L2BPW) 3928861Skato 4028861Skato#define RQB_FFS(word) (ffs(word) - 1) 4128861Skato 4228861Skato/* 4328861Skato * Type of run queue status word. 4460938Sjake */ 4528861Skatotypedef u_int32_t rqb_word_t; 4628861Skato 4728861Skato#endif 4828861Skato