From 7d86823d9876f542e5f006dc7cbaff3294191888 Mon Sep 17 00:00:00 2001 From: Matthew Dillon Date: Mon, 1 Aug 2016 13:03:52 -0700 Subject: [PATCH] kernel - Cleanup vm_page_pcpu_cache() * Remove the empty vm_page_pcpu_cache() function and related call. Page affinity is handled by the vm_page_queues[] array now. --- sys/vm/vm_fault.c | 1 - sys/vm/vm_page.c | 39 --------------------------------------- sys/vm/vm_page.h | 1 - 3 files changed, 41 deletions(-) diff --git a/sys/vm/vm_fault.c b/sys/vm/vm_fault.c index 8081cc4895..606bb7c6c2 100644 --- a/sys/vm/vm_fault.c +++ b/sys/vm/vm_fault.c @@ -309,7 +309,6 @@ vm_fault(vm_map_t map, vm_offset_t vaddr, vm_prot_t fault_type, int fault_flags) int inherit_prot; inherit_prot = fault_type & VM_PROT_NOSYNC; - vm_page_pcpu_cache(); fs.hardfault = 0; fs.fault_flags = fault_flags; fs.vp = NULL; diff --git a/sys/vm/vm_page.c b/sys/vm/vm_page.c index bfcbfff9ae..932d3670d6 100644 --- a/sys/vm/vm_page.c +++ b/sys/vm/vm_page.c @@ -1608,45 +1608,6 @@ vm_page_select_free(u_short pg_color, boolean_t prefer_zero) } /* - * This implements a per-cpu cache of free, zero'd, ready-to-go pages. - * The idea is to populate this cache prior to acquiring any locks so - * we don't wind up potentially zeroing VM pages (under heavy loads) while - * holding potentialy contending locks. - * - * Note that we allocate the page uninserted into anything and use a pindex - * of 0, the vm_page_alloc() will effectively add gd_cpuid so these - * allocations should wind up being uncontended. However, we still want - * to rove across PQ_L2_SIZE. - */ -void -vm_page_pcpu_cache(void) -{ -#if 0 - globaldata_t gd = mycpu; - vm_page_t m; - - if (gd->gd_vmpg_count < GD_MINVMPG) { - crit_enter_gd(gd); - while (gd->gd_vmpg_count < GD_MAXVMPG) { - m = vm_page_alloc(NULL, ticks & ~ncpus2_mask, - VM_ALLOC_NULL_OK | VM_ALLOC_NORMAL | - VM_ALLOC_NULL_OK | VM_ALLOC_ZERO); - if (gd->gd_vmpg_count < GD_MAXVMPG) { - if ((m->flags & PG_ZERO) == 0) { - pmap_zero_page(VM_PAGE_TO_PHYS(m)); - vm_page_flag_set(m, PG_ZERO); - } - gd->gd_vmpg_array[gd->gd_vmpg_count++] = m; - } else { - vm_page_free(m); - } - } - crit_exit_gd(gd); - } -#endif -} - -/* * vm_page_alloc() * * Allocate and return a memory cell associated with this VM object/offset diff --git a/sys/vm/vm_page.h b/sys/vm/vm_page.h index 4c8f07809f..dd42fec86e 100644 --- a/sys/vm/vm_page.h +++ b/sys/vm/vm_page.h @@ -388,7 +388,6 @@ void vm_page_wakeup(vm_page_t m); void vm_page_hold(vm_page_t); void vm_page_unhold(vm_page_t); void vm_page_activate (vm_page_t); -void vm_page_pcpu_cache(void); vm_size_t vm_contig_avail_pages(void); vm_page_t vm_page_alloc (struct vm_object *, vm_pindex_t, int); -- 2.11.4.GIT