From 4c25eb8ea5a2ae8cd310221efd3dd2be4f62ab8f Mon Sep 17 00:00:00 2001 From: Paul Chen Date: Wed, 13 Mar 2024 15:33:31 +0800 Subject: [PATCH] ANDROID: EXPORT raise_softirq and update the ABI symbol list MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit In kernel 6.1 pending softirq won’t block turning off idle tick, so it will take longer to be handled. This is for power saving purposes but has extra delay then the 5.15 kernel. From above, it needs to export raise_softirq for external module to speed up the time sensitive event. Bug: 324080017 Test: build pass, raise_softirq can be used Change-Id: I675d5927d000ae5c372e6a88a1eda3101152e709 Signed-off-by: Paul Chen --- android/abi_gki_aarch64.stg | 10 ++++++++++ android/abi_gki_aarch64_pixel | 1 + kernel/softirq.c | 1 + 3 files changed, 12 insertions(+) diff --git a/android/abi_gki_aarch64.stg b/android/abi_gki_aarch64.stg index da3c540ac6c9..be92d70e933a 100644 --- a/android/abi_gki_aarch64.stg +++ b/android/abi_gki_aarch64.stg @@ -383784,6 +383784,15 @@ elf_symbol { type_id: 0x91f0ee05 full_name: "radix_tree_tagged" } +elf_symbol { + id: 0xdd08aa2e + name: "raise_softirq" + is_defined: true + symbol_type: FUNCTION + crc: 0xc7ea8a7a + type_id: 0x01f9081c + full_name: "raise_softirq" +} elf_symbol { id: 0xbc5e2f91 name: "rational_best_approximation" @@ -409118,6 +409127,7 @@ interface { symbol_id: 0xf65a8574 symbol_id: 0x69d73c4e symbol_id: 0x9653ad6f + symbol_id: 0xdd08aa2e symbol_id: 0xbc5e2f91 symbol_id: 0x05375661 symbol_id: 0x8e8693ec diff --git a/android/abi_gki_aarch64_pixel b/android/abi_gki_aarch64_pixel index 4effae817da1..6344709b8c6b 100644 --- a/android/abi_gki_aarch64_pixel +++ b/android/abi_gki_aarch64_pixel @@ -1753,6 +1753,7 @@ radix_tree_lookup radix_tree_next_chunk radix_tree_preload + raise_softirq ___ratelimit raw_notifier_call_chain raw_notifier_chain_register diff --git a/kernel/softirq.c b/kernel/softirq.c index 8c4436f0504f..43e3193a5767 100644 --- a/kernel/softirq.c +++ b/kernel/softirq.c @@ -755,6 +755,7 @@ void raise_softirq(unsigned int nr) raise_softirq_irqoff(nr); local_irq_restore(flags); } +EXPORT_SYMBOL_GPL(raise_softirq); void __raise_softirq_irqoff(unsigned int nr) {