From 35940c7b636ac3dfec57e383954b0c9e3b1c927e Mon Sep 17 00:00:00 2001 From: Mingguang Xu Date: Fri, 29 May 2020 11:25:34 -0700 Subject: Wifi usability: Separate thresholds on link speed and tput into tx and rx ones In addition, make the thresholds on link speed to detect Wifi data stall configurable through DeviceConfigFacade. Bug: 157751388 Test: atest com.android.server.wifi Test: atest android.net.wifi Signed-off-by: Mingguang Xu Change-Id: I3d0db15b10df055dfe3ac80e7305e6f62022d801 --- .../server/wifi/DeviceConfigFacadeTest.java | 32 ++++++++++++++++++---- .../com/android/server/wifi/WifiDataStallTest.java | 16 ++++++++--- 2 files changed, 38 insertions(+), 10 deletions(-) (limited to 'tests') diff --git a/tests/wifitests/src/com/android/server/wifi/DeviceConfigFacadeTest.java b/tests/wifitests/src/com/android/server/wifi/DeviceConfigFacadeTest.java index e6b169960..ce3eed098 100644 --- a/tests/wifitests/src/com/android/server/wifi/DeviceConfigFacadeTest.java +++ b/tests/wifitests/src/com/android/server/wifi/DeviceConfigFacadeTest.java @@ -124,10 +124,14 @@ public class DeviceConfigFacadeTest extends WifiBaseTest { mDeviceConfigFacade.getDataStallTxPerThr()); assertEquals(DeviceConfigFacade.DEFAULT_DATA_STALL_CCA_LEVEL_THR, mDeviceConfigFacade.getDataStallCcaLevelThr()); - assertEquals(DeviceConfigFacade.DEFAULT_TPUT_SUFFICIENT_THR_LOW_KBPS, - mDeviceConfigFacade.getTputSufficientLowThrKbps()); - assertEquals(DeviceConfigFacade.DEFAULT_TPUT_SUFFICIENT_THR_HIGH_KBPS, - mDeviceConfigFacade.getTputSufficientHighThrKbps()); + assertEquals(DeviceConfigFacade.DEFAULT_TX_TPUT_SUFFICIENT_THR_LOW_KBPS, + mDeviceConfigFacade.getTxTputSufficientLowThrKbps()); + assertEquals(DeviceConfigFacade.DEFAULT_TX_TPUT_SUFFICIENT_THR_HIGH_KBPS, + mDeviceConfigFacade.getTxTputSufficientHighThrKbps()); + assertEquals(DeviceConfigFacade.DEFAULT_RX_TPUT_SUFFICIENT_THR_LOW_KBPS, + mDeviceConfigFacade.getRxTputSufficientLowThrKbps()); + assertEquals(DeviceConfigFacade.DEFAULT_RX_TPUT_SUFFICIENT_THR_HIGH_KBPS, + mDeviceConfigFacade.getRxTputSufficientHighThrKbps()); assertEquals(DeviceConfigFacade.DEFAULT_TPUT_SUFFICIENT_RATIO_THR_NUM, mDeviceConfigFacade.getTputSufficientRatioThrNum()); assertEquals(DeviceConfigFacade.DEFAULT_TPUT_SUFFICIENT_RATIO_THR_DEN, @@ -179,6 +183,10 @@ public class DeviceConfigFacadeTest extends WifiBaseTest { assertEquals(false, mDeviceConfigFacade.isOverlappingConnectionBugreportEnabled()); assertEquals(DeviceConfigFacade.DEFAULT_OVERLAPPING_CONNECTION_DURATION_THRESHOLD_MS, mDeviceConfigFacade.getOverlappingConnectionDurationThresholdMs()); + assertEquals(DeviceConfigFacade.DEFAULT_TX_LINK_SPEED_LOW_THRESHOLD_MBPS, + mDeviceConfigFacade.getTxLinkSpeedLowThresholdMbps()); + assertEquals(DeviceConfigFacade.DEFAULT_RX_LINK_SPEED_LOW_THRESHOLD_MBPS, + mDeviceConfigFacade.getRxLinkSpeedLowThresholdMbps()); } /** @@ -205,6 +213,10 @@ public class DeviceConfigFacadeTest extends WifiBaseTest { anyInt())).thenReturn(4000); when(DeviceConfig.getInt(anyString(), eq("tput_sufficient_high_thr_kbps"), anyInt())).thenReturn(8000); + when(DeviceConfig.getInt(anyString(), eq("rx_tput_sufficient_low_thr_kbps"), + anyInt())).thenReturn(5000); + when(DeviceConfig.getInt(anyString(), eq("rx_tput_sufficient_high_thr_kbps"), + anyInt())).thenReturn(9000); when(DeviceConfig.getInt(anyString(), eq("tput_sufficient_ratio_thr_num"), anyInt())).thenReturn(3); when(DeviceConfig.getInt(anyString(), eq("tput_sufficient_ratio_thr_den"), @@ -261,6 +273,10 @@ public class DeviceConfigFacadeTest extends WifiBaseTest { anyBoolean())).thenReturn(true); when(DeviceConfig.getInt(anyString(), eq("overlapping_connection_duration_threshold_ms"), anyInt())).thenReturn(50000); + when(DeviceConfig.getInt(anyString(), eq("tx_link_speed_low_threshold_mbps"), + anyInt())).thenReturn(9); + when(DeviceConfig.getInt(anyString(), eq("rx_link_speed_low_threshold_mbps"), + anyInt())).thenReturn(10); mOnPropertiesChangedListenerCaptor.getValue().onPropertiesChanged(null); @@ -275,8 +291,10 @@ public class DeviceConfigFacadeTest extends WifiBaseTest { assertEquals(1500, mDeviceConfigFacade.getDataStallRxTputThrKbps()); assertEquals(95, mDeviceConfigFacade.getDataStallTxPerThr()); assertEquals(80, mDeviceConfigFacade.getDataStallCcaLevelThr()); - assertEquals(4000, mDeviceConfigFacade.getTputSufficientLowThrKbps()); - assertEquals(8000, mDeviceConfigFacade.getTputSufficientHighThrKbps()); + assertEquals(4000, mDeviceConfigFacade.getTxTputSufficientLowThrKbps()); + assertEquals(8000, mDeviceConfigFacade.getTxTputSufficientHighThrKbps()); + assertEquals(5000, mDeviceConfigFacade.getRxTputSufficientLowThrKbps()); + assertEquals(9000, mDeviceConfigFacade.getRxTputSufficientHighThrKbps()); assertEquals(3, mDeviceConfigFacade.getTputSufficientRatioThrNum()); assertEquals(2, mDeviceConfigFacade.getTputSufficientRatioThrDen()); assertEquals(10, mDeviceConfigFacade.getTxPktPerSecondThr()); @@ -306,5 +324,7 @@ public class DeviceConfigFacadeTest extends WifiBaseTest { assertEquals(1000, mDeviceConfigFacade.getBugReportMinWindowMs()); assertEquals(true, mDeviceConfigFacade.isOverlappingConnectionBugreportEnabled()); assertEquals(50000, mDeviceConfigFacade.getOverlappingConnectionDurationThresholdMs()); + assertEquals(9, mDeviceConfigFacade.getTxLinkSpeedLowThresholdMbps()); + assertEquals(10, mDeviceConfigFacade.getRxLinkSpeedLowThresholdMbps()); } } diff --git a/tests/wifitests/src/com/android/server/wifi/WifiDataStallTest.java b/tests/wifitests/src/com/android/server/wifi/WifiDataStallTest.java index cfe1ee8af..e374a9080 100644 --- a/tests/wifitests/src/com/android/server/wifi/WifiDataStallTest.java +++ b/tests/wifitests/src/com/android/server/wifi/WifiDataStallTest.java @@ -107,10 +107,14 @@ public class WifiDataStallTest extends WifiBaseTest { DeviceConfigFacade.DEFAULT_DATA_STALL_TX_PER_THR); when(mDeviceConfigFacade.getDataStallCcaLevelThr()).thenReturn( DeviceConfigFacade.DEFAULT_DATA_STALL_CCA_LEVEL_THR); - when(mDeviceConfigFacade.getTputSufficientLowThrKbps()).thenReturn( - DeviceConfigFacade.DEFAULT_TPUT_SUFFICIENT_THR_LOW_KBPS); - when(mDeviceConfigFacade.getTputSufficientHighThrKbps()).thenReturn( - DeviceConfigFacade.DEFAULT_TPUT_SUFFICIENT_THR_HIGH_KBPS); + when(mDeviceConfigFacade.getTxTputSufficientLowThrKbps()).thenReturn( + DeviceConfigFacade.DEFAULT_TX_TPUT_SUFFICIENT_THR_LOW_KBPS); + when(mDeviceConfigFacade.getTxTputSufficientHighThrKbps()).thenReturn( + DeviceConfigFacade.DEFAULT_TX_TPUT_SUFFICIENT_THR_HIGH_KBPS); + when(mDeviceConfigFacade.getRxTputSufficientLowThrKbps()).thenReturn( + DeviceConfigFacade.DEFAULT_RX_TPUT_SUFFICIENT_THR_LOW_KBPS); + when(mDeviceConfigFacade.getRxTputSufficientHighThrKbps()).thenReturn( + DeviceConfigFacade.DEFAULT_RX_TPUT_SUFFICIENT_THR_HIGH_KBPS); when(mDeviceConfigFacade.getTputSufficientRatioThrNum()).thenReturn( DeviceConfigFacade.DEFAULT_TPUT_SUFFICIENT_RATIO_THR_NUM); when(mDeviceConfigFacade.getTputSufficientRatioThrDen()).thenReturn( @@ -119,6 +123,10 @@ public class WifiDataStallTest extends WifiBaseTest { DeviceConfigFacade.DEFAULT_TX_PACKET_PER_SECOND_THR); when(mDeviceConfigFacade.getRxPktPerSecondThr()).thenReturn( DeviceConfigFacade.DEFAULT_RX_PACKET_PER_SECOND_THR); + when(mDeviceConfigFacade.getTxLinkSpeedLowThresholdMbps()).thenReturn( + DeviceConfigFacade.DEFAULT_TX_LINK_SPEED_LOW_THRESHOLD_MBPS); + when(mDeviceConfigFacade.getRxLinkSpeedLowThresholdMbps()).thenReturn( + DeviceConfigFacade.DEFAULT_RX_LINK_SPEED_LOW_THRESHOLD_MBPS); when(mWifiInfo.getLinkSpeed()).thenReturn(10); when(mWifiInfo.getRxLinkSpeedMbps()).thenReturn(10); -- cgit v1.2.3