Browse Source

icnss2: Remove __GFP_DIRECT_RECLAIM flag to claim memory faster

To avoid watchdog bark in 10s timeout due to compaction latency in very
bad fragmentation situation, Remove __GFP_DIRECT_RECLAIM flag to kzalloc
to avoid delay, which will help to claim memory faster.

Change-Id: I9d57e28c6e94dbd5cf02aaa9c6f84fe4b60fe36d
CRs-Fixed: 3746405
Prateek Patil 1 year ago
parent
commit
e409b8c5d2
1 changed files with 3 additions and 2 deletions
  1. 3 2
      icnss2/qmi.c

+ 3 - 2
icnss2/qmi.c

@@ -3509,6 +3509,7 @@ int icnss_wlfw_get_info_send_sync(struct icnss_priv *plat_priv, int type,
 	struct wlfw_get_info_resp_msg_v01 *resp;
 	struct qmi_txn txn;
 	int ret = 0;
+	int flags = GFP_KERNEL & ~__GFP_DIRECT_RECLAIM;
 
 	if (cmd_len > QMI_WLFW_MAX_DATA_SIZE_V01)
 		return -EINVAL;
@@ -3516,11 +3517,11 @@ int icnss_wlfw_get_info_send_sync(struct icnss_priv *plat_priv, int type,
 	if (test_bit(ICNSS_FW_DOWN, &plat_priv->state))
 		return -EINVAL;
 
-	req = kzalloc(sizeof(*req), GFP_KERNEL);
+	req = kzalloc(sizeof(*req), flags);
 	if (!req)
 		return -ENOMEM;
 
-	resp = kzalloc(sizeof(*resp), GFP_KERNEL);
+	resp = kzalloc(sizeof(*resp), flags);
 	if (!resp) {
 		kfree(req);
 		return -ENOMEM;