diff options
author | Star Chang <starchang@google.com> | 2022-03-29 04:57:35 +0000 |
---|---|---|
committer | Star Chang <starchang@google.com> | 2022-04-13 01:41:10 +0000 |
commit | db1be4c4b277ba3447619228b49f1c0414fbf94e (patch) | |
tree | b479fb3ef64620f6502c8e7cf8769908f3b0c00e | |
parent | 8ee0e5ed84219b9c0c5f79bdffdd4e2da6b49a1e (diff) | |
download | bcm4389-android-gs-raviole-5.10-t-beta-2.tar.gz |
bcmdhd: Change cpu 4 as default cpu for irq handlingandroid-t-beta-2_r0.4android-gs-raviole-5.10-t-beta-2
Dynamic irq affiinity sometimes will make random drop due to:
1. Change small core to big core not smath enough and small core is easier busy.
2. Using irq affinity is hardward to avoid using the same cpu between
cpu_candidency.
Bug: 223086677
Test: https://docs.google.com/spreadsheets/d/15qBf20rFD1yUArSdBwFszHiu9D5BFatH1tnas_HAZtc/edit#gid=787775087
Signed-off-by: Star Chang <starchang@google.com>
Change-Id: Ic98827c9b00e2dfd0ca9aeb4c855beba33cb837d
-rw-r--r-- | Kbuild | 4 | ||||
-rw-r--r-- | dhd_custom_google.c | 4 |
2 files changed, 6 insertions, 2 deletions
@@ -241,9 +241,9 @@ ifneq ($(CONFIG_SOC_GOOGLE),) DHDCFLAGS += -DAFFINITY_UPDATE_MIN_PERIOD_SEC=6 DHDCFLAGS += -DRESCHED_STREAK_MAX_HIGH=10 DHDCFLAGS += -DRESCHED_STREAK_MAX_LOW=2 - DHDCFLAGS += -DIRQ_AFFINITY_BIG_CORE=5 - DHDCFLAGS += -DIRQ_AFFINITY_SMALL_CORE=1 DHDCFLAGS += -DCLEAN_IRQ_AFFINITY_HINT + DHDCFLAGS += -DIRQ_AFFINITY_BIG_CORE=4 + DHDCFLAGS += -DIRQ_AFFINITY_SMALL_CORE=4 endif # Memory consumed by DHD diff --git a/dhd_custom_google.c b/dhd_custom_google.c index e6ee0ff..61b8a13 100644 --- a/dhd_custom_google.c +++ b/dhd_custom_google.c @@ -782,6 +782,10 @@ void dhd_plat_report_bh_sched(void *plat_info, int resched) uint64 curr_time_ns; uint64 time_delta_ns; + if (last_resched_cnt_check_time_ns != 0 && + IRQ_AFFINITY_SMALL_CORE == IRQ_AFFINITY_BIG_CORE) + return; + if (resched > 0) { resched_streak++; return; |