qcacmn: Use page_frag_cache to avoid fragmentation
Use page_frag_cache to avoid memory fragmentation in WKK RxMON CRs-Fixed: 3234833 Change-Id: I2e42a41999694a91b0f3f9386a1ad0c691bf5caf
This commit is contained in:

committato da
Madan Koyyalamudi

parent
7cc4edf06c
commit
09ae481644
@@ -194,7 +194,8 @@ dp_mon_frag_alloc_and_map(struct dp_soc *dp_soc,
|
||||
{
|
||||
QDF_STATUS ret = QDF_STATUS_E_FAILURE;
|
||||
|
||||
mon_desc->buf_addr = qdf_frag_alloc(mon_desc_pool->buf_size);
|
||||
mon_desc->buf_addr = qdf_frag_alloc(&mon_desc_pool->pf_cache,
|
||||
mon_desc_pool->buf_size);
|
||||
|
||||
if (!mon_desc->buf_addr) {
|
||||
dp_mon_err("Frag alloc failed");
|
||||
|
@@ -117,6 +117,7 @@ union dp_mon_desc_list_elem_t {
|
||||
* @owner: owner for nbuf
|
||||
* @buf_size: Buffer size
|
||||
* @buf_alignment: Buffer alignment
|
||||
* @pf_cache: page frag cache
|
||||
*/
|
||||
struct dp_mon_desc_pool {
|
||||
uint32_t pool_size;
|
||||
@@ -126,6 +127,7 @@ struct dp_mon_desc_pool {
|
||||
uint8_t owner;
|
||||
uint16_t buf_size;
|
||||
uint8_t buf_alignment;
|
||||
qdf_frag_cache_t pf_cache;
|
||||
};
|
||||
|
||||
/**
|
||||
|
@@ -23,6 +23,8 @@
|
||||
#include "hal_be_api_mon.h"
|
||||
#include "dp_internal.h"
|
||||
#include "qdf_mem.h" /* qdf_mem_malloc,free */
|
||||
#include <qdf_flex_mem.h>
|
||||
#include "qdf_nbuf_frag.h"
|
||||
#include "dp_mon.h"
|
||||
#include <dp_rx_mon.h>
|
||||
#include <dp_mon_2.0.h>
|
||||
@@ -1508,6 +1510,8 @@ dp_rx_mon_buf_desc_pool_deinit(struct dp_soc *soc)
|
||||
struct dp_mon_soc *mon_soc = soc->monitor_soc;
|
||||
struct dp_mon_soc_be *mon_soc_be = dp_get_be_mon_soc_from_dp_mon_soc(mon_soc);
|
||||
|
||||
/* Drain page frag cachce before pool deinit */
|
||||
qdf_frag_cache_drain(&mon_soc_be->rx_desc_mon.pf_cache);
|
||||
dp_mon_desc_pool_deinit(&mon_soc_be->rx_desc_mon);
|
||||
}
|
||||
|
||||
|
Fai riferimento in un nuovo problema
Block a user