summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStar Chang <starchang@google.com>2022-03-29 04:57:35 +0000
committerStar Chang <starchang@google.com>2022-04-13 01:41:10 +0000
commitdb1be4c4b277ba3447619228b49f1c0414fbf94e (patch)
treeb479fb3ef64620f6502c8e7cf8769908f3b0c00e
parent8ee0e5ed84219b9c0c5f79bdffdd4e2da6b49a1e (diff)
downloadbcm4389-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--Kbuild4
-rw-r--r--dhd_custom_google.c4
2 files changed, 6 insertions, 2 deletions
diff --git a/Kbuild b/Kbuild
index 949b723..b8212dc 100644
--- a/Kbuild
+++ b/Kbuild
@@ -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;