vm_page.c (3af64f03119a159ac15eb75b92d346705b490385) | vm_page.c (463406ac4a531b8f4c6102715c17da6183d10be3) |
---|---|
1/*- 2 * SPDX-License-Identifier: (BSD-3-Clause AND MIT-CMU) 3 * 4 * Copyright (c) 1991 Regents of the University of California. 5 * All rights reserved. 6 * Copyright (c) 1998 Matthew Dillon. All Rights Reserved. 7 * 8 * This code is derived from software contributed to Berkeley by --- 2945 unchanged lines hidden (view full) --- 2954 "pageprocwait", 1); 2955 } else { 2956 /* 2957 * XXX Ideally we would wait only until the allocation could 2958 * be satisfied. This condition can cause new allocators to 2959 * consume all freed pages while old allocators wait. 2960 */ 2961 mtx_lock(&vm_domainset_lock); | 1/*- 2 * SPDX-License-Identifier: (BSD-3-Clause AND MIT-CMU) 3 * 4 * Copyright (c) 1991 Regents of the University of California. 5 * All rights reserved. 6 * Copyright (c) 1998 Matthew Dillon. All Rights Reserved. 7 * 8 * This code is derived from software contributed to Berkeley by --- 2945 unchanged lines hidden (view full) --- 2954 "pageprocwait", 1); 2955 } else { 2956 /* 2957 * XXX Ideally we would wait only until the allocation could 2958 * be satisfied. This condition can cause new allocators to 2959 * consume all freed pages while old allocators wait. 2960 */ 2961 mtx_lock(&vm_domainset_lock); |
2962 if (DOMAINSET_SUBSET(&vm_min_domains, wdoms)) { | 2962 if (vm_page_count_min_set(wdoms)) { |
2963 vm_min_waiters++; 2964 msleep(&vm_min_domains, &vm_domainset_lock, 2965 PVM | PDROP, "vmwait", 0); 2966 } else 2967 mtx_unlock(&vm_domainset_lock); 2968 } 2969} 2970 --- 102 unchanged lines hidden (view full) --- 3073{ 3074 3075 /* 3076 * XXX Ideally we would wait only until the allocation could 3077 * be satisfied. This condition can cause new allocators to 3078 * consume all freed pages while old allocators wait. 3079 */ 3080 mtx_lock(&vm_domainset_lock); | 2963 vm_min_waiters++; 2964 msleep(&vm_min_domains, &vm_domainset_lock, 2965 PVM | PDROP, "vmwait", 0); 2966 } else 2967 mtx_unlock(&vm_domainset_lock); 2968 } 2969} 2970 --- 102 unchanged lines hidden (view full) --- 3073{ 3074 3075 /* 3076 * XXX Ideally we would wait only until the allocation could 3077 * be satisfied. This condition can cause new allocators to 3078 * consume all freed pages while old allocators wait. 3079 */ 3080 mtx_lock(&vm_domainset_lock); |
3081 if (DOMAINSET_SUBSET(&vm_min_domains, &dset->ds_mask)) { | 3081 if (vm_page_count_min_set(&dset->ds_mask)) { |
3082 vm_min_waiters++; 3083 msleep(&vm_min_domains, &vm_domainset_lock, PUSER | PDROP, 3084 "pfault", 0); 3085 } else 3086 mtx_unlock(&vm_domainset_lock); 3087} 3088 3089struct vm_pagequeue * --- 1430 unchanged lines hidden --- | 3082 vm_min_waiters++; 3083 msleep(&vm_min_domains, &vm_domainset_lock, PUSER | PDROP, 3084 "pfault", 0); 3085 } else 3086 mtx_unlock(&vm_domainset_lock); 3087} 3088 3089struct vm_pagequeue * --- 1430 unchanged lines hidden --- |