git: c541bd368f86 - main - lltable: Add support for "child" LLEs holding encap for IPv4oIPv6 entries.

Cy Schubert Cy.Schubert at cschubert.com
Sun Aug 22 05:58:14 UTC 2021


In message <202108211735.17LHZ0WI081502 at gitrepo.freebsd.org>, "Alexander V. 
Che
rnikov" writes:
> The branch main has been updated by melifaro:
>
> URL: https://cgit.FreeBSD.org/src/commit/?id=c541bd368f863bbf5c08dd5c1ecce016
> 6ad47389
>
> commit c541bd368f863bbf5c08dd5c1ecce0166ad47389
> Author:     Alexander V. Chernikov <melifaro at FreeBSD.org>
> AuthorDate: 2021-08-21 14:13:32 +0000
> Commit:     Alexander V. Chernikov <melifaro at FreeBSD.org>
> CommitDate: 2021-08-21 17:34:35 +0000
>
>     lltable: Add support for "child" LLEs holding encap for IPv4oIPv6 entries
> .
>     
>     Currently we use pre-calculated headers inside LLE entries as prepend dat
> a
>      for `if_output` functions. Using these headers allows saving some
>      CPU cycles/memory accesses on the fast path.
>     
>     However, this approach makes adding L2 header for IPv4 traffic with IPv6
>      nexthops more complex, as it is not possible to store multiple
>      pre-calculated headers inside lle. Additionally, the solution space is
>      limited by the fact that PCB caching saves LLEs in addition to the nexth
> op.
>     
>     Thus, add support for creating special "child" LLEs for the purpose of ho
> lding
>      custom family encaps and store mbufs pending resolution. To simplify han
> dling
>      of those LLEs, store them in a linked-list inside a "parent" (e.g. norma
> l) LLE.
>      Such LLEs are not visible when iterating LLE table. Their lifecycle is b
> ound
>      to the "parent" LLE - it is not possible to delete "child" when parent i
> s alive.
>      Furthermore, "child" LLEs are static (RTF_STATIC), avoding complex state
>      machine used by the standard LLEs.
>     
>     nd6_lookup() and nd6_resolve() now accepts an additional argument, family
> ,
>      allowing to return such child LLEs. This change uses `LLE_SF()` macro wh
> ich
>      packs family and flags in a single int field. This is done to simplify m
> erging
>      back to stable/. Once this code lands, most of the cases will be convert
> ed to
>      use a dedicated `family` parameter.
>     
>     Differential Revision: https://reviews.freebsd.org/D31379
>     MFC after:      2 weeks
> ---
>  sys/net/if_ethersubr.c                     |   4 +-
>  sys/net/if_fwsubr.c                        |   4 +-
>  sys/net/if_infiniband.c                    |   3 +-
>  sys/net/if_llatbl.c                        |  70 +++++++++++-
>  sys/net/if_llatbl.h                        |  12 +-
>  sys/netinet/toecore.c                      |   2 +-
>  sys/netinet6/icmp6.c                       |   2 +-
>  sys/netinet6/in6.c                         |   5 +
>  sys/netinet6/nd6.c                         | 176 +++++++++++++++++++++++----
> --
>  sys/netinet6/nd6.h                         |   1 +
>  sys/netinet6/nd6_nbr.c                     |   6 +-
>  sys/ofed/drivers/infiniband/core/ib_addr.c |   5 +-
>  12 files changed, 241 insertions(+), 49 deletions(-)

This commit causes two of my machines a bit of gas.

Fatal trap 12: page fault while in kernel mode
cpuid = 0; apic id = 00
fault virtual address	= 0x128
fault code		= supervisor read data, page not present
instruction pointer	= 0x20:0xffffffff806cb53d
stack pointer	        = 0x28:0xfffffe008da1a210
frame pointer	        = 0x28:0xfffffe008da1a210
code segment		= base 0x0, limit 0xfffff, type 0x1b
			= DPL 0, pres 1, long 1, def32 0, gran 1
processor eflags	= interrupt enabled, resume, IOPL = 0
current process		= 0 (bge0 taskq)
trap number		= 12
panic: page fault
cpuid = 0
time = 1629610416
KDB: stack backtrace:
db_trace_self_wrapper() at db_trace_self_wrapper+0x2b/frame 
0xfffffe008da19eb0
vpanic() at vpanic+0x187/frame 0xfffffe008da19f10
panic() at panic+0x43/frame 0xfffffe008da19f70
trap_fatal() at trap_fatal+0x387/frame 0xfffffe008da19fd0
trap_pfault() at trap_pfault+0x4f/frame 0xfffffe008da1a030
trap() at trap+0x26a/frame 0xfffffe008da1a140
calltrap() at calltrap+0x8/frame 0xfffffe008da1a140
--- trap 0xc, rip = 0xffffffff806cb53d, rsp = 0xfffffe008da1a210, rbp = 
0xfffffe008da1a210 ---
__rw_rlock_int() at __rw_rlock_int+0xd/frame 0xfffffe008da1a210
in6_lltable_lookup() at in6_lltable_lookup+0xa7/frame 0xfffffe008da1a240
nd6_lookup() at nd6_lookup+0x4e/frame 0xfffffe008da1a270
pfxlist_onlink_check() at pfxlist_onlink_check+0xfb/frame 0xfffffe008da1a310
nd6_ra_input() at nd6_ra_input+0x147f/frame 0xfffffe008da1a5d0
icmp6_input() at icmp6_input+0x685/frame 0xfffffe008da1a7b0
ip6_input() at ip6_input+0xa9a/frame 0xfffffe008da1a890
netisr_dispatch_src() at netisr_dispatch_src+0xca/frame 0xfffffe008da1a8e0
ether_demux() at ether_demux+0x138/frame 0xfffffe008da1a910
ether_nh_input() at ether_nh_input+0x34e/frame 0xfffffe008da1a970
netisr_dispatch_src() at netisr_dispatch_src+0xca/frame 0xfffffe008da1a9c0
ether_input() at ether_input+0x69/frame 0xfffffe008da1aa20
if_input() at if_input+0xa/frame 0xfffffe008da1aa30
bge_rxeof() at bge_rxeof+0x4dc/frame 0xfffffe008da1aab0
bge_intr_task() at bge_intr_task+0x1a7/frame 0xfffffe008da1ab00
taskqueue_run_locked() at taskqueue_run_locked+0x191/frame 
0xfffffe008da1ab80
taskqueue_thread_loop() at taskqueue_thread_loop+0xc3/frame 
0xfffffe008da1abb0
fork_exit() at fork_exit+0x8a/frame 0xfffffe008da1abf0
fork_trampoline() at fork_trampoline+0xe/frame 0xfffffe008da1abf0
--- trap 0, rip = 0, rsp = 0, rbp = 0 ---
Uptime: 1m18s
Dumping 511 out of 7972 MB:..4%..13%..22%..32%..41%..51%..63%..72%..82%..91%
---<<BOOT>>---
Copyright (c) 1992-2021 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 14.0-CURRENT #85 komquats-n248853-efa24221b032: Sat Aug 21 20:41:37 
PDT 2021
    root at cwsys:/export/obj/opt/src/git-src/amd64.amd64/sys/BREAK amd64
