xref: /netbsd-src/sys/uvm/uvm_pdpolicy_impl.h (revision 9d3e3eab2326f5306ca6acc2adf2b58c2d92b32e)
1*9d3e3eabSyamt /*	$NetBSD: uvm_pdpolicy_impl.h,v 1.2 2006/09/15 15:51:13 yamt Exp $	*/
2*9d3e3eabSyamt 
3*9d3e3eabSyamt /*-
4*9d3e3eabSyamt  * Copyright (c)2006 YAMAMOTO Takashi,
5*9d3e3eabSyamt  * All rights reserved.
6*9d3e3eabSyamt  *
7*9d3e3eabSyamt  * Redistribution and use in source and binary forms, with or without
8*9d3e3eabSyamt  * modification, are permitted provided that the following conditions
9*9d3e3eabSyamt  * are met:
10*9d3e3eabSyamt  * 1. Redistributions of source code must retain the above copyright
11*9d3e3eabSyamt  *    notice, this list of conditions and the following disclaimer.
12*9d3e3eabSyamt  * 2. Redistributions in binary form must reproduce the above copyright
13*9d3e3eabSyamt  *    notice, this list of conditions and the following disclaimer in the
14*9d3e3eabSyamt  *    documentation and/or other materials provided with the distribution.
15*9d3e3eabSyamt  *
16*9d3e3eabSyamt  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
17*9d3e3eabSyamt  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
18*9d3e3eabSyamt  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
19*9d3e3eabSyamt  * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
20*9d3e3eabSyamt  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
21*9d3e3eabSyamt  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
22*9d3e3eabSyamt  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
23*9d3e3eabSyamt  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
24*9d3e3eabSyamt  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
25*9d3e3eabSyamt  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
26*9d3e3eabSyamt  * SUCH DAMAGE.
27*9d3e3eabSyamt  */
28*9d3e3eabSyamt 
29*9d3e3eabSyamt #ifndef _UVM_PDPOLICY_IMPL_H_
30*9d3e3eabSyamt #define _UVM_PDPOLICY_IMPL_H_
31*9d3e3eabSyamt 
32*9d3e3eabSyamt /*
33*9d3e3eabSyamt  * definitions for page replacement policy implementations.
34*9d3e3eabSyamt  */
35*9d3e3eabSyamt 
36*9d3e3eabSyamt #include <sys/evcnt.h>
37*9d3e3eabSyamt 
38*9d3e3eabSyamt #define	PDPOL_EVCNT_DEFINE(name) \
39*9d3e3eabSyamt struct evcnt pdpol_evcnt_##name = EVCNT_INITIALIZER(EVCNT_TYPE_MISC, NULL, \
40*9d3e3eabSyamt     "pdpolicy", #name); \
41*9d3e3eabSyamt EVCNT_ATTACH_STATIC(pdpol_evcnt_##name);
42*9d3e3eabSyamt #define	PDPOL_EVCNT_INCR(ev)		pdpol_evcnt_##ev.ev_count++
43*9d3e3eabSyamt 
44*9d3e3eabSyamt #endif /* !_UVM_PDPOLICY_IMPL_H_ */
45