vm_machdep.c (302408) | vm_machdep.c (327785) |
---|---|
1/*- 2 * Copyright (c) 1982, 1986 The Regents of the University of California. 3 * Copyright (c) 1989, 1990 William Jolitz 4 * Copyright (c) 1994 John Dyson 5 * Copyright (c) 2001 Jake Burkholder. 6 * All rights reserved. 7 * 8 * This code is derived from software contributed to Berkeley by --- 25 unchanged lines hidden (view full) --- 34 * SUCH DAMAGE. 35 * 36 * from: @(#)vm_machdep.c 7.3 (Berkeley) 5/13/91 37 * Utah $Hdr: vm_machdep.c 1.16.1.1 89/06/23$ 38 * from: FreeBSD: src/sys/i386/i386/vm_machdep.c,v 1.167 2001/07/12 39 */ 40 41#include <sys/cdefs.h> | 1/*- 2 * Copyright (c) 1982, 1986 The Regents of the University of California. 3 * Copyright (c) 1989, 1990 William Jolitz 4 * Copyright (c) 1994 John Dyson 5 * Copyright (c) 2001 Jake Burkholder. 6 * All rights reserved. 7 * 8 * This code is derived from software contributed to Berkeley by --- 25 unchanged lines hidden (view full) --- 34 * SUCH DAMAGE. 35 * 36 * from: @(#)vm_machdep.c 7.3 (Berkeley) 5/13/91 37 * Utah $Hdr: vm_machdep.c 1.16.1.1 89/06/23$ 38 * from: FreeBSD: src/sys/i386/i386/vm_machdep.c,v 1.167 2001/07/12 39 */ 40 41#include <sys/cdefs.h> |
42__FBSDID("$FreeBSD: stable/11/sys/sparc64/sparc64/vm_machdep.c 301961 2016-06-16 12:05:44Z kib $"); | 42__FBSDID("$FreeBSD: stable/11/sys/sparc64/sparc64/vm_machdep.c 327785 2018-01-10 20:39:26Z markj $"); |
43 44#include "opt_pmap.h" 45 46#include <sys/param.h> 47#include <sys/systm.h> 48#include <sys/bio.h> 49#include <sys/buf.h> 50#include <sys/kernel.h> --- 338 unchanged lines hidden (view full) --- 389 /* Nothing to do here - busdma bounce buffers are not implemented. */ 390} 391 392void * 393uma_small_alloc(uma_zone_t zone, vm_size_t bytes, u_int8_t *flags, int wait) 394{ 395 vm_paddr_t pa; 396 vm_page_t m; | 43 44#include "opt_pmap.h" 45 46#include <sys/param.h> 47#include <sys/systm.h> 48#include <sys/bio.h> 49#include <sys/buf.h> 50#include <sys/kernel.h> --- 338 unchanged lines hidden (view full) --- 389 /* Nothing to do here - busdma bounce buffers are not implemented. */ 390} 391 392void * 393uma_small_alloc(uma_zone_t zone, vm_size_t bytes, u_int8_t *flags, int wait) 394{ 395 vm_paddr_t pa; 396 vm_page_t m; |
397 int pflags; | |
398 void *va; 399 400 PMAP_STATS_INC(uma_nsmall_alloc); 401 402 *flags = UMA_SLAB_PRIV; | 397 void *va; 398 399 PMAP_STATS_INC(uma_nsmall_alloc); 400 401 *flags = UMA_SLAB_PRIV; |
403 pflags = malloc2vm_flags(wait) | VM_ALLOC_WIRED; | |
404 | 402 |
405 for (;;) { 406 m = vm_page_alloc(NULL, 0, pflags | VM_ALLOC_NOOBJ); 407 if (m == NULL) { 408 if (wait & M_NOWAIT) 409 return (NULL); 410 else 411 VM_WAIT; 412 } else 413 break; 414 } | 403 m = vm_page_alloc(NULL, 0, 404 malloc2vm_flags(wait) | VM_ALLOC_WIRED | VM_ALLOC_NOOBJ); 405 if (m == NULL) 406 return (NULL); |
415 416 pa = VM_PAGE_TO_PHYS(m); 417 if (dcache_color_ignore == 0 && m->md.color != DCACHE_COLOR(pa)) { 418 KASSERT(m->md.colors[0] == 0 && m->md.colors[1] == 0, 419 ("uma_small_alloc: free page %p still has mappings!", m)); 420 PMAP_STATS_INC(uma_nsmall_alloc_oc); 421 m->md.color = DCACHE_COLOR(pa); 422 dcache_page_inval(pa); --- 33 unchanged lines hidden --- | 407 408 pa = VM_PAGE_TO_PHYS(m); 409 if (dcache_color_ignore == 0 && m->md.color != DCACHE_COLOR(pa)) { 410 KASSERT(m->md.colors[0] == 0 && m->md.colors[1] == 0, 411 ("uma_small_alloc: free page %p still has mappings!", m)); 412 PMAP_STATS_INC(uma_nsmall_alloc_oc); 413 m->md.color = DCACHE_COLOR(pa); 414 dcache_page_inval(pa); --- 33 unchanged lines hidden --- |