new linux device driver - tasklet

收錄在 Ameba 的 100篇


續之前所寫的 Linux device driver - tasklet

github tasklet


1. DECLARE_TASKLET

定義在 linux/interrupt.h

#define DECLARE_TASKLET(name, func, data) \
struct tasklet_struct name = { NULL, 0, ATOMIC_INIT(0), func, data }

因為 tasklet_init() 也是在設定 tasklet_struct 的內容值,
所以有了 DECLARE_TASKLET 就不用再做 tasklet_init

2. tasklet_schedule
    調度 tasklet 執行:
    一般 schedule 用 softirq 30, 如果需要較高的 priority,
    可以用 tasklet_hi_schedule(), 會使用 softirq 0

3. tasklet_kill
    確保 tasklet 不會再次被調度. 如果 tasklet 正在執行, 會等他執行完畢


留言

熱門文章