summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKai Shi <kaishi@google.com>2020-06-30 16:46:26 +0000
committerAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>2020-06-30 16:46:26 +0000
commit529570fc410b316b4543186019d1b4c61e612637 (patch)
tree9ba52801ba43f93c8b1677059ca3431003ee16a6
parent8f5f532fbdb41ccc4de8414471cf2f6f984e8b70 (diff)
parentde359e61f8d727725b8b2393127f6d2a10a14abb (diff)
Merge "Bug fix of Tx PER when packet count is low" into rvc-dev am: de359e61f8
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/opt/net/wifi/+/12035415 Change-Id: I520d8cbcea58a527388551265b5786c5b6764a69
-rw-r--r--service/java/com/android/server/wifi/DeviceConfigFacade.java2
-rw-r--r--service/java/com/android/server/wifi/WifiDataStall.java8
-rw-r--r--tests/wifitests/src/com/android/server/wifi/WifiDataStallTest.java4
3 files changed, 8 insertions, 6 deletions
diff --git a/service/java/com/android/server/wifi/DeviceConfigFacade.java b/service/java/com/android/server/wifi/DeviceConfigFacade.java
index 0e43a0891..0b707701f 100644
--- a/service/java/com/android/server/wifi/DeviceConfigFacade.java
+++ b/service/java/com/android/server/wifi/DeviceConfigFacade.java
@@ -66,7 +66,7 @@ public class DeviceConfigFacade {
// Denominator part of default threshold of L2 throughput over L3 throughput ratio
public static final int DEFAULT_TPUT_SUFFICIENT_RATIO_THR_DEN = 1;
// Default threshold of Tx packet per second
- public static final int DEFAULT_TX_PACKET_PER_SECOND_THR = 1;
+ public static final int DEFAULT_TX_PACKET_PER_SECOND_THR = 2;
// Default threshold of Rx packet per second
public static final int DEFAULT_RX_PACKET_PER_SECOND_THR = 1;
// Default high threshold values for various connection/disconnection cases
diff --git a/service/java/com/android/server/wifi/WifiDataStall.java b/service/java/com/android/server/wifi/WifiDataStall.java
index 7ae577900..ebc184773 100644
--- a/service/java/com/android/server/wifi/WifiDataStall.java
+++ b/service/java/com/android/server/wifi/WifiDataStall.java
@@ -296,7 +296,8 @@ public class WifiDataStall {
}
logd(" ccaLevel = " + ccaLevel);
- int txPer = updateTxPer(txSuccessDelta, txRetriesDelta, isSameBssidAndFreq);
+ int txPer = updateTxPer(txSuccessDelta, txRetriesDelta, isSameBssidAndFreq,
+ isTxTrafficHigh);
boolean isTxTputLow = false;
boolean isRxTputLow = false;
@@ -397,12 +398,13 @@ public class WifiDataStall {
return WifiIsUnusableEvent.TYPE_UNKNOWN;
}
- private int updateTxPer(long txSuccessDelta, long txRetriesDelta, boolean isSameBssidAndFreq) {
+ private int updateTxPer(long txSuccessDelta, long txRetriesDelta, boolean isSameBssidAndFreq,
+ boolean isTxTrafficHigh) {
if (!isSameBssidAndFreq) {
return DEFAULT_TX_PACKET_ERROR_RATE;
}
long txAttempts = txSuccessDelta + txRetriesDelta;
- if (txAttempts <= 0) {
+ if (txAttempts <= 0 || !isTxTrafficHigh) {
return DEFAULT_TX_PACKET_ERROR_RATE;
}
return (int) (txRetriesDelta * 100 / txAttempts);
diff --git a/tests/wifitests/src/com/android/server/wifi/WifiDataStallTest.java b/tests/wifitests/src/com/android/server/wifi/WifiDataStallTest.java
index 61979f1e8..4ed08a3d1 100644
--- a/tests/wifitests/src/com/android/server/wifi/WifiDataStallTest.java
+++ b/tests/wifitests/src/com/android/server/wifi/WifiDataStallTest.java
@@ -342,7 +342,7 @@ public class WifiDataStallTest extends WifiBaseTest {
assertEquals(WifiIsUnusableEvent.TYPE_UNKNOWN, mWifiDataStall
.checkDataStallAndThroughputSufficiency(mOldLlStats, mNewLlStats, mWifiInfo));
assertEquals(true, mWifiDataStall.isThroughputSufficient());
- assertEquals(4804, mWifiDataStall.getTxThroughputKbps());
+ assertEquals(9128, mWifiDataStall.getTxThroughputKbps());
assertEquals(-1, mWifiDataStall.getRxThroughputKbps());
verify(mWifiMetrics, never()).logWifiIsUnusableEvent(anyInt());
}
@@ -400,7 +400,7 @@ public class WifiDataStallTest extends WifiBaseTest {
assertEquals(WifiIsUnusableEvent.TYPE_UNKNOWN, mWifiDataStall
.checkDataStallAndThroughputSufficiency(mOldLlStats, mNewLlStats, mWifiInfo));
assertEquals(true, mWifiDataStall.isThroughputSufficient());
- assertEquals(4707, mWifiDataStall.getTxThroughputKbps());
+ assertEquals(8943, mWifiDataStall.getTxThroughputKbps());
assertEquals(9414, mWifiDataStall.getRxThroughputKbps());
}