On 21:02 Mon 22 Mar, Ariane van der Steldt wrote: > [cc-ed to tech@, more testing is good!] > > Hi, > > Last c2k9 this diff appeared and alot of head-ache was the result, > eventually it was part of the Big Backout. > > Time to try this again. > > What I'd like: > - test this diff > - if you don't test this diff, please run a kernel with > option PAGEFASTRECYCLE > - give feedback/okays on diff below > Below some notes and thoughts on the allocator, some points probably > merit discussion, some points give limitations/cave-ats. > > #define UVM_IO_RANGES > \ > { \ > { 0, 0x00ffffffUL }, /* ISA memory */ \ > { 0, 0xffffffffUL }, /* 32-bit PCI memory */ \ > } > This line increases the cost function for ISA and 32-bit PCI memory: the > allocator will prefer memory outside these ranges unless constrained. > The first range is required: without it, any pci device may be given ISA > memory, causing the actual ISA devices to be unable to allocate (kernel > panics during boot often happen in this case).
Hi! Looks like the isa panics still happen: >> OpenBSD/i386 BOOT 3.02 boot> boot booting hd0a:/bsd: 6885564+1055112 [52+361152+345553]=0x83f480 entry point at 0x200120 [ using 707132 bytes of bsd ELF symbol table ] Copyright (c) 1982, 1986, 1989, 1991, 1993 The Regents of the University of California. All rights reserved. Copyright (c) 1995-2010 OpenBSD. All rights reserved. http://www.OpenBSD.org OpenBSD 4.7-current (GENERIC) #0: Wed Mar 24 00:09:15 EET 2010 pro...@skywalker.wilab:/sys/arch/i386/compile/GENERIC cpu0: Intel(R) Celeron(R) M processor 1.00GHz ("GenuineIntel" 686-class, 0KB L2 cache) 1 GHz cpu0: FPU,V86,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,TM,SBF real mem = 501706752 (478MB) avail mem = 476917760 (454MB) mainbus0 at root bios0 at mainbus0: AT/286+ BIOS, date 05/03/07, BIOS32 rev. 0 @ 0xfaa80, SMBIOS rev. 2.2 @ 0xf0800 (34 entries) bios0: vendor Phoenix Technologies, LTD version "6.00 PG" date 05/03/2007 apm0 at bios0: Power Management spec V1.2 (slowidle) apm0: AC on, battery charge unknown acpi at bios0 function 0x0 not configured pcibios0 at bios0: rev 2.1 @ 0xf0000/0xdf84 pcibios0: PCI IRQ Routing Table rev 1.0 @ 0xfde80/240 (13 entries) pcibios0: PCI Exclusive IRQs: 6 9 10 12 pcibios0: PCI Interrupt Router at 000:31:0 ("Intel 82801DBM LPC" rev 0x00) pcibios0: PCI bus #1 is the last bus bios0: ROM list: 0xc0000/0xd400! cpu0 at mainbus0: (uniprocessor) pci0 at mainbus0 bus 0: configuration mode 1 (bios) pchb0 at pci0 dev 0 function 0 "Intel 82855GM Host" rev 0x02 "Intel 82855GM Memory" rev 0x02 at pci0 dev 0 function 1 not configured "Intel 82855GM Config" rev 0x02 at pci0 dev 0 function 3 not configured vga1 at pci0 dev 2 function 0 "Intel 82855GM Video" rev 0x02 wsdisplay0 at vga1 mux 1: console (80x25, vt100 emulation) wsdisplay0: screen 1-5 added (80x25, vt100 emulation) intagp0 at vga1 agp0 at intagp0: aperture at 0xe0000000, size 0x8000000 inteldrm0 at vga1: irq 10 drm0 at inteldrm0 "Intel 82855GM Video" rev 0x02 at pci0 dev 2 function 1 not configured uhci0 at pci0 dev 29 function 0 "Intel 82801DB USB" rev 0x02: irq 10 uhci1 at pci0 dev 29 function 1 "Intel 82801DB USB" rev 0x02: irq 10 uhci2 at pci0 dev 29 function 2 "Intel 82801DB USB" rev 0x02: irq 6 ehci0 at pci0 dev 29 function 7 "Intel 82801DB USB" rev 0x02: irq 9 usb0 at ehci0: USB revision 2.0 uhub0 at usb0 "Intel EHCI root hub" rev 2.00/1.00 addr 1 ppb0 at pci0 dev 30 function 0 "Intel 82801BA Hub-to-PCI" rev 0x82 pci1 at ppb0 bus 1 em0 at pci1 dev 0 function 0 "Intel PRO/1000MT (82541GI)" rev 0x05: irq 10, address 00:30:18:49:f9:c8 em1 at pci1 dev 1 function 0 "Intel PRO/1000MT (82541GI)" rev 0x05: irq 12, address 00:30:18:49:f9:c9 ichpcib0 at pci0 dev 31 function 0 "Intel 82801DB LPC" rev 0x02: 24-bit timer at 3579545Hz pciide0 at pci0 dev 31 function 1 "Intel 82801DB IDE" rev 0x02: DMA, channel 0 configured to compatibility, channel 1 configured to compatibility pciide0: channel 0 disabled (no drives) wd0 at pciide0 channel 1 drive 0: <CF CARD 1GB> wd0: 1-sector PIO, LBA, 967MB, 1981728 sectors wd0(pciide0:1:0): using PIO mode 4, DMA mode 2 ichiic0 at pci0 dev 31 function 3 "Intel 82801DB SMBus" rev 0x02: irq 12 iic0 at ichiic0 spdmem0 at iic0 addr 0x50: 512MB DDR SDRAM non-parity PC3200CL3.0 auich0 at pci0 dev 31 function 5 "Intel 82801DB AC97" rev 0x02: irq 12, ICH4 AC97 ac97: codec id 0x56494161 (VIA Technologies VT1612A) ac97: codec features headphone, 18 bit DAC, 18 bit ADC, KS Waves 3D audio0 at auich0 usb1 at uhci0: USB revision 1.0 uhub1 at usb1 "Intel UHCI root hub" rev 1.00/1.00 addr 1 usb2 at uhci1: USB revision 1.0 uhub2 at usb2 "Intel UHCI root hub" rev 1.00/1.00 addr 1 usb3 at uhci2: USB revision 1.0 uhub3 at usb3 "Intel UHCI root hub" rev 1.00/1.00 addr 1 isa0 at ichpcib0 isadma0 at isa0uvm_pglistalloc: Upper boundary 0xfff000 not on pagemask. panic: isadmaattach: can not create DMA map Stopped at Debugger+0x4: leave Debugger(d09007a0,d137b700,d0a41718,0,d09007a0) at Debugger+0x4 panic(d08249e0,83,d09007a0,d0883204,d0870238) at panic+0x55 isadmaattach(d137b700,d1381740,d0a41770,d137b700,d0a4174c) at isadmaattach+0x72 config_attach(d137b700,d1381740,d0a41770,d06141bc,74006f) at config_attach+0xfd isascan(d137b700,d1381740,4,1) at isascan+0x14e config_scan(d06142c4,d137b700,d0a41db0,d135a2c0,1640) at config_scan+0xaf config_attach(d135a2c0,d086821c,d0a41db0,d0611304,d0795b17) at config_attach+0x fd pcib_callback(d135a2c0,2,1f,7,d135be80) at pcib_callback+0x48 config_process_deferred_children(d135be80,0,0,d135afc0,d1359e40) at config_proc ess_deferred_children+0x59 config_attach(d135afc0,d08666f8,d0a41e70,d04f6088) at config_attach+0x105 RUN AT LEAST 'trace' AND 'ps' AND INCLUDE OUTPUT WHEN REPORTING THIS PANIC! DO NOT EVEN BOTHER REPORTING THIS WITHOUT INCLUDING THAT INFORMATION! ddb> ps PID PPID PGRP UID S FLAGS WAIT COMMAND * 0 -1 0 0 7 0x80200 swapper ddb> call uvm_pmr_print Ranges, use queue: * [0x1000-0x100000] use=0 nsegs=1 maxsegsz[0]=0x1bdfb maxsegsz[1]=0x0 free=0x37bf6 * [0x0-0x1000] use=1 nsegs=3 maxsegsz[0]=0x5b9 maxsegsz[1]=0x0 free=0xea0 #ranges = 2 0xc