FreeBSD clang version 12.0.1 (git at github.com:llvm/llvm-project.git 
llvmorg-12.0.1-0-gfed41342a82f)
VT(vga): text 80x25
module_register: cannot register tmpfs from kernel; already loaded from 
tmpfs.ko
Module tmpfs failed to register: 17
CPU: Intel(R) Core(TM) i3-2350M CPU @ 2.30GHz (2294.83-MHz K8-class CPU)
  Origin="GenuineIntel"  Id=0x206a7  Family=0x6  Model=0x2a  Stepping=7
  Features=0xbfebfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,M
CA,CMOV,PAT,PSE36,CLFLUSH,DTS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE>
  Features2=0x1dbae3bf<SSE3,PCLMULQDQ,DTES64,MON,DS_CPL,VMX,EST,TM2,SSSE3,CX
16,xTPR,PDCM,PCID,SSE4.1,SSE4.2,x2APIC,POPCNT,TSCDLT,XSAVE,OSXSAVE,AVX>
  AMD Features=0x28100800<SYSCALL,NX,RDTSCP,LM>
  AMD Features2=0x1<LAHF>
  XSAVE Features=0x1<XSAVEOPT>
  VT-x: PAT,HLT,MTF,PAUSE,EPT,UG,VPID
  TSC: P-state invariant, performance statistics
real memory  = 8589934592 (8192 MB)
avail memory = 8082354176 (7707 MB)
Event timer "LAPIC" quality 600
ACPI APIC Table: <ACRSYS ACRPRDCT>
FreeBSD/SMP: Multiprocessor System Detected: 4 CPUs
FreeBSD/SMP: 1 package(s) x 2 core(s) x 2 hardware threads
random: unblocking device.
ioapic0 <Version 2.0> irqs 0-23
Launching APs: 1 3 2
Timecounter "TSC-low" frequency 1147416650 Hz quality 1000
random: entropy device external interface
kbd1 at kbdmux0
vtvga0: <VT VGA driver>
aesni0: No AES or SHA support.
acpi0: <ACRSYS ACRPRDCT>
acpi0: Power Button (fixed)
cpu0: <ACPI CPU> on acpi0
hpet0: <High Precision Event Timer> iomem 0xfed00000-0xfed003ff on acpi0
Timecounter "HPET" frequency 14318180 Hz quality 950
Event timer "HPET" frequency 14318180 Hz quality 550
Event timer "HPET1" frequency 14318180 Hz quality 440
Event timer "HPET2" frequency 14318180 Hz quality 440
Event timer "HPET3" frequency 14318180 Hz quality 440
Event timer "HPET4" frequency 14318180 Hz quality 440
atrtc0: <AT realtime clock> port 0x70-0x77 irq 8 on acpi0
atrtc0: Warning: Couldn't map I/O.
atrtc0: registered as a time-of-day clock, resolution 1.000000s
Event timer "RTC" frequency 32768 Hz quality 0
attimer0: <AT timer> port 0x40-0x43,0x50-0x53 irq 0 on acpi0
Timecounter "i8254" frequency 1193182 Hz quality 0
Event timer "i8254" frequency 1193182 Hz quality 100
Timecounter "ACPI-fast" frequency 3579545 Hz quality 900
acpi_timer0: <24-bit timer at 3.579545MHz> port 0x408-0x40b on acpi0
acpi_ec0: <Embedded Controller: GPE 0x17> port 0x62,0x66 on acpi0
pcib0: <ACPI Host-PCI bridge> port 0xcf8-0xcff on acpi0
pci0: <ACPI PCI bus> on pcib0
vgapci0: <VGA-compatible display> port 0x2000-0x203f mem 
0xf0000000-0xf03fffff,0xe0000000-0xefffffff irq 16 at device 2.0 on pci0
vgapci0: Boot video device
pci0: <simple comms> at device 22.0 (no driver attached)
ehci0: <Intel Cougar Point USB 2.0 controller> mem 0xf060a000-0xf060a3ff 
irq 16 at device 26.0 on pci0
usbus0: EHCI version 1.0
usbus0 on ehci0
usbus0: 480Mbps High Speed USB v2.0
hdac0: <Intel Cougar Point HDA Controller> mem 0xf0600000-0xf0603fff irq 22 
at device 27.0 on pci0
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
iwn0: <Intel Centrino Advanced-N 6205> mem 0xf0500000-0xf0501fff irq 17 at 
device 0.0 on pci2
pcib3: <ACPI PCI-PCI bridge> irq 19 at device 28.3 on pci0
pci3: <ACPI PCI bus> on pcib3
bge0: <Broadcom BCM57765 B0, ASIC rev. 0x57785100> mem 
0xf0400000-0xf040ffff,0xf0410000-0xf041ffff irq 19 at device 0.0 on pci3
bge0: CHIP ID 0x57785100; ASIC REV 0x57785; CHIP REV 0x577851; PCI-E
miibus0: <MII bus> on bge0
brgphy0: <BCM57765 1000BASE-T media interface> PHY 1 on miibus0
brgphy0:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT, 
1000baseT-master, 1000baseT-FDX, 1000baseT-FDX-master, auto, auto-flow
<6>bge0: Using defaults for TSO: 65518/35/2048
<6>bge0: Ethernet address: 20:6a:8a:72:03:17
sdhci_pci0: <Broadcom BCM577xx SDXC/MMC Card Reader> mem 
0xf0420000-0xf042ffff irq 16 at device 0.1 on pci3
sdhci_pci0: 1 slot(s) allocated
ehci1: <Intel Cougar Point USB 2.0 controller> mem 0xf0609000-0xf06093ff 
irq 23 at device 29.0 on pci0
usbus1: EHCI version 1.0
usbus1 on ehci1
usbus1: 480Mbps High Speed USB v2.0
isab0: <PCI-ISA bridge> at device 31.0 on pci0
isa0: <ISA bus> on isab0
ahci0: <Intel Cougar Point AHCI SATA controller> port 
0x2088-0x208f,0x2094-0x2097,0x2080-0x2087,0x2090-0x2093,0x2060-0x207f mem 
0xf0608000-0xf06087ff irq 19 at device 31.2 on pci0
ahci0: AHCI v1.30 with 6 6Gbps ports, Port Multiplier not supported
ahcich0: <AHCI channel> at channel 0 on ahci0
ahcich1: <AHCI channel> at channel 1 on ahci0
ahcich5: <AHCI channel> at channel 5 on ahci0
ahciem0: <AHCI enclosure management bridge> on ahci0
ichsmb0: <Intel Cougar Point SMBus controller> port 0xefa0-0xefbf mem 
0xf0604000-0xf06040ff irq 18 at device 31.3 on pci0
acpi_lid0: <Control Method Lid Switch> on acpi0
acpi_button0: <Sleep Button> on acpi0
acpi_tz0: <Thermal Zone> on acpi0
acpi_tz1: <Thermal Zone> on acpi0
atkbdc0: <Keyboard controller (i8042)> port 0x60,0x64 irq 1 on acpi0
atkbd0: <AT Keyboard> irq 1 on atkbdc0
kbd0 at atkbd0
atkbd0: [GIANT-LOCKED]
psm0: <PS/2 Mouse> irq 12 on atkbdc0
psm0: [GIANT-LOCKED]
WARNING: Device "psm" is Giant locked and may be deleted before FreeBSD 
14.0.
psm0: model Synaptics Touchpad, device ID 0
acpi_acad0: <AC Adapter> on acpi0
battery0: <ACPI Control Method Battery> on acpi0
vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff pnpid 
PNP0900 on isa0
ata0: <ATA channel> at port 0x1f0-0x1f7,0x3f6 irq 14 on isa0
ata1: <ATA channel> at port 0x170-0x177,0x376 irq 15 on isa0
acpi_perf0: <ACPI CPU Frequency Control> on cpu0
acpi_throttle0: <ACPI CPU Throttling> on cpu0
coretemp0: <CPU On-Die Thermal Sensors> on cpu0
acpi_throttle1: failed to attach P_CNT
device_attach: acpi_throttle1 attach returned 6
acpi_throttle2: failed to attach P_CNT
device_attach: acpi_throttle2 attach returned 6
acpi_throttle3: failed to attach P_CNT
device_attach: acpi_throttle3 attach returned 6
module_register_init: MOD_LOAD (tmpfs, 0xffffffff807a2760, 
0xffffffff80c88540) error 17
Timecounters tick every 10.000 msec
ZFS filesystem version: 5
ZFS storage pool version: features support (5000)
IP Filter: v5.1.2 initialized.  Default = pass all, Logging = enabled
hdacc0: <Realtek ALC269 HDA CODEC> at cad 0 on hdac0
hdaa0: <Realtek ALC269 Audio Function Group> at nid 1 on hdacc0
pcm0: <Realtek ALC269 (Analog 2.0+HP/2.0)> at nid 20,33 and 27 on hdaa0
pcm1: <Realtek ALC269 (Left Analog Mic)> at nid 24 on hdaa0
hdacc1: <Intel Cougar Point HDA CODEC> at cad 3 on hdac0
hdaa1: <Intel Cougar Point Audio Function Group> at nid 1 on hdacc1
pcm2: <Intel Cougar Point (HDMI/DP 8ch)> at nid 5 on hdaa1
smbus0: <System Management Bus> on ichsmb0
smb0: <SMBus generic I/O> on smbus0
sysctl_unregister_oid: failed(22) to unregister sysctl(tmpfs)
ugen1.1: <Intel EHCI root HUB> at usbus1
ugen0.1: <Intel EHCI root HUB> at usbus0
uhub0 on usbus1
Trying to mount root from ufs:/dev/ufs/Sroot [rw]...
Root mount waiting for: usbus0 usbus1 CAM
uhub1 on usbus0
uhub1: <Intel EHCI root HUB, class 9/0, rev 2.00/1.00, addr 1> on usbus0
uhub0: <Intel EHCI root HUB, class 9/0, rev 2.00/1.00, addr 1> on usbus1
ses0 at ahciem0 bus 0 scbus3 target 0 lun 0
ses0: <AHCI SGPIO Enclosure 2.00 0001> SEMB S-E-S 2.00 device
ses0: SEMB SES Device
ada0 at ahcich0 bus 0 scbus0 target 0 lun 0
ada0: <HGST HTS721010A9E630 JB0OA3U0> ATA8-ACS SATA 3.x device
ada0: Serial Number JR1000D33969RE
ada0: 600.000MB/s transfers (SATA 3.x, UDMA6, PIO 8192bytes)
ada0: Command Queueing enabled
ada0: 953869MB (1953525168 512 byte sectors)
ses0: pass0,ada0 in 'Slot 00', SATA Slot: scbus0 target 0
ses0: pass1,cd0 in 'Slot 01', SATA Slot: scbus1 target 0
cd0 at ahcich1 bus 0 scbus1 target 0 lun 0
cd0: <PIONEER DVD-RW DVRTD11RS 1.01> Removable CD-ROM SCSI device
cd0: Serial Number SBB5103801
cd0: 150.000MB/s transfers (SATA 1.x, UDMA5, ATAPI 12bytes, PIO 8192bytes)
cd0: Attempt to query device size failed: NOT READY, Medium not present - 
tray closed
uhub1: 2 ports with 2 removable, self powered
uhub0: 2 ports with 2 removable, self powered
Root mount waiting for: usbus0 usbus1
ugen0.2: <vendor 0x8087 product 0x0024> at usbus0
uhub2 on uhub1
uhub2: <vendor 0x8087 product 0x0024, class 9/0, rev 2.00/0.00, addr 2> on 
usbus0
ugen1.2: <vendor 0x8087 product 0x0024> at usbus1
uhub3 on uhub0
uhub3: <vendor 0x8087 product 0x0024, class 9/0, rev 2.00/0.00, addr 2> on 
usbus1
Root mount waiting for: usbus0 usbus1
uhub3: 6 ports with 6 removable, self powered
uhub2: 6 ports with 6 removable, self powered
ugen1.3: <ALCOR Generic USB Hub> at usbus1
uhub4 on uhub3
uhub4: <ALCOR Generic USB Hub, class 9/0, rev 1.10/3.12, addr 3> on usbus1
ugen0.3: <vendor 0x05e3 USB2.0 Hub> at usbus0
uhub5 on uhub2
uhub5: <vendor 0x05e3 USB2.0 Hub, class 9/0, rev 2.00/6.03, addr 3> on 
usbus0
Root mount waiting for: usbus0 usbus1
uhub4: 4 ports with 4 removable, self powered
uhub5: 4 ports with 4 removable, self powered
ugen1.4: <Logitech USB Receiver> at usbus1
ukbd0 on uhub4
ukbd0: <Logitech USB Receiver, class 0/0, rev 2.00/12.07, addr 4> on usbus1
kbd2 at ukbd0
ums0 on uhub4
ums0: <Logitech USB Receiver, class 0/0, rev 2.00/12.07, addr 4> on usbus1
ums0: 16 buttons and [XYZT] coordinates ID=2
ugen0.4: <vendor 0x05e3 USB2.0 Hub> at usbus0
uhub6 on uhub5
uhub6: <vendor 0x05e3 USB2.0 Hub, class 9/0, rev 2.00/6.03, addr 4> on 
usbus0
Root mount waiting for: usbus0 usbus1
ugen1.5: <Device 2Port KVMSwitcher> at usbus1
ukbd1 on uhub4
ukbd1: <Device 2Port KVMSwitcher, class 0/0, rev 1.10/0.01, addr 5> on 
usbus1
kbd3 at ukbd1
uhub6: 4 ports with 4 removable, self powered
ugen0.5: <NOONTEC DX HDEN10> at usbus0
umass0 on uhub6
umass0: <NOONTEC DX HDEN10, class 0/0, rev 2.00/0.01, addr 5> on usbus0
umass0:  SCSI over Bulk-Only; quirks = 0x4100
umass0:6:0: Attached to scbus6
Root mount waiting for: usbus0 CAM
da0 at umass-sim0 bus 0 scbus6 target 0 lun 0
da0: <SAMSUNG SP0802N 0000> Fixed Direct Access SCSI device
da0: 40.000MB/s transfers
da0: 76351MB (156368016 512 byte sectors)
da0: quirks=0x2<NO_6_BYTE>
ugen0.6: <vendor 0x05e3 USB TO IDE> at usbus0
umass1 on uhub6
umass1: <vendor 0x05e3 USB TO IDE, class 0/0, rev 2.00/0.33, addr 6> on 
usbus0
umass1:  SCSI over Bulk-Only; quirks = 0x408c
umass1:7:1: Attached to scbus7
da1 at umass-sim1 bus 1 scbus7 target 0 lun 0
da1: <ST980082 1A 0811> Fixed Direct Access SCSI device
da1: 40.000MB/s transfers
da1: 76319MB (156301488 512 byte sectors)
da1: quirks=0x2<NO_6_BYTE>
ugen0.7: <vendor 0x058f Flash Disk> at usbus0
umass2 on uhub5
umass2: <vendor 0x058f Flash Disk, class 0/0, rev 2.00/1.02, addr 7> on 
usbus0
umass2:  SCSI over Bulk-Only; quirks = 0x4101
umass2:8:2: Attached to scbus8
da2 at umass-sim2 bus 2 scbus8 target 0 lun 0
da2: < Flash Disk 8.07> Removable Direct Access SCSI-2 device
da2: Serial Number 029B4D84
da2: 40.000MB/s transfers
da2: 246MB (504320 512 byte sectors)
da2: quirks=0x2<NO_6_BYTE>
Root mount waiting for: usbus0
ugen0.8: <AABBX0E6S 1.3M HD WebCam> at usbus0
mountroot: waiting for device /dev/ufs/Sroot...
WARNING: / was not properly dismounted
WARNING: /: mount pending error: blocks 24 files 0
<118>Setting hostuuid: 34f5ed40-8938-11da-b265-efe316da850d.
<118>Setting hostid: 0x7f5a03b9.
<118>Starting file system checks:
<118>** SU+J Recovering /dev/ufs/Sroot
<118>** Reading 16777216 byte journal from inode 4.
<118>** Building recovery table.
<118>** Resolving unreferenced inode list.
<118>** Processing journal entries.
<118>** 7 journal records in 1536 bytes for 14.58% utilization
<118>** Freed 1 inodes (0 dirs) 0 blocks, and 3 frags.
<118>
<118>***** FILE SYSTEM MARKED CLEAN *****
<118>** SU+J Recovering /dev/ufs/Svar
<118>** Reading 16777216 byte journal from inode 4.
<118>** Building recovery table.
<118>** Resolving unreferenced inode list.
<118>** Processing journal entries.
<118>** SU+J Recovering /dev/ufs/Susr
<118>** Reading 25165824 byte journal from inode 4.
<118>** 40 journal records in 4096 bytes for 31.25% utilization
<118>** Freed 0 inodes (0 dirs) 0 blocks, and 0 frags.
<118>
<118>***** FILE SYSTEM MARKED CLEAN *****
<118>** Building recovery table.
<118>** Resolving unreferenced inode list.
<118>** Processing journal entries.
<118>
<118>***** FILE SYSTEM MARKED CLEAN *****
<118>/dev/ada0s3a: 7535 files, 131352 used, 376431 free (1135 frags, 46912 
blocks, 0.2% fragmentation)
<118>/dev/ada0s3e: 24573 files, 319053 used, 442234 free (1082 frags, 55144 
blocks, 0.1% fragmentation)
<118>/dev/ada0s3d: 22537 files, 105401 used, 402382 free (270 frags, 50264 
blocks, 0.1% fragmentation)
<118>/dev/ada0s3f: 18331 files, 109447 used, 398336 free (576 frags, 49720 
blocks, 0.1% fragmentation)
<118>/dev/ada0s3h: 22924 files, 188609 used, 572677 free (685 frags, 71499 
blocks, 0.1% fragmentation)
<118>/dev/ada0s3g: 5348 files, 49444 used, 458339 free (275 frags, 57258 
blocks, 0.1% fragmentation)
<118>** SU+J Recovering /dev/zvol/tank/VMs/current/amd64/disk3p1
<118>** Reading 33554432 byte journal from inode 4.
<118>** Building recovery table.
<118>** Resolving unreferenced inode list.
<118>** Processing journal entries.
<118>** SU+J Recovering /dev/zvol/tank/VMs/current/amd64/disk0s1a
<118>** Reading 16777216 byte journal from inode 827.
<118>
<118>***** FILE SYSTEM MARKED CLEAN *****
<118>** Building recovery table.
<118>** Resolving unreferenced inode list.
<118>** Processing journal entries.
<118>
<118>***** FILE SYSTEM MARKED CLEAN *****
<118>** SU+J Recovering /dev/zvol/tank/VMs/current/amd64/disk0s1d
<118>** Reading 16777216 byte journal from inode 117.
<118>** Building recovery table.
<118>** Resolving unreferenced inode list.
<118>** Processing journal entries.
<118>
<118>***** FILE SYSTEM MARKED CLEAN *****
<118>** SU+J Recovering /dev/zvol/tank/VMs/current/amd64/disk0s1e
<118>** Reading 33554432 byte journal from inode 16.
<118>** Building recovery table.
<118>** Resolving unreferenced inode list.
<118>** Processing journal entries.
<118>
<118>***** FILE SYSTEM MARKED CLEAN *****
<118>/dev/msdosfs/SHARED: 435 files, 6.2 GiB free (203709 clusters)
<118>FIXED
<118>/dev/msdosfs/SHARED: MARKING FILE SYSTEM CLEAN
<118>/dev/zvol/tank/VMs/current/i386/disk0s1a: 114555 files, 255948 used, 
251835 free (403 frags, 31429 blocks, 0.1% fragmentation)
<118>/dev/zvol/tank/VMs/current/i386/disk0s1d: 22759 files, 126960 used, 
380823 free (143 frags, 47585 blocks, 0.0% fragmentation)
<118>/dev/zvol/tank/VMs/current/i386/disk0s1e: 28564 files, 549004 used, 
973507 free (1603 frags, 121488 blocks, 0.1% fragmentation)
<118>Mounting local filesystems:.
<118>Mounting ZFS filesystems: (193/193)
<118>Local package initialization:error: ed0: No such device exists 
(BIOCSETIF failed: Device not configured)
<118>Unable to read the configuration file: No such file or directory at 
/usr/local/lib/perl5/site_perl/Jail.pm line 50.
<118>Compilation failed in require at /usr/local/sbin/jailadmin line 13.
<118>BEGIN failed--compilation aborted at /usr/local/sbin/jailadmin line 13.
<118> Jails.
<118>Autoloading module: acpi_wmi
acpi_wmi0: <ACPI-WMI mapping> on acpi0
acpi_wmi0: Embedded MOF found
ACPI: \_SB.AMWA.WQEE: 1 arguments were passed to a non-method ACPI object 
(Buffer) (20210730/nsarguments-361)
acpi_wmi1: <ACPI-WMI mapping> on acpi0
acpi_wmi1: Embedded MOF found
ACPI: \_SB.AMW0.WQDD: 1 arguments were passed to a non-method ACPI object 
(Buffer) (20210730/nsarguments-361)
<118>Updating CPU Microcode...
CPU: Intel(R) Core(TM) i3-2350M CPU @ 2.30GHz (2294.83-MHz K8-class CPU)
  Origin="GenuineIntel"  Id=0x206a7  Family=0x6  Model=0x2a  Stepping=7
  Features=0xbfebfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,M
