ENUM SUBMIT_DISPOSITION(9)
πΈ NAME πΈ
okay so bestie, welcome to enum submit_disposition(9) from the Kernel API Manual π β it's literally the enum that gives flags for routing an incoming operation. main character energy for async TX routing, no cap.
β¨ SYNOPSIS β¨
here's the enum in its natural habitat, copy-exact:
enum submit_disposition {
ASYNC_TX_SUBMITTED ,
ASYNC_TX_CHANNEL_SWITCH ,
ASYNC_TX_DIRECT_SUBMIT
};
π Constants π
ASYNC_TX_SUBMITTEDβ we were able to append the new operation under the lock β slayASYNC_TX_CHANNEL_SWITCHβ when the lock is dropped schedule a channel switch πASYNC_TX_DIRECT_SUBMITβ when the lock is dropped submit directly β‘
π Description π
okay so here's the serious bit, and it's giving βdo not mess this upβ π β while holding depend_tx->lock we must avoid submitting new operations. why? to prevent a circular locking dependency with drivers that already hold a channel lock when calling async_tx_run_dependencies. that's the whole safety vibe. don't be the one who submits new operations while holding that lock, bestie, fr fr.
π SEE ALSO π
Kernel file ./crypto/async_tx/async_tx.c, plus the whole squad: __async_tx_find_channel(9), async_tx_channel_switch(9), async_trigger_callback(9), async_tx_quiesce(9) π«Ά
mwah π β source/version says ./crypto/async_tx, dated October 2026, and this iconic page is enum submit_disposition(9) β¨π
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms