1*bbb1b6f9SApple OSS Distributions /* 2*bbb1b6f9SApple OSS Distributions * Copyright (c) 2009 Apple, Inc. All rights reserved. 3*bbb1b6f9SApple OSS Distributions * 4*bbb1b6f9SApple OSS Distributions * @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 5*bbb1b6f9SApple OSS Distributions * 6*bbb1b6f9SApple OSS Distributions * This file contains Original Code and/or Modifications of Original Code 7*bbb1b6f9SApple OSS Distributions * as defined in and that are subject to the Apple Public Source License 8*bbb1b6f9SApple OSS Distributions * Version 2.0 (the 'License'). You may not use this file except in 9*bbb1b6f9SApple OSS Distributions * compliance with the License. The rights granted to you under the License 10*bbb1b6f9SApple OSS Distributions * may not be used to create, or enable the creation or redistribution of, 11*bbb1b6f9SApple OSS Distributions * unlawful or unlicensed copies of an Apple operating system, or to 12*bbb1b6f9SApple OSS Distributions * circumvent, violate, or enable the circumvention or violation of, any 13*bbb1b6f9SApple OSS Distributions * terms of an Apple operating system software license agreement. 14*bbb1b6f9SApple OSS Distributions * 15*bbb1b6f9SApple OSS Distributions * Please obtain a copy of the License at 16*bbb1b6f9SApple OSS Distributions * http://www.opensource.apple.com/apsl/ and read it before using this file. 17*bbb1b6f9SApple OSS Distributions * 18*bbb1b6f9SApple OSS Distributions * The Original Code and all software distributed under the License are 19*bbb1b6f9SApple OSS Distributions * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 20*bbb1b6f9SApple OSS Distributions * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 21*bbb1b6f9SApple OSS Distributions * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 22*bbb1b6f9SApple OSS Distributions * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 23*bbb1b6f9SApple OSS Distributions * Please see the License for the specific language governing rights and 24*bbb1b6f9SApple OSS Distributions * limitations under the License. 25*bbb1b6f9SApple OSS Distributions * 26*bbb1b6f9SApple OSS Distributions * @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 27*bbb1b6f9SApple OSS Distributions */ 28*bbb1b6f9SApple OSS Distributions 29*bbb1b6f9SApple OSS Distributions #ifndef __VM_VM_OPTIONS_H__ 30*bbb1b6f9SApple OSS Distributions #define __VM_VM_OPTIONS_H__ 31*bbb1b6f9SApple OSS Distributions 32*bbb1b6f9SApple OSS Distributions #define UPL_DEBUG (DEVELOPMENT || DEBUG) 33*bbb1b6f9SApple OSS Distributions // #define VM_PIP_DEBUG 34*bbb1b6f9SApple OSS Distributions 35*bbb1b6f9SApple OSS Distributions #define VM_PAGE_BUCKETS_CHECK DEBUG 36*bbb1b6f9SApple OSS Distributions #if VM_PAGE_BUCKETS_CHECK 37*bbb1b6f9SApple OSS Distributions #define VM_PAGE_FAKE_BUCKETS 1 38*bbb1b6f9SApple OSS Distributions #endif /* VM_PAGE_BUCKETS_CHECK */ 39*bbb1b6f9SApple OSS Distributions 40*bbb1b6f9SApple OSS Distributions #define VM_OBJECT_TRACKING 0 41*bbb1b6f9SApple OSS Distributions #define VM_SCAN_FOR_SHADOW_CHAIN (DEVELOPMENT || DEBUG) 42*bbb1b6f9SApple OSS Distributions 43*bbb1b6f9SApple OSS Distributions #define VM_OBJECT_ACCESS_TRACKING (DEVELOPMENT || DEBUG) 44*bbb1b6f9SApple OSS Distributions 45*bbb1b6f9SApple OSS Distributions #define VM_NAMED_ENTRY_DEBUG (DEVELOPMENT || DEBUG) 46*bbb1b6f9SApple OSS Distributions 47*bbb1b6f9SApple OSS Distributions #define FBDP_DEBUG_OBJECT_NO_PAGER (DEVELOPMENT || DEBUG) 48*bbb1b6f9SApple OSS Distributions 49*bbb1b6f9SApple OSS Distributions #if XNU_TARGET_OS_OSX && defined(__arm64__) 50*bbb1b6f9SApple OSS Distributions /* 51*bbb1b6f9SApple OSS Distributions * These control whether the compressor thread is filling more than one segment at time. It's enabled only in macOS 52*bbb1b6f9SApple OSS Distributions * since the goal is to better handle multiple processes that do page-outs at the same time. Processes in 53*bbb1b6f9SApple OSS Distributions * embedded platforms are less likely to run more than one app at a time so this optimization is less likely 54*bbb1b6f9SApple OSS Distributions * to be helpful. 55*bbb1b6f9SApple OSS Distributions */ 56*bbb1b6f9SApple OSS Distributions #define COMPRESSOR_PAGEOUT_CHEADS_MAX_COUNT 16 57*bbb1b6f9SApple OSS Distributions #define COMPRESSOR_PAGEOUT_CHEADS_BITS 4 58*bbb1b6f9SApple OSS Distributions #else /* XNU_TARGET_OS_OSX && defined(__arm64__) */ 59*bbb1b6f9SApple OSS Distributions #define COMPRESSOR_PAGEOUT_CHEADS_MAX_COUNT 1 60*bbb1b6f9SApple OSS Distributions #define COMPRESSOR_PAGEOUT_CHEADS_BITS 0 61*bbb1b6f9SApple OSS Distributions #endif /* XNU_TARGET_OS_OSX && defined(__arm64__) */ 62*bbb1b6f9SApple OSS Distributions 63*bbb1b6f9SApple OSS Distributions #define PAGE_SLEEP_WITH_INHERITOR (1) 64*bbb1b6f9SApple OSS Distributions 65*bbb1b6f9SApple OSS Distributions #endif /* __VM_VM_OPTIONS_H__ */ 66