On Fri, May 13, 2011 at 11:36:48PM +0100, Owain Ainsworth wrote: > On Mon, May 09, 2011 at 10:15:23PM +0100, Owain Ainsworth wrote: > > On Mon, May 09, 2011 at 07:22:01PM +0100, Owain Ainsworth wrote: > > > The new world order of pmemrange makes this data completely redundant > > > (being dealt with by the pmemrange constraints instead). Remove all code > > > that messes with the freelist. > > > > > > While touching every caller of uvm_page_physload() anyway, add the flags > > > argument to all callers (all but one is 0 and that one already used > > > PHYSLOAD_DEVICE) and remove the macro magic to allow callers to continue > > > without it. > > > > > > Should shrink the code a bit, as well. > > > > > > My machine room is still in a mess, so this has only had the build > > > testing on i386 and amd64. I'd appreciate if people could check the > > > others since it'll be a while before I can get all my machines properly > > > set up. > > > > > > ok? > > > > matthew@ kindly pointed out two cases there I had missed the flags > > addition. > > So i have verified that this builds on: > > alpha > amd64 > armish > beagle > hppa > hppa64 > i386 > landisk > loongson > macppc > octeon > palm > socppc > sparc > sparc64 > zaurus > > gumstix didn't pass config let alone build but that seems to be a > problem in GENERIC. > > So that leaves only the m88k-arch, m68k-arch and vax kernels untested (and > there is no way I can verify them really). > > Any comments? ok?
Freelist death, I like. Ok. > > > > diff --git arch/alpha/alpha/machdep.c arch/alpha/alpha/machdep.c > > index 2a5a8de..216a681 100644 > > --- arch/alpha/alpha/machdep.c > > +++ arch/alpha/alpha/machdep.c > > @@ -559,7 +559,7 @@ nobootinfo: > > "0x%lx / 0x%lx\n", pfn0, kernstartpfn); > > #endif > > uvm_page_physload(pfn0, kernstartpfn, > > - pfn0, kernstartpfn, VM_FREELIST_DEFAULT); > > + pfn0, kernstartpfn, 0); > > } > > #ifdef _PMAP_MAY_USE_PROM_CONSOLE > > } > > @@ -573,7 +573,7 @@ nobootinfo: > > "0x%lx / 0x%lx\n", kernendpfn, pfn1); > > #endif > > uvm_page_physload(kernendpfn, pfn1, > > - kernendpfn, pfn1, VM_FREELIST_DEFAULT); > > + kernendpfn, pfn1, 0); > > } > > } else { > > /* > > @@ -583,8 +583,7 @@ nobootinfo: > > printf("Loading cluster %d: 0x%lx / 0x%lx\n", i, > > pfn0, pfn1); > > #endif > > - uvm_page_physload(pfn0, pfn1, pfn0, pfn1, > > - VM_FREELIST_DEFAULT); > > + uvm_page_physload(pfn0, pfn1, pfn0, pfn1, 0); > > } > > #ifdef _PMAP_MAY_USE_PROM_CONSOLE > > } > > diff --git arch/alpha/include/vmparam.h arch/alpha/include/vmparam.h > > index 24fb644..5ff1c06 100644 > > --- arch/alpha/include/vmparam.h > > +++ arch/alpha/include/vmparam.h > > @@ -125,9 +125,6 @@ > > #define VM_PHYSSEG_STRAT VM_PSTRAT_BSEARCH > > #define VM_PHYSSEG_NOADD /* no more after > > vm_mem_init */ > > > > -#define VM_NFREELIST 1 > > -#define VM_FREELIST_DEFAULT 0 > > - > > /* > > * pmap-specific data stored in the vm_physmem[] array. > > */ > > diff --git arch/amd64/amd64/machdep.c arch/amd64/amd64/machdep.c > > index 9ca1a7a..bc728a3 100644 > > --- arch/amd64/amd64/machdep.c > > +++ arch/amd64/amd64/machdep.c > > @@ -1360,7 +1360,6 @@ init_x86_64(paddr_t first_avail) > > for (x = 0; x < mem_cluster_cnt; x++) { > > paddr_t seg_start = mem_clusters[x].start; > > paddr_t seg_end = seg_start + mem_clusters[x].size; > > - int seg_type; > > > > if (seg_start < first_avail) seg_start = first_avail; > > if (seg_start > seg_end) continue; > > @@ -1368,20 +1367,12 @@ init_x86_64(paddr_t first_avail) > > > > physmem += atop(mem_clusters[x].size); > > > > - /* XXX - Should deal with 4GB boundary */ > > - if (seg_start >= (1UL<<32)) > > - seg_type = VM_FREELIST_HIGH; > > - else if (seg_end <= 16*1024*1024) > > - seg_type = VM_FREELIST_LOW; > > - else > > - seg_type = VM_FREELIST_DEFAULT; > > - > > #if DEBUG_MEMLOAD > > printf("loading 0x%lx-0x%lx (0x%lx-0x%lx)\n", > > seg_start, seg_end, atop(seg_start), atop(seg_end)); > > #endif > > uvm_page_physload(atop(seg_start), atop(seg_end), > > - atop(seg_start), atop(seg_end), seg_type); > > + atop(seg_start), atop(seg_end), 0); > > } > > #if DEBUG_MEMLOAD > > printf("avail_start = 0x%lx\n", avail_start); > > diff --git arch/amd64/include/vmparam.h arch/amd64/include/vmparam.h > > index 494416f..bc22bac 100644 > > --- arch/amd64/include/vmparam.h > > +++ arch/amd64/include/vmparam.h > > @@ -110,11 +110,6 @@ > > #define VM_PHYSSEG_STRAT VM_PSTRAT_BIGFIRST > > #define VM_PHYSSEG_NOADD /* can't add RAM after vm_mem_init */ > > > > -#define VM_NFREELIST 3 > > -#define VM_FREELIST_DEFAULT 0 > > -#define VM_FREELIST_LOW 1 > > -#define VM_FREELIST_HIGH 2 > > - > > #define __HAVE_VM_PAGE_MD > > struct pv_entry; > > struct vm_page_md { > > diff --git arch/armish/armish/armish_machdep.c > > arch/armish/armish/armish_machdep.c > > index d8ac7f6..850694f 100644 > > --- arch/armish/armish/armish_machdep.c > > +++ arch/armish/armish/armish_machdep.c > > @@ -750,8 +750,7 @@ initarm(void *arg) > > #endif > > uvm_setpagesize(); /* initialize PAGE_SIZE-dependent variables */ > > uvm_page_physload(atop(physical_freestart), atop(physical_freeend), > > - atop(physical_freestart), atop(physical_freeend), > > - VM_FREELIST_DEFAULT); > > + atop(physical_freestart), atop(physical_freeend), 0); > > > > /* Boot strap pmap telling it where the kernel page table is */ > > #ifdef VERBOSE_INIT_ARM > > diff --git arch/armish/include/vmparam.h arch/armish/include/vmparam.h > > index 6e955c6..9547898 100644 > > --- arch/armish/include/vmparam.h > > +++ arch/armish/include/vmparam.h > > @@ -93,8 +93,4 @@ > > */ > > #endif /* _KERNEL */ > > > > -#define VM_NFREELIST 2 > > -#define VM_FREELIST_DEFAULT 0 > > - > > - > > #endif /* _MACHINE_VMPARAM_H_ */ > > diff --git arch/aviion/aviion/machdep.c arch/aviion/aviion/machdep.c > > index c26b33b..4f078f6 100644 > > --- arch/aviion/aviion/machdep.c > > +++ arch/aviion/aviion/machdep.c > > @@ -757,7 +757,7 @@ aviion_bootstrap() > > * XXX so we will need to upload two ranges of pages on them. > > */ > > uvm_page_physload(atop(avail_start), atop(avail_end), > > - atop(avail_start), atop(avail_end), VM_FREELIST_DEFAULT); > > + atop(avail_start), atop(avail_end), 0); > > > > /* > > * Initialize message buffer. > > diff --git arch/beagle/beagle/beagle_machdep.c > > arch/beagle/beagle/beagle_machdep.c > > index d19cde7..c87ddcd 100644 > > --- arch/beagle/beagle/beagle_machdep.c > > +++ arch/beagle/beagle/beagle_machdep.c > > @@ -887,8 +887,7 @@ initarm(void *arg) > > #endif > > uvm_setpagesize(); /* initialize PAGE_SIZE-dependent variables */ > > uvm_page_physload(atop(physical_freestart), atop(physical_freeend), > > - atop(physical_freestart), atop(physical_freeend), > > - VM_FREELIST_DEFAULT); > > + atop(physical_freestart), atop(physical_freeend), 0); > > > > /* Boot strap pmap telling it where the kernel page table is */ > > #ifdef VERBOSE_INIT_ARM > > diff --git arch/beagle/include/vmparam.h arch/beagle/include/vmparam.h > > index 6de61a5..cad31a8 100644 > > --- arch/beagle/include/vmparam.h > > +++ arch/beagle/include/vmparam.h > > @@ -85,16 +85,6 @@ > > > > #define VM_PHYSSEG_NOADD > > > > -/* > > - * we support 2 free lists: > > - * > > - * - DEFAULT for all systems > > - * - ISADMA for the ISA DMA range on Sharks only > > - */ > > #endif /* _KERNEL */ > > > > -#define VM_NFREELIST 2 > > -#define VM_FREELIST_DEFAULT 0 > > - > > - > > #endif /* _MACHINE_VMPARAM_H_ */ > > diff --git arch/gumstix/gumstix/gumstix_machdep.c > > arch/gumstix/gumstix/gumstix_machdep.c > > index 8f13f1c..d9789ea 100644 > > --- arch/gumstix/gumstix/gumstix_machdep.c > > +++ arch/gumstix/gumstix/gumstix_machdep.c > > @@ -1021,8 +1021,7 @@ initarm(void *arg) > > #endif > > uvm_setpagesize(); /* initialize PAGE_SIZE-dependent variables */ > > uvm_page_physload(atop(physical_freestart), atop(physical_freeend), > > - atop(physical_freestart), atop(physical_freeend), > > - VM_FREELIST_DEFAULT); > > + atop(physical_freestart), atop(physical_freeend), 0); > > > > /* Boot strap pmap telling it where the kernel page table is */ > > #ifdef VERBOSE_INIT_ARM > > diff --git arch/gumstix/include/vmparam.h arch/gumstix/include/vmparam.h > > index 3352e71..5fcf3b7 100644 > > --- arch/gumstix/include/vmparam.h > > +++ arch/gumstix/include/vmparam.h > > @@ -79,8 +79,5 @@ > > > > #endif /* _KERNEL */ > > > > -#define VM_NFREELIST 1 > > -#define VM_FREELIST_DEFAULT 0 > > - > > > > #endif /* _MACHINE_VMPARAM_H_ */ > > diff --git arch/hp300/hp300/machdep.c arch/hp300/hp300/machdep.c > > index cf372aa..f4e81e4 100644 > > --- arch/hp300/hp300/machdep.c > > +++ arch/hp300/hp300/machdep.c > > @@ -177,7 +177,7 @@ hp300_init() > > * hp300 only has one segment. > > */ > > uvm_page_physload(atop(avail_start), atop(avail_end), > > - atop(avail_start), atop(avail_end), VM_FREELIST_DEFAULT); > > + atop(avail_start), atop(avail_end), 0); > > > > /* Initialize the interrupt handlers. */ > > intr_init(); > > diff --git arch/hppa/hppa/pmap.c arch/hppa/hppa/pmap.c > > index bd25f96..f151c78 100644 > > --- arch/hppa/hppa/pmap.c > > +++ arch/hppa/hppa/pmap.c > > @@ -587,8 +587,7 @@ pmap_bootstrap(vstart) > > resvphysmem = atop(addr); > > eaddr = physmem - atop(round_page(MSGBUFSIZE)); > > DPRINTF(PDB_INIT, ("physmem: 0x%x - 0x%x\n", resvphysmem, eaddr)); > > - uvm_page_physload(0, eaddr, > > - resvphysmem, eaddr, VM_FREELIST_DEFAULT); > > + uvm_page_physload(0, eaddr, resvphysmem, eaddr, 0); > > > > /* TODO optimize/inline the kenter */ > > for (va = 0; va < ptoa(physmem); va += PAGE_SIZE) { > > diff --git arch/hppa/include/vmparam.h arch/hppa/include/vmparam.h > > index bd11ff4..5c6fc85 100644 > > --- arch/hppa/include/vmparam.h > > +++ arch/hppa/include/vmparam.h > > @@ -92,10 +92,6 @@ > > > > #define VM_PHYSSEG_NOADD /* XXX until uvm code is fixed */ > > > > -#define VM_NFREELIST 2 > > -#define VM_FREELIST_DEFAULT 0 > > -#define VM_FREELIST_ARCH 1 > > - > > #if defined(_KERNEL) && !defined(_LOCORE) > > > > #include <sys/lock.h> > > diff --git arch/hppa64/hppa64/pmap.c arch/hppa64/hppa64/pmap.c > > index 829b3a4..1bb084f 100644 > > --- arch/hppa64/hppa64/pmap.c > > +++ arch/hppa64/hppa64/pmap.c > > @@ -528,8 +528,7 @@ pmap_bootstrap(vaddr_t vstart) > > eaddr = physmem - atop(round_page(MSGBUFSIZE)); > > resvphysmem = atop(addr); > > DPRINTF(PDB_INIT, ("physmem: 0x%lx - 0x%lx\n", resvphysmem, eaddr)); > > - uvm_page_physload(0, physmem, > > - resvphysmem, eaddr, VM_FREELIST_DEFAULT); > > + uvm_page_physload(0, physmem, resvphysmem, eaddr, 0); > > } > > > > void > > diff --git arch/hppa64/include/vmparam.h arch/hppa64/include/vmparam.h > > index 9a24059..78eeb32 100644 > > --- arch/hppa64/include/vmparam.h > > +++ arch/hppa64/include/vmparam.h > > @@ -87,10 +87,6 @@ > > > > #define VM_PHYSSEG_NOADD /* XXX until uvm code is fixed */ > > > > -#define VM_NFREELIST 2 > > -#define VM_FREELIST_DEFAULT 0 > > -#define VM_FREELIST_ARCH 1 > > - > > #if defined(_KERNEL) && !defined(_LOCORE) > > > > #include <sys/lock.h> > > diff --git arch/i386/i386/machdep.c arch/i386/i386/machdep.c > > index 67ef48c..241a090 100644 > > --- arch/i386/i386/machdep.c > > +++ arch/i386/i386/machdep.c > > @@ -3140,12 +3140,11 @@ init386(paddr_t first_avail) > > #ifdef DEBUG > > printf(" %x-%x (<16M)", lim, kb); > > #endif > > - uvm_page_physload(lim, kb, lim, kb, VM_FREELIST_FIRST16); > > + uvm_page_physload(lim, kb, lim, kb, 0); > > } > > > > for (i = 0; i < ndumpmem; i++) { > > paddr_t a, e; > > - paddr_t lim; > > > > a = dumpmem[i].start; > > e = dumpmem[i].end; > > @@ -3155,27 +3154,10 @@ init386(paddr_t first_avail) > > e = atop(avail_end); > > > > if (a < e) { > > - if (a < atop(16 * 1024 * 1024)) { > > - lim = MIN(atop(16 * 1024 * 1024), e); > > -#ifdef DEBUG > > - printf(" %x-%x (<16M)", a, lim); > > -#endif > > - uvm_page_physload(a, lim, a, lim, > > - VM_FREELIST_FIRST16); > > - if (e > lim) { > > -#ifdef DEBUG > > - printf(" %x-%x", lim, e); > > -#endif > > - uvm_page_physload(lim, e, lim, e, > > - VM_FREELIST_DEFAULT); > > - } > > - } else { > > #ifdef DEBUG > > printf(" %x-%x", a, e); > > #endif > > - uvm_page_physload(a, e, a, e, > > - VM_FREELIST_DEFAULT); > > - } > > + uvm_page_physload(a, e, a, e, 0); > > } > > } > > #ifdef DEBUG > > diff --git arch/i386/include/vmparam.h arch/i386/include/vmparam.h > > index ebbf1c3..cf2a5a9 100644 > > --- arch/i386/include/vmparam.h > > +++ arch/i386/include/vmparam.h > > @@ -117,10 +117,6 @@ > > #define VM_PHYSSEG_STRAT VM_PSTRAT_BSEARCH > > #define VM_PHYSSEG_NOADD /* can't add RAM after vm_mem_init */ > > > > -#define VM_NFREELIST 2 > > -#define VM_FREELIST_DEFAULT 0 > > -#define VM_FREELIST_FIRST16 1 > > - > > #define __HAVE_VM_PAGE_MD > > struct pv_entry; > > struct vm_page_md { > > diff --git arch/landisk/include/vmparam.h arch/landisk/include/vmparam.h > > index 2748383..5b2c9e6 100644 > > --- arch/landisk/include/vmparam.h > > +++ arch/landisk/include/vmparam.h > > @@ -12,7 +12,4 @@ > > #define VM_PHYSSEG_NOADD > > #define VM_PHYSSEG_STRAT VM_PSTRAT_RANDOM > > > > -#define VM_NFREELIST 1 > > -#define VM_FREELIST_DEFAULT 0 > > - > > #endif /* _MACHINE_VMPARAM_H_ */ > > diff --git arch/landisk/landisk/machdep.c arch/landisk/landisk/machdep.c > > index 2d59e59..96c4009 100644 > > --- arch/landisk/landisk/machdep.c > > +++ arch/landisk/landisk/machdep.c > > @@ -163,7 +163,7 @@ landisk_startup(int howto, char *_esym) > > kernend = atop(round_page(SH3_P1SEG_TO_PHYS(kernend))); > > uvm_page_physload(atop(IOM_RAM_BEGIN), > > atop(IOM_RAM_BEGIN + ramsize), kernend, > > - atop(IOM_RAM_BEGIN + ramsize), VM_FREELIST_DEFAULT); > > + atop(IOM_RAM_BEGIN + ramsize), 0); > > cpu_init_kcore_hdr(); /* need to be done before pmap_bootstrap */ > > > > /* Initialize proc0 u-area */ > > diff --git arch/loongson/loongson/machdep.c arch/loongson/loongson/machdep.c > > index 256e825..46f3306 100644 > > --- arch/loongson/loongson/machdep.c > > +++ arch/loongson/loongson/machdep.c > > @@ -449,7 +449,6 @@ mips_init(int32_t argc, int32_t argv, int32_t envp, > > int32_t cv, > > for (i = 0; i < MAXMEMSEGS && mem_layout[i].mem_last_page != 0; i++) { > > uint64_t fp, lp; > > uint64_t firstkernpage, lastkernpage; > > - unsigned int freelist; > > paddr_t firstkernpa, lastkernpa; > > > > /* kernel is linked in CKSEG0 */ > > @@ -463,14 +462,13 @@ mips_init(int32_t argc, int32_t argv, int32_t envp, > > int32_t cv, > > > > fp = mem_layout[i].mem_first_page; > > lp = mem_layout[i].mem_last_page; > > - freelist = mem_layout[i].mem_freelist; > > > > /* Account for kernel and kernel symbol table. */ > > if (fp >= firstkernpage && lp < lastkernpage) > > continue; /* In kernel. */ > > > > if (lp < firstkernpage || fp > lastkernpage) { > > - uvm_page_physload(fp, lp, fp, lp, freelist); > > + uvm_page_physload(fp, lp, fp, lp, 0); > > continue; /* Outside kernel. */ > > } > > > > @@ -480,11 +478,11 @@ mips_init(int32_t argc, int32_t argv, int32_t envp, > > int32_t cv, > > lp = firstkernpage; > > else { /* Need to split! */ > > uint64_t xp = firstkernpage; > > - uvm_page_physload(fp, xp, fp, xp, freelist); > > + uvm_page_physload(fp, xp, fp, xp, 0); > > fp = lastkernpage; > > } > > if (lp > fp) { > > - uvm_page_physload(fp, lp, fp, lp, freelist); > > + uvm_page_physload(fp, lp, fp, lp, 0); > > } > > } > > > > diff --git arch/luna88k/luna88k/machdep.c arch/luna88k/luna88k/machdep.c > > index e74bb9a..7d58faa 100644 > > --- arch/luna88k/luna88k/machdep.c > > +++ arch/luna88k/luna88k/machdep.c > > @@ -960,7 +960,7 @@ luna88k_bootstrap() > > * luna88k only has one segment. > > */ > > uvm_page_physload(atop(avail_start), atop(avail_end), > > - atop(avail_start), atop(avail_end),VM_FREELIST_DEFAULT); > > + atop(avail_start), atop(avail_end), 0); > > > > /* > > * Initialize message buffer. > > diff --git arch/m68k/include/vmparam.h arch/m68k/include/vmparam.h > > index 2d7259a..93848e7 100644 > > --- arch/m68k/include/vmparam.h > > +++ arch/m68k/include/vmparam.h > > @@ -114,9 +114,6 @@ > > */ > > #define VM_PHYSSEG_NOADD > > > > -#define VM_NFREELIST 1 > > -#define VM_FREELIST_DEFAULT 0 > > - > > #ifndef _LOCORE > > > > #include <machine/pte.h> /* st_entry_t */ > > diff --git arch/m88k/include/vmparam.h arch/m88k/include/vmparam.h > > index c08c5b7..4935b53 100644 > > --- arch/m88k/include/vmparam.h > > +++ arch/m88k/include/vmparam.h > > @@ -86,9 +86,6 @@ > > #define VM_PHYSSEG_STRAT VM_PSTRAT_RANDOM > > #define VM_PHYSSEG_NOADD > > > > -#define VM_NFREELIST 1 > > -#define VM_FREELIST_DEFAULT 0 > > - > > #ifndef _LOCORE > > /* > > * pmap-specific data stored in the vm_physmem[] array. > > diff --git arch/mac68k/mac68k/machdep.c arch/mac68k/mac68k/machdep.c > > index a79b571..d8b2e15 100644 > > --- arch/mac68k/mac68k/machdep.c > > +++ arch/mac68k/mac68k/machdep.c > > @@ -245,12 +245,10 @@ mac68k_init() > > for (i = 0; i < numranges; i++) { > > if (low[i] <= avail_start && avail_start < high[i]) > > uvm_page_physload(atop(avail_start), atop(high[i]), > > - atop(avail_start), atop(high[i]), > > - VM_FREELIST_DEFAULT); > > + atop(avail_start), atop(high[i]), 0); > > else > > uvm_page_physload(atop(low[i]), atop(high[i]), > > - atop(low[i]), atop(high[i]), > > - VM_FREELIST_DEFAULT); > > + atop(low[i]), atop(high[i]), 0); > > } > > > > /* > > diff --git arch/macppc/include/vmparam.h arch/macppc/include/vmparam.h > > index 41b9056..9059cc8 100644 > > --- arch/macppc/include/vmparam.h > > +++ arch/macppc/include/vmparam.h > > @@ -101,9 +101,6 @@ extern vaddr_t ppc_kvm_stolen; > > #define VM_PHYSSEG_STRAT VM_PSTRAT_BSEARCH > > #define VM_PHYSSEG_NOADD /* can't add RAM after vm_mem_init */ > > > > -#define VM_NFREELIST 1 > > -#define VM_FREELIST_DEFAULT 0 > > - > > #ifdef _KERNEL > > > > #define __HAVE_VM_PAGE_MD > > diff --git arch/mips64/include/memconf.h arch/mips64/include/memconf.h > > index e65d53a..71d7351 100644 > > --- arch/mips64/include/memconf.h > > +++ arch/mips64/include/memconf.h > > @@ -35,7 +35,6 @@ > > struct phys_mem_desc { > > uint64_t mem_first_page; > > uint64_t mem_last_page; > > - unsigned int mem_freelist; > > }; > > > > #ifdef _KERNEL > > @@ -43,7 +42,7 @@ struct phys_mem_desc { > > #define MAXMEMSEGS 16 > > #endif > > extern struct phys_mem_desc mem_layout[]; > > -int memrange_register(uint64_t, uint64_t, uint64_t, unsigned int); > > +int memrange_register(uint64_t, uint64_t, uint64_t); > > #endif > > > > #endif /* !_MIPS64_MEMCONF_H_ */ > > diff --git arch/mips64/include/vmparam.h arch/mips64/include/vmparam.h > > index 1e8fc99..6579e2e 100644 > > --- arch/mips64/include/vmparam.h > > +++ arch/mips64/include/vmparam.h > > @@ -106,11 +106,6 @@ > > #define VM_PIE_MIN_ADDR PAGE_SIZE > > #define VM_PIE_MAX_ADDR (0x10000000UL) > > > > -#ifndef VM_NFREELIST > > -#define VM_NFREELIST 1 > > -#endif > > -#define VM_FREELIST_DEFAULT 0 > > - > > /* virtual sizes (bytes) for various kernel submaps */ > > #define VM_PHYS_SIZE (USRIOSIZE*PAGE_SIZE) > > > > diff --git arch/mips64/mips64/arcbios.c arch/mips64/mips64/arcbios.c > > index 1e82a4e..ce8f8ad 100644 > > --- arch/mips64/mips64/arcbios.c > > +++ arch/mips64/mips64/arcbios.c > > @@ -365,8 +365,7 @@ bios_configure_memory() > > break; > > } > > if (seg_start < seg_end) > > - memrange_register(seg_start, seg_end, 0, > > - VM_FREELIST_DEFAULT); > > + memrange_register(seg_start, seg_end, 0); > > break; > > case ExceptionBlock: > > case SystemParameterBlock: > > diff --git arch/mvme68k/mvme68k/machdep.c arch/mvme68k/mvme68k/machdep.c > > index 2d76d92..1a5b7ed 100644 > > --- arch/mvme68k/mvme68k/machdep.c > > +++ arch/mvme68k/mvme68k/machdep.c > > @@ -177,7 +177,7 @@ mvme68k_init() > > uvmexp.pagesize = NBPG; > > uvm_setpagesize(); > > uvm_page_physload(atop(avail_start), atop(avail_end), > > - atop(avail_start), atop(avail_end), VM_FREELIST_DEFAULT); > > + atop(avail_start), atop(avail_end), 0); > > > > /* > > * Put machine specific exception vectors in place. > > diff --git arch/mvme88k/mvme88k/machdep.c arch/mvme88k/mvme88k/machdep.c > > index 551d238..a3f51b3 100644 > > --- arch/mvme88k/mvme88k/machdep.c > > +++ arch/mvme88k/mvme88k/machdep.c > > @@ -990,7 +990,7 @@ mvme_bootstrap() > > * might want to register ECC memory separately later on... > > */ > > uvm_page_physload(atop(avail_start), atop(avail_end), > > - atop(avail_start), atop(avail_end), VM_FREELIST_DEFAULT); > > + atop(avail_start), atop(avail_end), 0); > > > > /* > > * Initialize message buffer. > > diff --git arch/mvmeppc/include/vmparam.h arch/mvmeppc/include/vmparam.h > > index 453a1d2..be9fa35 100644 > > --- arch/mvmeppc/include/vmparam.h > > +++ arch/mvmeppc/include/vmparam.h > > @@ -104,7 +104,4 @@ struct pmap_physseg { > > #define VM_PHYSSEG_STRAT VM_PSTRAT_BSEARCH > > #define VM_PHYSSEG_NOADD /* can't add RAM after vm_mem_init */ > > > > -#define VM_NFREELIST 1 > > -#define VM_FREELIST_DEFAULT 0 > > - > > #endif > > diff --git arch/octeon/octeon/machdep.c arch/octeon/octeon/machdep.c > > index 358a505..0e7127b 100644 > > --- arch/octeon/octeon/machdep.c > > +++ arch/octeon/octeon/machdep.c > > @@ -227,7 +227,6 @@ octeon_memory_init(struct boot_info *boot_info) > > endpfn = atop(96 << 20); > > mem_layout[0].mem_first_page = startpfn; > > mem_layout[0].mem_last_page = endpfn; > > - mem_layout[0].mem_freelist = VM_FREELIST_DEFAULT; > > > > physmem = endpfn - startpfn; > > > > @@ -281,7 +280,6 @@ octeon_memory_init(struct boot_info *boot_info) > > physmem += btoc(phys_avail[3] - phys_avail[2]); > > mem_layout[2].mem_first_page = atop(phys_avail[2]); > > mem_layout[2].mem_last_page = atop(phys_avail[3]-1); > > - mem_layout[2].mem_freelist = VM_FREELIST_DEFAULT; > > #endif > > realmem_bytes -= OCTEON_DRAM_FIRST_256_END; > > > > @@ -291,7 +289,6 @@ octeon_memory_init(struct boot_info *boot_info) > > physmem += btoc(phys_avail[5] - phys_avail[4]); > > mem_layout[1].mem_first_page = atop(phys_avail[4]); > > mem_layout[1].mem_last_page = atop(phys_avail[5]-1); > > - mem_layout[1].mem_freelist = VM_FREELIST_DEFAULT; > > realmem_bytes=0; > > }else{ > > #if 0 /* XXX: need fix on mips64 pmap code */ > > @@ -301,7 +298,6 @@ octeon_memory_init(struct boot_info *boot_info) > > physmem += btoc(phys_avail[3] - phys_avail[2]); > > mem_layout[1].mem_first_page = atop(phys_avail[2]); > > mem_layout[1].mem_last_page = atop(phys_avail[3]-1); > > - mem_layout[1].mem_freelist = VM_FREELIST_DEFAULT; > > realmem_bytes=0; > > #endif > > } > > @@ -403,7 +399,6 @@ mips_init(__register_t a0, __register_t a1, > > __register_t a2 __unused, > > for (i = 0; i < MAXMEMSEGS && mem_layout[i].mem_last_page != 0; i++) { > > uint64_t fp, lp; > > uint64_t firstkernpage, lastkernpage; > > - unsigned int freelist; > > paddr_t firstkernpa, lastkernpa; > > > > /* kernel is linked in CKSEG0 */ > > @@ -415,14 +410,13 @@ mips_init(__register_t a0, __register_t a1, > > __register_t a2 __unused, > > > > fp = mem_layout[i].mem_first_page; > > lp = mem_layout[i].mem_last_page; > > - freelist = mem_layout[i].mem_freelist; > > > > /* Account for kernel and kernel symbol table. */ > > if (fp >= firstkernpage && lp < lastkernpage) > > continue; /* In kernel. */ > > > > if (lp < firstkernpage || fp > lastkernpage) { > > - uvm_page_physload(fp, lp, fp, lp, freelist); > > + uvm_page_physload(fp, lp, fp, lp, 0); > > continue; /* Outside kernel. */ > > } > > > > @@ -432,11 +426,11 @@ mips_init(__register_t a0, __register_t a1, > > __register_t a2 __unused, > > lp = firstkernpage; > > else { /* Need to split! */ > > uint64_t xp = firstkernpage; > > - uvm_page_physload(fp, xp, fp, xp, freelist); > > + uvm_page_physload(fp, xp, fp, xp, 0); > > fp = lastkernpage; > > } > > if (lp > fp) { > > - uvm_page_physload(fp, lp, fp, lp, freelist); > > + uvm_page_physload(fp, lp, fp, lp, 0); > > } > > } > > > > diff --git arch/palm/include/vmparam.h arch/palm/include/vmparam.h > > index 3352e71..6b74069 100644 > > --- arch/palm/include/vmparam.h > > +++ arch/palm/include/vmparam.h > > @@ -79,8 +79,4 @@ > > > > #endif /* _KERNEL */ > > > > -#define VM_NFREELIST 1 > > -#define VM_FREELIST_DEFAULT 0 > > - > > - > > #endif /* _MACHINE_VMPARAM_H_ */ > > diff --git arch/palm/palm/palm_machdep.c arch/palm/palm/palm_machdep.c > > index a813b4b..09c6fe0 100644 > > --- arch/palm/palm/palm_machdep.c > > +++ arch/palm/palm/palm_machdep.c > > @@ -1051,8 +1051,7 @@ initarm(void *arg) > > #endif > > uvm_setpagesize(); /* initialize PAGE_SIZE-dependent variables */ > > uvm_page_physload(atop(physical_freestart), atop(physical_freeend), > > - atop(physical_freestart), atop(physical_freeend), > > - VM_FREELIST_DEFAULT); > > + atop(physical_freestart), atop(physical_freeend), 0); > > > > /* Boot strap pmap telling it where the kernel page table is */ > > #ifdef VERBOSE_INIT_ARM > > diff --git arch/powerpc/powerpc/pmap.c arch/powerpc/powerpc/pmap.c > > index b6da286..eb8d398 100644 > > --- arch/powerpc/powerpc/pmap.c > > +++ arch/powerpc/powerpc/pmap.c > > @@ -1748,8 +1748,7 @@ pmap_bootstrap(u_int kernelstart, u_int kernelend) > > if (mp->start + mp->size > 0x80000000) > > mp->size = 0x80000000 - mp->start; > > uvm_page_physload(atop(mp->start), atop(mp->start+mp->size), > > - atop(mp->start), atop(mp->start+mp->size), > > - VM_FREELIST_DEFAULT); > > + atop(mp->start), atop(mp->start+mp->size), 0); > > } > > } > > > > diff --git arch/sgi/include/vmparam.h arch/sgi/include/vmparam.h > > index 516d855..fed2014 100644 > > --- arch/sgi/include/vmparam.h > > +++ arch/sgi/include/vmparam.h > > @@ -16,9 +16,6 @@ > > * have more than 2GB of physical memory, so this doesn't affect them. > > */ > > > > -#define VM_NFREELIST 2 > > -#define VM_FREELIST_DMA32 1 /* memory suitable for 32-bit > > DMA */ > > - > > #include <mips64/vmparam.h> > > > > #endif /* _MACHINE_VMPARAM_H_ */ > > diff --git arch/sgi/sgi/autoconf.c arch/sgi/sgi/autoconf.c > > index d913577..f8dd65b 100644 > > --- arch/sgi/sgi/autoconf.c > > +++ arch/sgi/sgi/autoconf.c > > @@ -163,8 +163,7 @@ diskconf(void) > > * Register a memory region. > > */ > > int > > -memrange_register(uint64_t startpfn, uint64_t endpfn, uint64_t bmask, > > - unsigned int freelist) > > +memrange_register(uint64_t startpfn, uint64_t endpfn, uint64_t bmask) > > { > > struct phys_mem_desc *cur, *m = NULL; > > int i; > > @@ -209,18 +208,16 @@ memrange_register(uint64_t startpfn, uint64_t endpfn, > > uint64_t bmask, > > m = cur; /* first free segment */ > > continue; > > } > > - /* merge contiguous areas if on the same freelist */ > > - if (cur->mem_freelist == freelist) { > > - if (cur->mem_first_page == endpfn && > > - ((cur->mem_last_page ^ startpfn) & bmask) == 0) { > > - cur->mem_first_page = startpfn; > > - return 0; > > - } > > - if (cur->mem_last_page == startpfn && > > - ((cur->mem_first_page ^ endpfn) & bmask) == 0) { > > - cur->mem_last_page = endpfn; > > - return 0; > > - } > > + /* merge contiguous areas */ > > + if (cur->mem_first_page == endpfn && > > + ((cur->mem_last_page ^ startpfn) & bmask) == 0) { > > + cur->mem_first_page = startpfn; > > + return 0; > > + } > > + if (cur->mem_last_page == startpfn && > > + ((cur->mem_first_page ^ endpfn) & bmask) == 0) { > > + cur->mem_last_page = endpfn; > > + return 0; > > } > > } > > > > @@ -229,7 +226,6 @@ memrange_register(uint64_t startpfn, uint64_t endpfn, > > uint64_t bmask, > > > > m->mem_first_page = startpfn; > > m->mem_last_page = endpfn; > > - m->mem_freelist = freelist; > > return 0; > > } > > > > diff --git arch/sgi/sgi/ip30_machdep.c arch/sgi/sgi/ip30_machdep.c > > index 90c6ff4..de73530 100644 > > --- arch/sgi/sgi/ip30_machdep.c > > +++ arch/sgi/sgi/ip30_machdep.c > > @@ -137,8 +137,7 @@ ip30_setup() > > * Add memory not obtained through ARCBios. > > */ > > if (start >= IP30_MEMORY_BASE + IP30_MEMORY_ARCBIOS_LIMIT) { > > - memrange_register(atop(start), atop(end), > > - 0, VM_FREELIST_DEFAULT); > > + memrange_register(atop(start), atop(end), 0); > > } > > } > > > > diff --git arch/sgi/sgi/ip32_machdep.c arch/sgi/sgi/ip32_machdep.c > > index d70fb19..3f1dfa7 100644 > > --- arch/sgi/sgi/ip32_machdep.c > > +++ arch/sgi/sgi/ip32_machdep.c > > @@ -98,8 +98,7 @@ crime_configure_memory(void) > > first_page = atop(addr); > > last_page = atop(addr + size); > > > > - memrange_register(first_page, last_page, 0, > > - VM_FREELIST_DEFAULT); > > + memrange_register(first_page, last_page, 0); > > } > > > > #ifdef DEBUG > > diff --git arch/sgi/sgi/machdep.c arch/sgi/sgi/machdep.c > > index 5a46ddb..072679a 100644 > > --- arch/sgi/sgi/machdep.c > > +++ arch/sgi/sgi/machdep.c > > @@ -315,7 +315,6 @@ mips_init(int argc, void *argv, caddr_t boot_esym) > > for (i = 0; i < MAXMEMSEGS && mem_layout[i].mem_last_page != 0; i++) { > > uint64_t fp, lp; > > uint64_t firstkernpage, lastkernpage; > > - unsigned int freelist; > > paddr_t firstkernpa, lastkernpa; > > > > if (IS_XKPHYS((vaddr_t)start)) > > @@ -332,14 +331,13 @@ mips_init(int argc, void *argv, caddr_t boot_esym) > > > > fp = mem_layout[i].mem_first_page; > > lp = mem_layout[i].mem_last_page; > > - freelist = mem_layout[i].mem_freelist; > > > > /* Account for kernel and kernel symbol table. */ > > if (fp >= firstkernpage && lp < lastkernpage) > > continue; /* In kernel. */ > > > > if (lp < firstkernpage || fp > lastkernpage) { > > - uvm_page_physload(fp, lp, fp, lp, freelist); > > + uvm_page_physload(fp, lp, fp, lp, 0); > > continue; /* Outside kernel. */ > > } > > > > @@ -349,11 +347,11 @@ mips_init(int argc, void *argv, caddr_t boot_esym) > > lp = firstkernpage; > > else { /* Need to split! */ > > uint64_t xp = firstkernpage; > > - uvm_page_physload(fp, xp, fp, xp, freelist); > > + uvm_page_physload(fp, xp, fp, xp, 0); > > fp = lastkernpage; > > } > > if (lp > fp) { > > - uvm_page_physload(fp, lp, fp, lp, freelist); > > + uvm_page_physload(fp, lp, fp, lp, 0); > > } > > } > > > > diff --git arch/sgi/sgi/sginode.c arch/sgi/sgi/sginode.c > > index b26b0df..a269475 100644 > > --- arch/sgi/sgi/sginode.c > > +++ arch/sgi/sgi/sginode.c > > @@ -526,9 +526,7 @@ kl_add_memory_ip27(int16_t nasid, int16_t *sizes, > > unsigned int cnt) > > } > > > > if (memrange_register(fp, lp, > > - ~(atop(1UL << kl_n_shift) - 1), > > - lp <= atop(2UL << 30) ? > > - VM_FREELIST_DEFAULT : VM_FREELIST_DMA32) != 0) { > > + ~(atop(1UL << kl_n_shift) - 1)) != 0) { > > /* > > * We could hijack the smallest segment here. > > * But is it really worth doing? > > @@ -575,9 +573,7 @@ kl_add_memory_ip35(int16_t nasid, int16_t *sizes, > > unsigned int cnt) > > } > > > > if (memrange_register(fp, lp, > > - ~(atop(1UL << kl_n_shift) - 1), > > - lp <= atop(2UL << 30) ? > > - VM_FREELIST_DEFAULT : VM_FREELIST_DMA32) != 0) { > > + ~(atop(1UL << kl_n_shift) - 1)) != 0) { > > /* > > * We could hijack the smallest segment here. > > * But is it really worth doing? > > diff --git arch/socppc/include/vmparam.h arch/socppc/include/vmparam.h > > index 95987bf..97429e4 100644 > > --- arch/socppc/include/vmparam.h > > +++ arch/socppc/include/vmparam.h > > @@ -97,9 +97,6 @@ extern vaddr_t ppc_kvm_stolen; > > #define VM_PHYSSEG_NOADD > > #define VM_PHYSSEG_STRAT VM_PSTRAT_RANDOM > > > > -#define VM_NFREELIST 1 > > -#define VM_FREELIST_DEFAULT 0 > > - > > #ifdef _KERNEL > > > > #define __HAVE_VM_PAGE_MD > > diff --git arch/solbourne/solbourne/pmap.c arch/solbourne/solbourne/pmap.c > > index f693ee3..a395e67 100644 > > --- arch/solbourne/solbourne/pmap.c > > +++ arch/solbourne/solbourne/pmap.c > > @@ -455,17 +455,14 @@ pmap_bootstrap(size_t promdata) > > #endif > > uvm_page_physload( > > atop(PTW1_TO_PHYS(ekern)), prompa, > > - atop(PTW1_TO_PHYS(ekern)), prompa, > > - VM_FREELIST_DEFAULT); > > + atop(PTW1_TO_PHYS(ekern)), prompa, 0); > > uvm_page_physload( > > prompa + promlen, atop(PHYSMEM_BASE) + physmem, > > - prompa + promlen, atop(PHYSMEM_BASE) + physmem, > > - VM_FREELIST_DEFAULT); > > + prompa + promlen, atop(PHYSMEM_BASE) + physmem, 0); > > } else { > > uvm_page_physload( > > atop(PTW1_TO_PHYS(ekern)), atop(PHYSMEM_BASE) + physmem, > > - atop(PTW1_TO_PHYS(ekern)), atop(PHYSMEM_BASE) + physmem, > > - VM_FREELIST_DEFAULT); > > + atop(PTW1_TO_PHYS(ekern)), atop(PHYSMEM_BASE) + physmem, 0); > > } > > } > > > > diff --git arch/sparc/include/vmparam.h arch/sparc/include/vmparam.h > > index e0d39e8..52a5dc7 100644 > > --- arch/sparc/include/vmparam.h > > +++ arch/sparc/include/vmparam.h > > @@ -130,9 +130,6 @@ struct vm_page_md { > > (pg)->mdpage.pv_head.pv_flags = 0; \ > > } while (0) > > > > -#define VM_NFREELIST 1 > > -#define VM_FREELIST_DEFAULT 0 > > - > > #if defined (_KERNEL) && !defined(_LOCORE) > > struct vm_map; > > #define dvma_mapin(map,va,len,canwait) > > dvma_mapin_space(map,va,len,canwait,0) > > diff --git arch/sparc/sparc/pmap.c arch/sparc/sparc/pmap.c > > index d062497..3d8a402 100644 > > --- arch/sparc/sparc/pmap.c > > +++ arch/sparc/sparc/pmap.c > > @@ -865,7 +865,7 @@ pmap_page_upload(void) > > start, chop, end); > > #endif > > uvm_page_physload(atop(start), atop(chop), > > - atop(start), atop(chop), VM_FREELIST_DEFAULT); > > + atop(start), atop(chop), 0); > > > > /* > > * Adjust the start address to reflect the > > @@ -883,7 +883,7 @@ pmap_page_upload(void) > > > > /* Upload (the rest of) this segment */ > > uvm_page_physload(atop(start), atop(end), > > - atop(start), atop(end), VM_FREELIST_DEFAULT); > > + atop(start), atop(end), 0); > > } > > } > > > > diff --git arch/sparc64/include/vmparam.h arch/sparc64/include/vmparam.h > > index 254fa31..fb056e5 100644 > > --- arch/sparc64/include/vmparam.h > > +++ arch/sparc64/include/vmparam.h > > @@ -115,9 +115,6 @@ > > #define VM_PHYSSEG_STRAT VM_PSTRAT_BSEARCH > > #define VM_PHYSSEG_NOADD /* can't add RAM after vm_mem_init > > */ > > > > -#define VM_NFREELIST 1 > > -#define VM_FREELIST_DEFAULT 0 > > - > > #define __HAVE_VM_PAGE_MD > > /* > > * For each struct vm_page, there is a list of all currently valid virtual > > diff --git arch/sparc64/sparc64/pmap.c arch/sparc64/sparc64/pmap.c > > index 72c96e0..bf1b336 100644 > > --- arch/sparc64/sparc64/pmap.c > > +++ arch/sparc64/sparc64/pmap.c > > @@ -1235,8 +1235,7 @@ remap_data: > > atop(mp->start), > > atop(mp->start+mp->size), > > atop(mp->start), > > - atop(mp->start+mp->size), > > - VM_FREELIST_DEFAULT); > > + atop(mp->start+mp->size), 0); > > } > > > > #if 0 > > @@ -1246,8 +1245,7 @@ remap_data: > > uvm_page_physload(atop(ekdatap), > > atop(roundup(ekdatap, (4*MEG))), > > atop(ekdatap), > > - atop(roundup(ekdatap, (4*MEG))), > > - VM_FREELIST_DEFAULT); > > + atop(roundup(ekdatap, (4*MEG))), 0); > > } > > #endif > > > > diff --git arch/vax/include/vmparam.h arch/vax/include/vmparam.h > > index ec2c07b..9ca23a8 100644 > > --- arch/vax/include/vmparam.h > > +++ arch/vax/include/vmparam.h > > @@ -88,9 +88,6 @@ > > #define VM_PHYSSEG_NOADD > > #define VM_PHYSSEG_STRAT VM_PSTRAT_RANDOM > > > > -#define VM_NFREELIST 1 > > -#define VM_FREELIST_DEFAULT 0 > > - > > /* MD round macros */ > > #define vax_round_page(x) (((vaddr_t)(x) + VAX_PGOFSET) & ~VAX_PGOFSET) > > #define vax_trunc_page(x) ((vaddr_t)(x) & ~VAX_PGOFSET) > > diff --git arch/vax/vax/pmap.c arch/vax/vax/pmap.c > > index ee93472..aa637f3 100644 > > --- arch/vax/vax/pmap.c > > +++ arch/vax/vax/pmap.c > > @@ -257,7 +257,7 @@ pmap_bootstrap() > > * Now everything should be complete, start virtual memory. > > */ > > uvm_page_physload(atop(avail_start), atop(avail_end), > > - atop(avail_start), atop(avail_end), VM_FREELIST_DEFAULT); > > + atop(avail_start), atop(avail_end), 0); > > mtpr(sysptsize, PR_SLR); > > rpb.sbr = mfpr(PR_SBR); > > rpb.slr = mfpr(PR_SLR); > > diff --git arch/zaurus/include/vmparam.h arch/zaurus/include/vmparam.h > > index 3352e71..6b74069 100644 > > --- arch/zaurus/include/vmparam.h > > +++ arch/zaurus/include/vmparam.h > > @@ -79,8 +79,4 @@ > > > > #endif /* _KERNEL */ > > > > -#define VM_NFREELIST 1 > > -#define VM_FREELIST_DEFAULT 0 > > - > > - > > #endif /* _MACHINE_VMPARAM_H_ */ > > diff --git arch/zaurus/zaurus/zaurus_machdep.c > > arch/zaurus/zaurus/zaurus_machdep.c > > index ae7e156..d5f226e 100644 > > --- arch/zaurus/zaurus/zaurus_machdep.c > > +++ arch/zaurus/zaurus/zaurus_machdep.c > > @@ -1090,8 +1090,7 @@ initarm(void *arg) > > #endif > > uvm_setpagesize(); /* initialize PAGE_SIZE-dependent variables */ > > uvm_page_physload(atop(physical_freestart), atop(physical_freeend), > > - atop(physical_freestart), atop(physical_freeend), > > - VM_FREELIST_DEFAULT); > > + atop(physical_freestart), atop(physical_freeend), 0); > > > > /* Boot strap pmap telling it where the kernel page table is */ > > #ifdef VERBOSE_INIT_ARM > > diff --git dev/pci/drm/i915_drv.c dev/pci/drm/i915_drv.c > > index 6fb20fe..e7990b0 100644 > > --- dev/pci/drm/i915_drv.c > > +++ dev/pci/drm/i915_drv.c > > @@ -489,9 +489,9 @@ inteldrm_attach(struct device *parent, struct device > > *self, void *aux) > > dev = (struct drm_device *)dev_priv->drmdev; > > > > /* XXX would be a lot nicer to get agp info before now */ > > - uvm_page_physload_flags(atop(dev->agp->base), atop(dev->agp->base + > > + uvm_page_physload(atop(dev->agp->base), atop(dev->agp->base + > > dev->agp->info.ai_aperture_size), atop(dev->agp->base), > > - atop(dev->agp->base + dev->agp->info.ai_aperture_size), 0, > > + atop(dev->agp->base + dev->agp->info.ai_aperture_size), > > PHYSLOAD_DEVICE); > > /* array of vm pages that physload introduced. */ > > dev_priv->pgs = PHYS_TO_VM_PAGE(dev->agp->base); > > diff --git uvm/uvm.h uvm/uvm.h > > index 3d79243..8417327 100644 > > --- uvm/uvm.h > > +++ uvm/uvm.h > > @@ -62,9 +62,6 @@ > > #include <uvm/uvm_swap_encrypt.h> > > #endif > > > > -/* > > - * pull in VM_NFREELIST > > - */ > > #include <machine/vmparam.h> > > > > /* > > diff --git uvm/uvm_extern.h uvm/uvm_extern.h > > index 8a90373..dda792c 100644 > > --- uvm/uvm_extern.h > > +++ uvm/uvm_extern.h > > @@ -673,10 +673,8 @@ void uvm_pagealloc_multi(struct > > uvm_object *, voff_t, > > void uvm_pagerealloc(struct vm_page *, > > struct uvm_object *, voff_t); > > /* Actually, uvm_page_physload takes PF#s which need their own type */ > > -void uvm_page_physload_flags(paddr_t, paddr_t, > > paddr_t, > > - paddr_t, int, int); > > -#define uvm_page_physload(s, e, as, ae, fl) \ > > - uvm_page_physload_flags(s, e, as, ae, fl, 0) > > +void uvm_page_physload(paddr_t, paddr_t, paddr_t, > > + paddr_t, int); > > void uvm_setpagesize(void); > > void uvm_shutdown(void); > > > > diff --git uvm/uvm_page.c uvm/uvm_page.c > > index 10ef7d1..e0eddfe 100644 > > --- uvm/uvm_page.c > > +++ uvm/uvm_page.c > > @@ -459,14 +459,11 @@ uvm_pageboot_alloc(vsize_t size) > > * => return false if out of memory. > > */ > > > > -/* subroutine: try to allocate from memory chunks on the specified > > freelist */ > > -static boolean_t uvm_page_physget_freelist(paddr_t *, int); > > - > > -static boolean_t > > -uvm_page_physget_freelist(paddr_t *paddrp, int freelist) > > +boolean_t > > +uvm_page_physget(paddr_t *paddrp) > > { > > int lcv, x; > > - UVMHIST_FUNC("uvm_page_physget_freelist"); UVMHIST_CALLED(pghist); > > + UVMHIST_FUNC("uvm_page_physget"); UVMHIST_CALLED(pghist); > > > > /* pass 1: try allocating from a matching end */ > > #if (VM_PHYSSEG_STRAT == VM_PSTRAT_BIGFIRST) || \ > > @@ -480,9 +477,6 @@ uvm_page_physget_freelist(paddr_t *paddrp, int freelist) > > if (uvm.page_init_done == TRUE) > > panic("uvm_page_physget: called _after_ bootstrap"); > > > > - if (vm_physmem[lcv].free_list != freelist) > > - continue; > > - > > /* try from front */ > > if (vm_physmem[lcv].avail_start == vm_physmem[lcv].start && > > vm_physmem[lcv].avail_start < vm_physmem[lcv].avail_end) { > > @@ -555,18 +549,6 @@ uvm_page_physget_freelist(paddr_t *paddrp, int > > freelist) > > return (FALSE); /* whoops! */ > > } > > > > -boolean_t > > -uvm_page_physget(paddr_t *paddrp) > > -{ > > - int i; > > - UVMHIST_FUNC("uvm_page_physget"); UVMHIST_CALLED(pghist); > > - > > - /* try in the order of freelist preference */ > > - for (i = 0; i < VM_NFREELIST; i++) > > - if (uvm_page_physget_freelist(paddrp, i) == TRUE) > > - return (TRUE); > > - return (FALSE); > > -} > > #endif /* PMAP_STEAL_MEMORY */ > > > > /* > > @@ -579,8 +561,8 @@ uvm_page_physget(paddr_t *paddrp) > > */ > > > > void > > -uvm_page_physload_flags(paddr_t start, paddr_t end, paddr_t avail_start, > > - paddr_t avail_end, int free_list, int flags) > > +uvm_page_physload(paddr_t start, paddr_t end, paddr_t avail_start, > > + paddr_t avail_end, int flags) > > { > > int preload, lcv; > > psize_t npages; > > @@ -590,9 +572,6 @@ uvm_page_physload_flags(paddr_t start, paddr_t end, > > paddr_t avail_start, > > if (uvmexp.pagesize == 0) > > panic("uvm_page_physload: page size not set!"); > > > > - if (free_list >= VM_NFREELIST || free_list < VM_FREELIST_DEFAULT) > > - panic("uvm_page_physload: bad free list %d", free_list); > > - > > if (start >= end) > > panic("uvm_page_physload: start >= end"); > > > > @@ -732,7 +711,6 @@ uvm_page_physload_flags(paddr_t start, paddr_t end, > > paddr_t avail_start, > > ps->pgs = pgs; > > ps->lastpg = pgs + npages - 1; > > } > > - ps->free_list = free_list; > > vm_nphysseg++; > > > > /* > > diff --git uvm/uvm_page.h uvm/uvm_page.h > > index e131424..105f1e7 100644 > > --- uvm/uvm_page.h > > +++ uvm/uvm_page.h > > @@ -202,7 +202,6 @@ struct vm_physseg { > > paddr_t end; /* (PF# of last page in segment) + 1 */ > > paddr_t avail_start; /* PF# of first free page in segment */ > > paddr_t avail_end; /* (PF# of last free page in segment) > > +1 */ > > - int free_list; /* which free list they belong on */ > > struct vm_page *pgs; /* vm_page structures (from start) */ > > struct vm_page *lastpg; /* vm_page structure for end */ > > #ifdef __HAVE_PMAP_PHYSSEG > > -- > > 1.7.3.5 > > > > > > -- > > Two sure ways to tell a sexy male; the first is, he has a bad memory. > > I forget the second. > > -- > It shall be unlawful for any suspicious person to be within the > municipality. > -- Local ordinance, Euclid Ohio > -- Ariane