RE: Giant Locked drivers

From: Mark Millard <marklmi_at_yahoo.com>
Date: Fri, 18 Nov 2022 00:15:56 UTC
Warner Losh <imp_at_bsdimp.com> wrote on
Date: Tue, 15 Nov 2022 17:37:36 UTC :

> It's no secret fiant-locked drivers' days are numbered. We've been more
> sluggish about eliminating Giant than had been hoped. I plan in the coming
> weeks to add a tunable 'debug.giant_drivers' which initially will be set to
> enable/disable giant-locked drivers in the tree.
> 
> When set to 0, you get today's behavior. If set to 1, it will no longer
> allow drivers that don't request MPSAFE interrupt handlers from registering
> (the interrupt setup will return an error).
> 
> This will allow us to understand what is lost if we throw the switch, and
> allow users to proactively test their systems to see if they are
> affected or not (and if they are, if they want to live without the
> functionality, or want to fund work in the area).

I'll just list where I see giant referenced in var/log/messages
in recent times. Summary: I only see 2 types in my rather limited
type of contexts: atkbd0 and fb.


ThreadRipper 1950X system:

# uname -apKU
FreeBSD amd64_ZFS 14.0-CURRENT FreeBSD 14.0-CURRENT #55 main-n259064-f83db6441a2f-dirty: Sun Nov  6 16:31:55 PST 2022     root@amd64_ZFS:/usr/obj/BUILDs/main-amd64-nodbg-clang/usr/main-src/amd64.amd64/sys/GENERIC-NODBG amd64 amd64 1400073 1400073

# grep -i giant /var/log/messages
Nov  6 20:11:56 amd64_ZFS kernel: atkbd0: [GIANT-LOCKED]
Nov 13 15:08:15 amd64_ZFS kernel: atkbd0: [GIANT-LOCKED]

The system does have video hardware present and in use.
(The only system where this is normal in my FreeBSD
contexts.) Does have: PS/2 keyboard and USB mouse
present.


RPi4B 8 GiByte system (booted as aarch64):
(HDMI, USB kyboard, USB mouse present for test. None normally used.)
(I'll not explicitly test 4 GiByte, RPi3B, or RPi2B v1.2 .)

# uname -apKU
FreeBSD RPi_4_3_2v1p2 14.0-CURRENT FreeBSD 14.0-CURRENT #49 main-n259064-f83db6441a2f-dirty: Tue Nov 15 13:39:35 PST 2022     root@CA72_16Gp_ZFS:/usr/obj/BUILDs/main-CA53-nodbg-clang/usr/main-src/arm64.aarch64/sys/GENERIC-NODBG-CA53 arm64 aarch64 1400073 1400073

# grep -i giant /var/log/messages
. . .
Nov 17 14:57:25 RPi_4_3_2v1p2 kernel: WARNING: Device "fb" is Giant locked and may be deleted before FreeBSD 14.0.

(Seeing such requires having a HDMI cable to a powered monitor in place
--something I do not normally have.)


RPi2B v1.1 (armv7):
(HDMI, USB kyboard, USB mouse present for test. None normally used.)

# uname -apKU
FreeBSD OPiP2E_RPI2v1p1 14.0-CURRENT FreeBSD 14.0-CURRENT #51 main-n259064-f83db6441a2f-dirty: Sun Nov  6 23:47:56 PST 2022     root@CA72_16Gp_ZFS:/usr/obj/BUILDs/main-CA7-nodbg-clang/usr/main-src/arm.armv7/sys/GENERIC-NODBG-CA7 arm armv7 1400073 1400073

# grep -i giant /var/log/messages
. . .
Nov 17 15:37:09 OPiP2E_RPI2v1p1 kernel: WARNING: Device "fb" is Giant locked and may be deleted before FreeBSD 14.0.


I did not get any examples of giant in /var/log/messages
for: (HDMI, USB kyboard, USB mouse present for test. None normally used.)

Rock64 (aarch64)
Orange Pi+ 2ed (armv7)

That looks to possibly be just lack of HDMI support in FreeBSD.
For example, through U-Boot the Orange Pi+ 2ed did show output
via HDMI but no more was added after U-Boot was done.

The following had no video hardware present, no keyboard, and
no mouse --and also had no references to giant in
/var/log/messages :

HoneyComb (aarch64)
MACCHIATObin Double Shot (aarch64)


I no longer have access to any powerpc* systems.


===
Mark Millard
marklmi at yahoo.com