CA,CMOV,PAT,PSE36,CLFLUSH,DTS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE>
  Features2=0x1dbae3bf<SSE3,PCLMULQDQ,DTES64,MON,DS_CPL,VMX,EST,TM2,SSSE3,CX
16,xTPR,PDCM,PCID,SSE4.1,SSE4.2,x2APIC,POPCNT,TSCDLT,XSAVE,OSXSAVE,AVX>
  AMD Features=0x28100800<SYSCALL,NX,RDTSCP,LM>
  AMD Features2=0x1<LAHF>
  Structured Extended Features3=0x9c000400<MD_CLEAR,IBPB,STIBP,L1DFL,SSBD>
  XSAVE Features=0x1<XSAVEOPT>
  VT-x: PAT,HLT,MTF,PAUSE,EPT,UG,VPID
  TSC: P-state invariant, performance statistics
<118>Done.
<118>ELF ldconfig path: /lib /usr/lib /usr/lib/compat /usr/local/lib 
/usr/local/lib/compat/pkg /usr/local/krb5/lib /usr/local/kde4/lib 
/usr/local/dt/lib /usr/local/lib/compat/pkg /usr/local/lib/dovecot 
/usr/local/lib/e2fsprogs /usr/local/lib/expect5.45.4 
/usr/local/lib/freeradius-3.0.23 /usr/local/lib/gcc10 /usr/local/lib/gcc11 
/usr/local/lib/gcc12 /usr/local/lib/gcc8 /usr/local/lib/gcc9 
/usr/local/lib/graphviz /usr/local/lib/httrack /usr/local/lib/itcl3.4 
/usr/local/lib/mysql /usr/local/lib/mysql/plugin /usr/local/lib/opencollada 
/usr/local/lib/perl5/5.30/mach/CORE /usr/local/lib/perl5/5.32/mach/CORE 
/usr/local/lib/perl5/5.34/mach/CORE /usr/local/lib/pidgin 
/usr/local/lib/pth /usr/local/lib/qt5 /usr/local/lib/samba4 
/usr/local/lib/xrdp /usr/local/libexec/openldap /usr/local/llvm-devel/lib 
/usr/local/llvm10/lib /usr/local/llvm11/lib /usr/local/llvm12/lib 
/usr/local/llvm70/lib /usr/local/llvm80/lib /usr/local/llvm90/lib 
/usr/local/share/chromium
<118>32-bit compatibility ldconfig path: /usr/lib32 
/alt/i386/root/usr/local/lib
<118>Setting hostname: slippy.
<118>Setting up harvesting: [UMA],[FS_ATIME],SWI,INTERRUPT,NET_NG,[NET_ETHER
],NET_TUN,MOUSE,KEYBOARD,ATTACH,CACHED
<118>Feeding entropy: .
<118>Starting ippool.
<118>70018:add pool node(252.0.0.1/255.255.255.255: node entry already 
present in pool
<118>70018:add pool node(252.0.0.1/255.255.255.255: node entry already 
present in pool
<118>70018:add pool node(252.0.0.1/255.255.255.255: node entry already 
present in pool
<118>70018:add pool node(252.0.0.1/255.255.255.255: node entry already 
present in pool
<118>70018:add pool node(252.0.0.1/255.255.255.255: node entry already 
present in pool
<118>70018:add pool node(252.0.0.1/255.255.255.255: node entry already 
present in pool
<118>70018:add pool node(252.0.0.1/255.255.255.255: node entry already 
present in pool
<118>70018:add pool node(252.0.0.1/255.255.255.255: node entry already 
present in pool
<118>70018:add pool node(252.0.0.1/255.255.255.255: node entry already 
present in pool
<118>70018:add pool node(252.0.0.1/255.255.255.255: node entry already 
present in pool
<118>70018:add pool node(252.0.0.1/255.255.255.255: node entry already 
present in pool
<118>70018:add pool node(252.0.0.1/255.255.255.255: node entry already 
present in pool
<118>70018:add pool node(252.0.0.1/255.255.255.255: node entry already 
present in pool
<118>70018:add pool node(252.0.0.1/255.255.255.255: node entry already 
present in pool
<118>Additional TCP/IP options: rfc1323 extensions=NO.
<118>Enabling ipfilter.
<118>Installing NAT rules.
<118>0 entries flushed from NAT table
<118>0 entries flushed from NAT list
<118>Starting ipmon.
<6>wlan0: Ethernet address: 20:6a:8a:72:03:17
<118>Created wlan(4) interfaces: wlan0.
<6>bridge0: Ethernet address: 58:9c:fc:10:ff:c8
<118>Created clone interfaces: lagg0 bridge0.
<6>lo0: link state changed to UP
<6>bge0: link state changed to DOWN
iwn0: iwn_read_firmware: ucode rev=0x12a80601
<118>Starting wpa_supplicant.
<6>lagg0: link state changed to DOWN
<6>lagg0: IPv6 addresses on wlan0 have been removed before adding it as a 
member to prevent IPv6 address scope violation.
iwn0: iwn_read_firmware: ucode rev=0x12a80601
<6>wlan0: link state changed to UP
<6>lagg0: link state changed to UP
<6>bge0: link state changed to UP


Fatal trap 12: page fault while in kernel mode
cpuid = 0; apic id = 00
fault virtual address	= 0x128
fault code		= supervisor read data, page not present
instruction pointer	= 0x20:0xffffffff806cb53d
stack pointer	        = 0x28:0xfffffe00831a3210
frame pointer	        = 0x28:0xfffffe00831a3210
code segment		= base 0x0, limit 0xfffff, type 0x1b
			= DPL 0, pres 1, long 1, def32 0, gran 1
processor eflags	= interrupt enabled, resume, IOPL = 0
current process		= 0 (bge0 taskq)
trap number		= 12
panic: page fault
cpuid = 0
time = 1629610531
KDB: stack backtrace:
db_trace_self_wrapper() at db_trace_self_wrapper+0x2b/frame 
0xfffffe00831a2eb0
vpanic() at vpanic+0x187/frame 0xfffffe00831a2f10
panic() at panic+0x43/frame 0xfffffe00831a2f70
trap_fatal() at trap_fatal+0x387/frame 0xfffffe00831a2fd0
trap_pfault() at trap_pfault+0x4f/frame 0xfffffe00831a3030
trap() at trap+0x26a/frame 0xfffffe00831a3140
calltrap() at calltrap+0x8/frame 0xfffffe00831a3140
--- trap 0xc, rip = 0xffffffff806cb53d, rsp = 0xfffffe00831a3210, rbp = 
0xfffffe00831a3210 ---
__rw_rlock_int() at __rw_rlock_int+0xd/frame 0xfffffe00831a3210
in6_lltable_lookup() at in6_lltable_lookup+0xa7/frame 0xfffffe00831a3240
nd6_lookup() at nd6_lookup+0x4e/frame 0xfffffe00831a3270
pfxlist_onlink_check() at pfxlist_onlink_check+0xfb/frame 0xfffffe00831a3310
nd6_ra_input() at nd6_ra_input+0x147f/frame 0xfffffe00831a35d0
icmp6_input() at icmp6_input+0x685/frame 0xfffffe00831a37b0
ip6_input() at ip6_input+0xa9a/frame 0xfffffe00831a3890
netisr_dispatch_src() at netisr_dispatch_src+0xca/frame 0xfffffe00831a38e0
ether_demux() at ether_demux+0x138/frame 0xfffffe00831a3910
ether_nh_input() at ether_nh_input+0x34e/frame 0xfffffe00831a3970
netisr_dispatch_src() at netisr_dispatch_src+0xca/frame 0xfffffe00831a39c0
ether_input() at ether_input+0x69/frame 0xfffffe00831a3a20
if_input() at if_input+0xa/frame 0xfffffe00831a3a30
bge_rxeof() at bge_rxeof+0x4dc/frame 0xfffffe00831a3ab0
bge_intr_task() at bge_intr_task+0x1a7/frame 0xfffffe00831a3b00
taskqueue_run_locked() at taskqueue_run_locked+0x191/frame 
0xfffffe00831a3b80
taskqueue_thread_loop() at taskqueue_thread_loop+0xc3/frame 
0xfffffe00831a3bb0
fork_exit() at fork_exit+0x8a/frame 0xfffffe00831a3bf0
fork_trampoline() at fork_trampoline+0xe/frame 0xfffffe00831a3bf0
--- trap 0, rip = 0, rsp = 0, rbp = 0 ---
Uptime: 1m28s
Dumping 512 out of 7972 MB:..4%..13%..22%..32%..41%..54%..63%..72%..82%..91%

__curthread () at /opt/src/git-src/sys/amd64/include/pcpu_aux.h:55
55		__asm("movq %%gs:%P1,%0" : "=r" (td) : "n" (offsetof(struct pcpu,
(kgdb) bt
#0  __curthread () at /opt/src/git-src/sys/amd64/include/pcpu_aux.h:55
#1  doadump (textdump=textdump at entry=1) at /opt/src/git-src/sys/kern/kern_sh
utdown.c:399
#2  0xffffffff806cf9ab in kern_reboot (howto=260) at 
/opt/src/git-src/sys/kern/kern_shutdown.c:486
#3  0xffffffff806cfe26 in vpanic (fmt=0xffffffff80a94e2f "%s", 
ap=<optimized out>) at /opt/src/git-src/sys/kern/kern_shutdown.c:919
#4  0xffffffff806cfc23 in panic (fmt=<unavailable>) at 
/opt/src/git-src/sys/kern/kern_shutdown.c:843
#5  0xffffffff80a342c7 in trap_fatal (frame=0xfffffe00831a3150, eva=296) at 
/opt/src/git-src/sys/amd64/amd64/trap.c:946
#6  0xffffffff80a3431f in trap_pfault (frame=frame at entry=0xfffffe00831a3150,
 usermode=false, signo=<optimized out>, signo at entry=0x0, ucode=<optimized 
out>, ucode at entry=0x0) at /opt/src/git-src/sys/amd64/amd64/trap.c:765
#7  0xffffffff80a3399a in trap (frame=0xfffffe00831a3150) at 
/opt/src/git-src/sys/amd64/amd64/trap.c:443
#8  <signal handler called>
#9  __rw_rlock_int (rw=0x110) at /opt/src/git-src/sys/kern/kern_rwlock.c:679
#10 0xffffffff8087cd07 in in6_lltable_lookup (llt=<optimized out>, 
flags=<optimized out>, l3addr=<optimized out>) at /opt/src/git-src/sys/netin
et6/in6.c:2349
#11 0xffffffff80897dae in lla_lookup (llt=0x110, flags=2374593664, 
flags at entry=0, l3addr=0xfffffe00831a3250) at /opt/src/git-src/sys/net/if_lla
tbl.h:261
#12 nd6_lookup (addr6=<optimized out>, flags=-1920373632, flags at entry=0, 
ifp=<optimized out>) at /opt/src/git-src/sys/netinet6/nd6.c:1204
#13 0xffffffff8089ff7b in find_pfxlist_reachable_router 
(pr=0xfffff8002b64f100) at /opt/src/git-src/sys/netinet6/nd6_rtr.c:1817
#14 pfxlist_onlink_check () at /opt/src/git-src/sys/netinet6/nd6_rtr.c:1861
#15 0xffffffff8089fc5f in nd6_ra_input (m=<optimized out>, 
m at entry=0xfffff8003a3e1d00, off=<optimized out>, icmp6len=<optimized out>, 
icmp6len at entry=48) at /opt/src/git-src/sys/netinet6/nd6_rtr.c:597
#16 0xffffffff80874aa5 in icmp6_input (mp=0xfffffe00831a37f8, 
offp=0xfffffe00831a37f0, proto=<optimized out>) at 
/opt/src/git-src/sys/netinet6/icmp6.c:780
#17 0xffffffff8088beca in ip6_input (m=0xfffff8003a3e1d00) at 
/opt/src/git-src/sys/netinet6/ip6_input.c:929
#18 0xffffffff80806d6a in netisr_dispatch_src (proto=6, source=<optimized 
out>, source at entry=0, m=0x0) at /opt/src/git-src/sys/net/netisr.c:1143
#19 0xffffffff8080704f in netisr_dispatch (proto=272, m=0x10) at 
/opt/src/git-src/sys/net/netisr.c:1234
#20 0xffffffff807f3d58 in ether_demux (ifp=ifp at entry=0xfffff8003a30e800, 
m=0xfffffe008d896c80) at /opt/src/git-src/sys/net/if_ethersubr.c:925
#21 0xffffffff807f50fe in ether_input_internal (ifp=0xfffff8003a30e800, 
m=0xfffffe008d896c80) at /opt/src/git-src/sys/net/if_ethersubr.c:711
#22 ether_nh_input (m=<optimized out>) at /opt/src/git-src/sys/net/if_ethers
ubr.c:741
#23 0xffffffff80806d6a in netisr_dispatch_src (proto=proto at entry=5, 
source=<optimized out>, source at entry=0, m=0x0, m at entry=0xfffff8003a3e1d00) 
at /opt/src/git-src/sys/net/netisr.c:1143
#24 0xffffffff8080704f in netisr_dispatch (proto=272, proto at entry=5, 
m=0x10, m at entry=0xfffff8003a3e1d00) at /opt/src/git-src/sys/net/netisr.c:123
4
#25 0xffffffff807f41a9 in ether_input (ifp=<optimized out>, 
m=0xfffff8003a3e1d00) at /opt/src/git-src/sys/net/if_ethersubr.c:832
#26 0xffffffff807f042a in if_input (ifp=0x110, ifp at entry=0xfffff8000516b800,
 sendmp=0xfffffe008d896c80, sendmp at entry=0xfffff8003a3e1d00) at 
/opt/src/git-src/sys/net/if.c:4444
#27 0xffffffff818eaabc in bge_rxeof (sc=<optimized out>, 
sc at entry=0xfffffe00107d0000, rx_prod=rx_prod at entry=2, 
holdlck=holdlck at entry=0) at /opt/src/git-src/sys/dev/bge/if_bge.c:4436
#28 0xffffffff818e7d57 in bge_intr_task (arg=0xfffffe00107d0000, 
pending=<optimized out>) at /opt/src/git-src/sys/dev/bge/if_bge.c:4666
#29 0xffffffff80731d81 in taskqueue_run_locked (queue=queue at entry=0xfffff800
03890600) at /opt/src/git-src/sys/kern/subr_taskqueue.c:476
#30 0xffffffff80733073 in taskqueue_thread_loop (arg=<optimized out>, 
arg at entry=0xfffffe00107d7568) at /opt/src/git-src/sys/kern/subr_taskqueue.c:
793
#31 0xffffffff8068b80a in fork_exit (callout=0xffffffff80732fb0 
<taskqueue_thread_loop>, arg=0xfffffe00107d7568, frame=0xfffffe00831a3c00) 
at /opt/src/git-src/sys/kern/kern_fork.c:1087
#32 <signal handler called>
(kgdb) frame 9
#9  __rw_rlock_int (rw=0x110) at /opt/src/git-src/sys/kern/kern_rwlock.c:679
679		v = RW_READ_VALUE(rw);
(kgdb) l
674		KASSERT(rw_wowner(rw) != td,
675		    ("rw_rlock: wlock already held for %s @ %s:%d",
676		    rw->lock_object.lo_name, file, line));
677		WITNESS_CHECKORDER(&rw->lock_object, LOP_NEWORDER, file, line, NULL);
678	
679		v = RW_READ_VALUE(rw);
680		if (__predict_false(LOCKSTAT_PROFILE_ENABLED(rw__acquire) ||
681		    !__rw_rlock_try(rw, td, &v, true LOCK_FILE_LINE_ARG)))
682			__rw_rlock_hard(rw, td, v LOCK_FILE_LINE_ARG);
683		else
(kgdb) p rw
$1 = (struct rwlock *) 0x110
(kgdb) frame 10
#10 0xffffffff8087cd07 in in6_lltable_lookup (llt=<optimized out>, 
flags=<optimized out>, l3addr=<optimized out>) at /opt/src/git-src/sys/netin
et6/in6.c:2349
2349			LLE_RLOCK(lle);
(kgdb) l
2344			return (lle);
2345	
2346		if (flags & LLE_EXCLUSIVE)
2347			LLE_WLOCK(lle);
2348		else
2349			LLE_RLOCK(lle);
2350	
2351		/*
2352		 * If the afdata lock is not held, the LLE may have been unlinked 
while
2353		 * we were blocked on the LLE lock.  Check for this case.
(kgdb) p lle
$2 = (struct llentry *) 0x0
(kgdb) 



-- 
Cheers,
Cy Schubert <Cy.Schubert at cschubert.com>
FreeBSD UNIX:  <cy at FreeBSD.org>   Web:  https://FreeBSD.org
NTP:           <cy at nwtime.org>    Web:  https://nwtime.org

	The need of the many outweighs the greed of the few.





More information about the dev-commits-src-all mailing list