From 354782156070d1383fc8a35823fdb97b6bbfea16 Mon Sep 17 00:00:00 2001 From: lukechang Date: Thu, 11 Apr 2024 08:27:39 +0000 Subject: [PATCH] ANDROID: softirq: add tasklet to LONG_SOFTIRQ_MASK In commit 35a06697da792f6a8e56a600c671bdd980c10d36 ("FROMLIST: sched: Avoid placing RT threads on cores handling long softirqs"), the patch drop TASKLET_SOFTIRQ from LONG_SOFTIRQS. Some drivers use tasklet softirq for data reception from firmware. When there's a high volume or continuous stream of data from the firmware, it can lead to unexpectedly long execution times for RT tasks and further cause jank or audio glitch. Bug: 333895950 Test: check tasklet are defered when RT task is running Change-Id: I53d6b43fe5a8860758898f09810a52fe319344f9 Signed-off-by: lukechang --- include/linux/interrupt.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/include/linux/interrupt.h b/include/linux/interrupt.h index 177547593ee4..cfa532cbd2e8 100644 --- a/include/linux/interrupt.h +++ b/include/linux/interrupt.h @@ -590,7 +590,8 @@ enum #define LONG_SOFTIRQ_MASK (BIT(NET_TX_SOFTIRQ) | \ BIT(NET_RX_SOFTIRQ) | \ BIT(BLOCK_SOFTIRQ) | \ - BIT(IRQ_POLL_SOFTIRQ)) + BIT(IRQ_POLL_SOFTIRQ) | \ + BIT(TASKLET_SOFTIRQ)) /* map softirq index to softirq name. update 'softirq_to_name' in * kernel/softirq.c when adding a new softirq.