NetBSD-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
port-alpha/60541: port-alpha: ATA stray IRQs, video fencing instability, and network buffer exhaustion under NetBSD 10.1 Multiuser
>Number: 60541
>Category: port-alpha
>Synopsis: port-alpha: ATA stray IRQs, video fencing instability, and network buffer exhaustion under NetBSD 10.1 Multiuser
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: port-alpha-maintainer
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Wed Aug 05 17:10:00 +0000 2026
>Originator: technoid@AlphaBox.Atari8us
>Release: NetBSD 10.1
>Organization:
>Environment:
System: NetBSD AlphaBox.Atari8us 10.1 NetBSD 10.1 (GENERIC) #0: Mon Dec 16 13:08:11 UTC 2024 mkrepro%mkrepro.NetBSD.org@localhost:/usr/src/sys/arch/alpha/compile/GENERIC alpha
Architecture: alpha
Machine: alpha
>Description:
Severe bus synchronization and data fencing instability observed on
AlphaStation XP900 hardware configuration running NetBSD 10.1 GENERIC
multiuser baseline.
The system regularly experiences ATA controller stray IRQs and catastrophic
video controller synchronization failures during active I/O. The primary
onboard/workstation video subsystem fails to stabilize due to missing or
misaligned memory-mapped I/O (MMIO) fences. It appears that the machine-
independent (MI) driver layers fail to enforce native `bus_space_barrier()`
or `alpha_mb()` execution constraints necessary to handle the EV6's highly
aggressive, weak memory out-of-order execution model.
Completely germane to this core architectural fencing failure is a critical
network buffer starvation issue. When standard TCP socket buffers are
increased at runtime or initialized at boot, the kernel immediately deadlocks
and throws a "No buffer space available" (ENOBUFS) error, despite the
presence of 2GB of physical system RAM. Because the unified 10.x network
allocator lacks explicit hardware memory-ordering fences on the Alpha port,
the EV6 processor performs out-of-order memory allocations during socket
creation. This corrupts the kernel's internal mbuf alignment metrics,
instantly starving the network memory pool and knocking the Intel PRO/1000
(wm0) interface offline.
To achieve system stability and maintain continuous uptime in a multiuser
environment, the native workstation video subsystem (Gloria, Powerstorm) had to be bypassed entirely
by installing a simple, generic unaccelerated legacy x86 PCI VGA card to serve
as the system console head.
>How-To-Repeat:
BOot an AlphaStation XP900 (EV6) with a native workstation display adapter
(such as TGA2/PowerStorm series) into NetBSD 10.1 multiuser mode.
2. Trigger concurrent disk I/O workloads alongside console terminal output.
3. Observe a flood of ATA controller stray IRQ traps in dmesg, quickly followed
by console video driver register corruption, memory fence lockups, or a hard
kernel panic.
4. Attempt to scale up TCP network windows (e.g. net.inet.tcp.recvspace=262144)
and observe instant socket buffer starvation (ENOBUFS).
>Fix:
The problem appears to stem from the modernization of MI frameworks in 10.x,
where strict Alpha-specific memory ordering barriers were dropped or omitted
during the unified network/storage memory allocation overhauls.
Temporary workaround requires disabling native workstation 3D/2D video hardware
and inserting a legacy PCI VGA adapter to isolate system console initialization.
A permanent fix requires auditing the Alpha machine-dependent (MD) bus_space
layers to ensure strict memory-ordering barriers (`alpha_mb()`) are explicitly
enforced before and after MMIO read/write blocks on shared 32-bit PCI buses.
>Unformatted:
Home |
Main Index |
Thread Index |
Old Index