Annotation of XNU/osfmk/kern/task_swap.h, revision 1.1.1.1

1.1       root        1: /*
                      2:  * Copyright (c) 2000 Apple Computer, Inc. All rights reserved.
                      3:  *
                      4:  * @APPLE_LICENSE_HEADER_START@
                      5:  * 
                      6:  * The contents of this file constitute Original Code as defined in and
                      7:  * are subject to the Apple Public Source License Version 1.1 (the
                      8:  * "License").  You may not use this file except in compliance with the
                      9:  * License.  Please obtain a copy of the License at
                     10:  * http://www.apple.com/publicsource and read it before using this file.
                     11:  * 
                     12:  * This Original Code and all software distributed under the License are
                     13:  * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER
                     14:  * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
                     15:  * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
                     16:  * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT.  Please see the
                     17:  * License for the specific language governing rights and limitations
                     18:  * under the License.
                     19:  * 
                     20:  * @APPLE_LICENSE_HEADER_END@
                     21:  */
                     22: /*
                     23:  * @OSF_COPYRIGHT@
                     24:  */
                     25: /*
                     26:  * HISTORY
                     27:  * 
                     28:  * Revision 1.1.1.1  1998/09/22 21:05:32  wsanchez
                     29:  * Import of Mac OS X kernel (~semeria)
                     30:  *
                     31:  * Revision 1.1.1.1  1998/03/07 02:25:56  wsanchez
                     32:  * Import of OSF Mach kernel (~mburg)
                     33:  *
                     34:  * Revision 1.1.4.1  1995/04/07  19:02:38  barbou
                     35:  *     Merged into mainline.
                     36:  *     [95/03/09            barbou]
                     37:  *
                     38:  * Revision 1.1.2.2  1995/02/13  15:35:45  barbou
                     39:  *     Merged/ported to MK6.
                     40:  * 
                     41:  * Revision 1.1.1.3  94/08/12  15:44:39  barbou
                     42:  *     VM Merge - Task Swapper.
                     43:  * 
                     44:  *     Changed host_priv_t into host_t.
                     45:  *     [94/07/28            barbou]
                     46:  * 
                     47:  * Revision 1.1.1.2  1994/07/28  15:33:46  barbou
                     48:  *     Copied from IK.
                     49:  * 
                     50:  * Revision 3.0.3.2  1994/01/20  19:53:01  chasb
                     51:  *     Remove excessively restrictive copyright notice
                     52:  *     [1994/01/20  17:50:40  chasb]
                     53:  * 
                     54:  * Revision 3.0.3.1  1993/12/20  21:06:49  gupta
                     55:  *     Expanded C O P Y R I G H T
                     56:  *     [1993/12/17  22:19:22  gupta]
                     57:  * 
                     58:  * Revision 3.0  1992/12/31  22:08:24  ede
                     59:  *     Initial revision for OSF/1 R1.3
                     60:  * 
                     61:  * Revision 1.1.4.5  1992/03/16  18:02:52  gmf
                     62:  *     Add TASK_SW_ELIGIBLE flag to swap_flags; prototype
                     63:  *     task_swapout_eligible, task_swapout_ineligible.
                     64:  *     [1992/02/12  22:01:48  gmf]
                     65:  * 
                     66:  * Revision 1.1.4.4  1992/01/22  22:14:13  gmf
                     67:  *     Change prototype for task_swappable() to use host_priv_t
                     68:  *     instead of host_t.
                     69:  *     [1992/01/17  17:48:13  gmf]
                     70:  * 
                     71:  * Revision 1.1.4.3  1991/12/10  17:20:55  gmf
                     72:  *     Add extern declaration for new thread.
                     73:  *     Changed TASK_SW_WAIT flag to TASK_SW_WANT_IN.
                     74:  *     [1991/12/10  16:19:10  gmf]
                     75:  * 
                     76:  * Revision 1.1.4.2  1991/11/21  21:48:35  mmp
                     77:  *     initial task swapping code
                     78:  *     [1991/11/21  21:01:37  mmp]
                     79:  * 
                     80:  * $EndLog$
                     81:  */
                     82: 
                     83: /*      
                     84:  *             File:   kern/task_swap.h
                     85:  *      
                     86:  *     Task residency management primitives declarations.
                     87:  */
                     88: 
                     89: #ifndef        _KERN_TASK_SWAP_H_
                     90: #define        _KERN_TASK_SWAP_H_
                     91: 
                     92: #include <kern/host.h>
                     93: 
                     94: /*
                     95:  *     swap states
                     96:  */
                     97: #define TASK_SW_UNSWAPPABLE    1       /* not swappable */
                     98: #define TASK_SW_IN             2       /* swapped in (resident) */
                     99: #define TASK_SW_OUT            3       /* swapped out (non-resident) */
                    100: #define TASK_SW_COMING_IN      4       /* about to be swapped in */
                    101: #define TASK_SW_GOING_OUT      5       /* being swapped out */
                    102: 
                    103: /*
                    104:  *     swap flags
                    105:  */
                    106: #define TASK_SW_MAKE_UNSWAPPABLE       0x01    /* make it unswappable */
                    107: #define TASK_SW_WANT_IN                        0x02    /* sleeping on state */
                    108: #define TASK_SW_ELIGIBLE               0x04    /* eligible for swapping */
                    109: 
                    110: /*
                    111:  * exported routines
                    112:  */
                    113: extern void task_swapper_init(void);
                    114: extern kern_return_t task_swapin(
                    115:                                task_t,         /* task */
                    116:                                boolean_t);     /* make_unswappable */
                    117: extern kern_return_t task_swapout(task_t /* task */);
                    118: extern void task_swapper(void);
                    119: extern void task_swap_swapout_thread(void);
                    120: extern void compute_vm_averages(void);
                    121: extern kern_return_t task_swappable(
                    122:                                host_t,         /* host */
                    123:                                task_t,         /* task */
                    124:                                boolean_t);     /* swappable */
                    125: extern void task_swapout_eligible(task_t /* task */);
                    126: extern void task_swapout_ineligible(task_t /* task */);
                    127: extern void swapout_ast(void);
                    128: 
                    129: #endif /* _KERN_TASK_SWAP_H_ */

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.