Page MenuHomeFreeBSD

LinuxKPI: Switch irq_work implementation back to standard taskqueue
ClosedPublic

Authored by wulf on Apr 24 2022, 11:42 PM.
Tags
None
Referenced Files
Unknown Object (File)
Mon, Jul 6, 5:05 AM
Unknown Object (File)
Wed, Jun 17, 5:23 PM
Unknown Object (File)
Wed, Jun 17, 5:10 PM
Unknown Object (File)
Wed, Jun 17, 2:46 AM
Unknown Object (File)
Tue, Jun 16, 3:47 AM
Unknown Object (File)
Wed, Jun 10, 10:26 AM
Unknown Object (File)
Jun 3 2026, 4:07 PM
Unknown Object (File)
Apr 23 2026, 6:01 PM

Details

Summary

from fast one as dmabuf does not run callbacks from critical sections
since drm-kmod 5.7.
Consumers which requires fair irq_work like drm-kmod 5.4 must #define
LKPI_IRQ_WORK_USE_FAST_TQ somewhere in source file before linux/irq_work.h
inclusion to enable old behavior.

While here include linux/llist.h to get struct llist_node definition
and add TQFLG_FAILIF_PENDING flag to taskqueue_enqueue to match Linux.

Diff Detail

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

Event Timeline

wulf requested review of this revision.Apr 24 2022, 11:42 PM

Chase for taskqueue_enqueue flag name change

TQFLG_FAILIF_PENDING -> TASKQUEUE_FAIL_IF_PENDING