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