net: wireless: bcmdhd: Set dpc rt thread priority to max
Mohan T [Thu, 11 Jul 2013 08:43:56 +0000 (13:43 +0530)]
Dhd dpc rt thread is getting starved on CPU load scenarios.
NIC driver has to get the data in real time, So we need to
set dpc rt thread priority to max. RT thread with SCHED_FIFO
schedule policy priorities are in ascending order
(i.e. 1 is lowest priority, 99 is highest).

So setting the dhd_dpc_thread priority to 99 to avoid starvation.
- Set  CUSTOM_DPC_PRIO_SETTING to 99

Bug 1286848

Change-Id: I5271dac66b3221933ed1df4a7c288bdcf00c900a
Signed-off-by: Mohan T <mohant@nvidia.com>
Reviewed-on: http://git-master/r/243347
Reviewed-on: http://git-master/r/245520
(cherry picked from commit 876b864c4a0e6e75ca31b191ff5fe7c043b0d16c)
Reviewed-on: http://git-master/r/247056
Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
Reviewed-by: Automatic_Commit_Validation_User

drivers/net/wireless/bcm43241/Makefile
drivers/net/wireless/bcm43341/Makefile
drivers/net/wireless/bcmdhd/Makefile

index c4c7723..bb37ccd 100644 (file)
@@ -23,6 +23,9 @@ DHDCFLAGS += -DCUSTOM_DPC_CPUCORE=0
 DHDCFLAGS += -DCUSTOM_DPC_PRIO_SETTING=99
 DHDCFLAGS += -DIOCTL_RESP_TIMEOUT=5000
 
+## Set dhd_dpd_thread priority to MAX to avoid starvation
+DHDCFLAGS += -DCUSTOM_DPC_PRIO_SETTING=99
+
 ifeq ($(CONFIG_BCMDHD_HW_OOB),y)
  DHDCFLAGS += -DHW_OOB -DOOB_INTR_ONLY
 else
index eb5bbab..36cffd7 100644 (file)
@@ -56,6 +56,9 @@ ifeq ($(CONFIG_BCM43341),y)
  DHDCFLAGS += -DVSDB_BW_ALLOCATE_ENABLE
  DHDCFLAGS += -DQMONITOR
  DHDCFLAGS += -DNV_BCM943341_WBFGN_MULTI_MODULE_SUPPORT
+DHDCFLAGS += -DQUEUE_BW
+## Set dhd_dpd_thread priority to MAX to avoid starvation
+DHDCFLAGS += -DCUSTOM_DPC_PRIO_SETTING=99
 endif
 
 #ifeq ($(CONFIG_BCM4335),y)
index 0e567e1..7c29c6b 100644 (file)
@@ -23,6 +23,9 @@ DHDCFLAGS += -DCUSTOM_DPC_CPUCORE=0
 DHDCFLAGS += -DCUSTOM_DPC_PRIO_SETTING=99
 DHDCFLAGS += -DIOCTL_RESP_TIMEOUT=5000
 
+## Set dhd_dpd_thread priority to MAX to avoid starvation
+DHDCFLAGS += -DCUSTOM_DPC_PRIO_SETTING=99
+
 ifeq ($(CONFIG_BCMDHD_HW_OOB),y)
  DHDCFLAGS += -DHW_OOB -DOOB_INTR_ONLY
 else