Page MenuHomeFreeBSD

LinuxKPI: Convert lkpi-shrinker lock to sx.
ClosedPublic

Authored by wulf on Apr 24 2022, 11:38 PM.
Tags
None
Referenced Files
Unknown Object (File)
Sat, May 23, 4:23 PM
Unknown Object (File)
Sat, May 23, 5:12 AM
Unknown Object (File)
Sat, May 23, 5:11 AM
Unknown Object (File)
Mon, May 18, 10:17 AM
Unknown Object (File)
Sun, Apr 26, 12:28 AM
Unknown Object (File)
Apr 24 2026, 5:20 AM
Unknown Object (File)
Apr 20 2026, 3:56 AM
Unknown Object (File)
Apr 18 2026, 1:14 PM

Details

Summary

This fixes "might_sleep() with the following non-sleepable locks held:
exclusive sleep mutex lkpi-shrinker" warnings.

Witness message is:
might_sleep() with the following non-sleepable locks held:
exclusive sleep mutex lkpi-shrinker (lkpi-shrinker) r = 0 (0xffffffff827e3900)

locked @ /usr/src/sys/compat/linuxkpi/common/src/linux_shrinker.c:98

stack backtrace:
0 0xffffffff80690115 at witness_debugger+0x65
1 0xffffffff8069126a at witness_warn+0x3ea
2 0xffffffff825c37bf at __i915_active_wait+0x2f
3 0xffffffff825e3d09 at i915_vma_unbind+0x29
4 0xffffffff825c9bb4 at i915_gem_object_unbind+0x1d4
5 0xffffffff826fb344 at i915_gem_shrink+0x234
6 0xffffffff826fb659 at i915_gem_shrinker_scan+0x29
7 0xffffffff827db1ee at linuxkpi_vm_lowmem+0x9e
8 0xffffffff808920f6 at vm_pageout_worker+0x3d6
9 0xffffffff80891cd7 at vm_pageout+0x1d7
10 0xffffffff805d9080 at fork_exit+0x80
11 0xffffffff809158be at fork_trampoline+0xe

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 45347
Build 42235: arc lint + arc unit