How to shorten the reboot time (71 lost packets) of a NanoBSD-2.1-amd64 install?



  • I have not very old hardware, a 2013 Intel Nuc with i3-3217U processor, two Apple USB fast ethernet interface, and two Intel PRO/1000 nics. pfSense-2.1-RELEASE-4g-amd64-nanobsd_vga.img was installed on to a 4GB class 10 Kingston microSDHC device (USB interface) using Mac OS X. The dd command write speed with 1m buffer size on OSX was: 12,024,321 bytes/sec. Only 2 out of 4 interfaces are assigned (1x ALIX USB V4/dhcp4, 1x Intel PRO/1000 v4: fixed ip).

    The reboot time is long: using a 1 second interval ping command loses 71 second when rebooting.

    BIOS is changed to only display the F2 prompt to enter BIOS for only 2 seconds. Beastie is already disabled.

    What can be done to further shorten the pfSense 2.1 (re)boot time?

    dmesg output:

    Copyright (c) 1992-2012 The FreeBSD Project.
    Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
    	The Regents of the University of California. All rights reserved.
    FreeBSD is a registered trademark of The FreeBSD Foundation.
    FreeBSD 8.3-RELEASE-p11 #0: Wed Sep 11 20:12:27 EDT 2013
        root@snapshots-8_3-amd64.builders.pfsense.org:/usr/obj.pfSense/usr/pfSensesrc/src/sys/pfSense_wrap_vga.8.amd64 amd64
    Timecounter "i8254" frequency 1193182 Hz quality 0
    CPU: Intel(R) Core(TM) i3-3217U CPU @ 1.80GHz (1797.69-MHz K8-class CPU)
      Origin = "GenuineIntel"  Id = 0x306a9  Family = 6  Model = 3a  Stepping = 9
      Features=0xbfebfbff <fpu,vme,de,pse,tsc,msr,pae,mce,cx8,apic,sep,mtrr,pge,mca,cmov,pat,pse36,clflush,dts,acpi,mmx,fxsr,sse,sse2,ss,htt,tm,pbe>Features2=0x35bae3bf <sse3,pclmulqdq,dtes64,mon,ds_cpl,vmx,est,tm2,ssse3,cx16,xtpr,pdcm,pcid,sse4.1,sse4.2,x2apic,popcnt,tscdlt,xsave,avx,f16c>AMD Features=0x28100800 <syscall,nx,rdtscp,lm>AMD Features2=0x1 <lahf>TSC: P-state invariant
    real memory  = 2147483648 (2048 MB)
    avail memory = 1915498496 (1826 MB)
    ACPI APIC Table: <intel d33217ck="">
    FreeBSD/SMP: Multiprocessor System Detected: 4 CPUs
    FreeBSD/SMP: 1 package(s) x 2 core(s) x 2 SMT threads
     cpu0 (BSP): APIC ID:  0
     cpu1 (AP): APIC ID:  1
     cpu2 (AP): APIC ID:  2
     cpu3 (AP): APIC ID:  3
    ACPI Warning: FADT (revision 5) is longer than ACPI 2.0 version, truncating length 268 to 244 (20101013/tbfadt-392)
    ioapic0 <version 2.0=""> irqs 0-23 on motherboard
    wlan: mac acl policy registered
    kbd1 at kbdmux0
    cryptosoft0: <software crypto=""> on motherboard
    padlock0: No ACE support.
    acpi0: <intel> on motherboard
    acpi0: [ITHREAD]
    acpi0: Power Button (fixed)
    Timecounter "ACPI-fast" frequency 3579545 Hz quality 1000
    acpi_timer0: <24-bit timer at 3.579545MHz> port 0x408-0x40b on acpi0
    cpu0: <acpi cpu=""> on acpi0
    cpu1: <acpi cpu=""> on acpi0
    cpu2: <acpi cpu=""> on acpi0
    cpu3: <acpi cpu=""> on acpi0
    pcib0: <acpi host-pci="" bridge=""> port 0xcf8-0xcff on acpi0
    pci0: <acpi pci="" bus=""> on pcib0
    vgapci0: <vga-compatible display=""> port 0xf000-0xf03f mem 0xf7800000-0xf7bfffff,0xe0000000-0xefffffff irq 16 at device 2.0 on pci0
    pci0: <simple comms=""> at device 22.0 (no driver attached)
    ehci0: <ehci (generic)="" usb="" 2.0="" controller=""> mem 0xf7f08000-0xf7f083ff irq 16 at device 26.0 on pci0
    ehci0: [ITHREAD]
    usbus0: EHCI version 1.0
    usbus0: <ehci (generic)="" usb="" 2.0="" controller=""> on ehci0
    pci0: <multimedia, hda=""> at device 27.0 (no driver attached)
    pcib1: <acpi pci-pci="" bridge=""> irq 16 at device 28.0 on pci0
    pci1: <acpi pci="" bus=""> on pcib1
    pcib2: <acpi pci-pci="" bridge=""> irq 17 at device 28.1 on pci0
    pci2: <acpi pci="" bus=""> on pcib2
    igb0: <intel(r) 1000="" pro="" network="" connection="" version="" -="" 2.3.1=""> port 0xe020-0xe03f mem 0xf7d80000-0xf7dfffff,0xf7e04000-0xf7e07fff irq 17 at device 0.0 on pci2
    igb0: Using MSIX interrupts with 5 vectors
    igb0: [ITHREAD]
    igb0: Bound queue 0 to cpu 0
    igb0: [ITHREAD]
    igb0: Bound queue 1 to cpu 1
    igb0: [ITHREAD]
    igb0: Bound queue 2 to cpu 2
    igb0: [ITHREAD]
    igb0: Bound queue 3 to cpu 3
    igb0: [ITHREAD]
    igb1: <intel(r) 1000="" pro="" network="" connection="" version="" -="" 2.3.1=""> port 0xe000-0xe01f mem 0xf7c80000-0xf7cfffff,0xf7e00000-0xf7e03fff irq 18 at device 0.1 on pci2
    igb1: Using MSIX interrupts with 5 vectors
    igb1: [ITHREAD]
    igb1: Bound queue 0 to cpu 0
    igb1: [ITHREAD]
    igb1: Bound queue 1 to cpu 1
    igb1: [ITHREAD]
    igb1: Bound queue 2 to cpu 2
    igb1: [ITHREAD]
    igb1: Bound queue 3 to cpu 3
    igb1: [ITHREAD]
    pcib3: <acpi pci-pci="" bridge=""> irq 16 at device 28.4 on pci0
    pci3: <acpi pci="" bus=""> on pcib3
    ehci1: <ehci (generic)="" usb="" 2.0="" controller=""> mem 0xf7f07000-0xf7f073ff irq 23 at device 29.0 on pci0
    ehci1: [ITHREAD]
    usbus1: EHCI version 1.0
    usbus1: <ehci (generic)="" usb="" 2.0="" controller=""> on ehci1
    isab0: <pci-isa bridge=""> at device 31.0 on pci0
    isa0: <isa bus=""> on isab0
    atapci0: <intel panther="" point="" sata300="" controller=""> port 0xf0b0-0xf0b7,0xf0a0-0xf0a3,0xf090-0xf097,0xf080-0xf083,0xf060-0xf07f mem 0xf7f06000-0xf7f067ff irq 19 at device 31.2 on pci0
    atapci0: [ITHREAD]
    atapci0: AHCI called from vendor specific driver
    atapci0: AHCI v1.30 controller with 6 6Gbps ports, PM not supported
    pci0: <serial bus,="" smbus=""> at device 31.3 (no driver attached)
    acpi_button0: <power button=""> on acpi0
    acpi_tz0: <thermal zone=""> on acpi0
    acpi_tz1: <thermal zone=""> on acpi0
    acpi_hpet0: <high precision="" event="" timer=""> iomem 0xfed00000-0xfed003ff on acpi0
    Timecounter "HPET" frequency 14318180 Hz quality 900
    atrtc0: <at realtime="" clock=""> port 0x70-0x77 irq 8 on acpi0
    atrtc0: Warning: Couldn't map I/O.
    orm0: <isa option="" roms=""> at iomem 0xc0000-0xcefff,0xcf000-0xcffff,0xd0000-0xd0fff on isa0
    atkbd: unable to set the command byte.
    sc0: <system console=""> at flags 0x100 on isa0
    sc0: VGA <16 virtual consoles, flags=0x300>
    vga0: <generic isa="" vga=""> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
    atkbdc0: <keyboard controller="" (i8042)=""> at port 0x60,0x64 on isa0
    atkbd0: <at keyboard=""> irq 1 on atkbdc0
    kbd0 at atkbd0
    atkbd0: [GIANT-LOCKED]
    atkbd0: [ITHREAD]
    ppc0: cannot reserve I/O port range
    acpi_perf0: <acpi cpu="" frequency="" control=""> on cpu0
    Timecounters tick every 10.000 msec
    IPsec: Initialized Security Association Processing.
    usbus0: 480Mbps High Speed USB v2.0
    usbus1: 480Mbps High Speed USB v2.0
    SMP: AP CPU #1 Launched!
    SMP: AP CPU #2 Launched!
    SMP: AP CPU #3 Launched!
    Ruogoetn 1m.o1u:n t< Iwnatietli>n ga tf ours:bu su1sb
    us1 usbus0
    uhub0: <intel 1="" 9="" ehci="" root="" hub,="" class="" 0,="" rev="" 2.00="" 1.00,="" addr=""> on usbus1
    ugen0.1: <intel> at usbus0
    uhub1: <intel 1="" 9="" ehci="" root="" hub,="" class="" 0,="" rev="" 2.00="" 1.00,="" addr=""> on usbus0
    uhub1: 2 ports with 2 removable, self powered
    uhub0: 2 ports with 2 removable, self powered
    Root mount waiting for: usbus1 usbus0
    ugen0.2: <vendor 0x8087=""> at usbus0
    uhub2: <vendor 2="" 9="" 0x8087="" product="" 0x0024,="" class="" 0,="" rev="" 2.00="" 0.00,="" addr=""> on usbus0
    ugen1.2: <vendor 0x8087=""> at usbus1
    uhub3: <vendor 2="" 9="" 0x8087="" product="" 0x0024,="" class="" 0,="" rev="" 2.00="" 0.00,="" addr=""> on usbus1
    Root mount waiting for: usbus1 usbus0
    uhub2: 6 ports with 6 removable, self powered
    uhub3: 8 ports with 8 removable, self powered
    ugen1.3: <vendor 0x05ac=""> at usbus1
    axe0: <vendor 3="" 0x05ac="" product="" 0x1402,="" rev="" 2.00="" 0.01,="" addr=""> on usbus1
    Root mount waiting for: usbus1
    miibus0: <mii bus=""> on axe0
    ukphy0: <generic ieee="" 802.3u="" media="" interface=""> PHY 16 on miibus0
    ukphy0:  none, 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
    ue0: <usb ethernet=""> on axe0
    ugen1.4: <vendor 0x05ac=""> at usbus1
    axe1: <vendor 4="" 0x05ac="" product="" 0x1402,="" rev="" 2.00="" 0.01,="" addr=""> on usbus1
    Root mount waiting for: usbus1
    miibus1: <mii bus=""> on axe1
    ukphy1: <generic ieee="" 802.3u="" media="" interface=""> PHY 16 on miibus1
    ukphy1:  none, 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
    ue1: <usb ethernet=""> on axe1
    ugen1.5: <generic> at usbus1
    umass0: <generic 0="" 5="" flash="" card="" readerwriter,="" class="" 0,="" rev="" 2.00="" 1.00,="" addr=""> on usbus1
    da0 at umass-sim0 bus 0 scbus0 target 0 lun 0
    da0: <generic sd="" mmc="" ms="" xd="" 1.07=""> Removable Direct Access SCSI-0 device 
    da0: 40.000MB/s transfers
    da0: 3796MB (7774208 512 byte sectors: 255H 63S/T 483C)
    da1 at umass-sim0 bus 0 scbus0 target 0 lun 1
    da1: <generic microsd="" m2="" 1.08=""> Removable Direct Access SCSI-0 device 
    da1: 40.000MB/s transfers
    da1: Attempt to query device size failed: NOT READY, Medium not present
    GEOM_PART: integrity check failed (da0, MBR)
    GEOM: da0s1: geometry does not match label (16h,63s != 255h,63s).
    GEOM: da0s2: geometry does not match label (16h,63s != 255h,63s).
    Trying to mount root from ufs:/dev/ufs/pfsense0
    ue0: link state changed to DOWN
    ue0: link state changed to UP
    pflog0: promiscuous mode enabled
    igb1: link state changed to UP
    pid 82884 (ntpd), uid 0: exited on signal 11</generic></generic></generic></generic></usb></generic></mii></vendor></vendor></usb></generic></mii></vendor></vendor></vendor></vendor></vendor></vendor></intel></intel></intel></acpi></at></keyboard></generic></system></isa></at></high></thermal></thermal></power></serial></intel></isa></pci-isa></ehci></ehci></acpi></acpi></intel(r)></intel(r)></acpi></acpi></acpi></acpi></multimedia,></ehci></ehci></simple></vga-compatible></acpi></acpi></acpi></acpi></acpi></acpi></intel></software></version></intel></lahf></syscall,nx,rdtscp,lm></sse3,pclmulqdq,dtes64,mon,ds_cpl,vmx,est,tm2,ssse3,cx16,xtpr,pdcm,pcid,sse4.1,sse4.2,x2apic,popcnt,tscdlt,xsave,avx,f16c></fpu,vme,de,pse,tsc,msr,pae,mce,cx8,apic,sep,mtrr,pge,mca,cmov,pat,pse36,clflush,dts,acpi,mmx,fxsr,sse,sse2,ss,htt,tm,pbe>
    

  • Netgate Administrator

    Reading from flash via USB is slow. You could boot from a small SSD instead, should speed things up.

    Steve



  • There is not SATA interface in this hardware, and the mSATA slot is filled with the NIC.

    Not waiting 12 seconds for F1 or F2 already saves 17%.



  • Finally found a half size mSATA SSD drive: SanDisk SSD U100 8GB mSATA mini 2.5'' SATA III MLC (450MB/s; 350MB/s), TRIM

    Article number/Product code/SKU: SDSA5FK-008G.

    This is still double the capacity (8GB) as the largest NanoBSD image (4GB).


  • Rebel Alliance Developer Netgate


  • Netgate Administrator

    In this case I believe the OP is using Nano-vga which already has DMA enabled (or did last time I checked). Worth checking though, it may be disabled in the bios for example.

    Steve


  • Rebel Alliance Developer Netgate

    Yeah, it does appear to have it enabled. Still worth checking. It would help for an mSATA but USB might actually be hurt by them.