qcacmn: Affine NAPIs based INI CPU mask

Affine NAPI CPUs based CPU mask specified in INI config.

Change-Id: I0bea3389a7565f8ec157d4587a442b5e11c33fb2
CRs-Fixed: 2255756
This commit is contained in:
Manjunathappa Prakash
2018-05-29 19:17:25 -07:00
committed by nshrivas
parent b5a400ee01
commit 617ff247dd
2 changed files with 9 additions and 3 deletions

View File

@@ -1110,7 +1110,7 @@ static void hnc_dump_cpus(struct qca_napi_data *napid) { /* no-op */ };
* !0: error (at least one of lil/big clusters could not be found)
*/
#define HNC_MIN_CLUSTER 0
#define HNC_MAX_CLUSTER 31
#define HNC_MAX_CLUSTER 1
static int hnc_link_clusters(struct qca_napi_data *napid)
{
int rc = 0;
@@ -1521,13 +1521,17 @@ retry_disperse:
}
i = napid->napi_cpu[i].cluster_nxt;
}
destidx = smallidx;
if ((destidx < 0) && (head == napid->bigcl_head)) {
/* Check if matches with user sepecified CPU mask */
smallidx = ((1 << smallidx) & napid->user_cpu_affin_mask) ?
smallidx : -1;
if ((smallidx < 0) && (head == napid->bigcl_head)) {
NAPI_DEBUG("%s: DISPERSE: no bigcl dest, try lilcl",
__func__);
head = i = napid->lilcl_head;
goto retry_disperse;
}
destidx = smallidx;
}
NAPI_DEBUG("<--%s[dest=%d]", __func__, destidx);
return destidx;