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
F161716328: D35052.id106105.diff
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
rG FreeBSD src repository
Lint
Lint Not Applicable
Unit
Tests Not Applicable

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