pools
ip_pool_t *pools[IPL_LOGSIZE];
bzero(&pools, sizeof(pools));
if (kmemcpy((char *)&pools, names[0].n_value, sizeof(pools)))
ptr = pools[role];
ptr = pools[role];
pools_cfg.pools[0].bp_obj_id = bp_info->id;
pools_cfg.pools[0].backup_flag = 0;
pools_cfg.pools[0].buf_sz = sc->buf_sz;
} pools[DPAA2_NI_MAX_POOLS];
args->bp_obj_id[i] = cfg->pools[i].bp_obj_id;
args->buf_sz[i] = cfg->pools[i].buf_sz;
args->backup_pool_mask |= (cfg->pools[i].backup_flag & 1) << i;
return &_manager->pools[pool_index];
total += _manager->pools[i].npages;
pool = &_manager->pools[(i + pool_offset)%NUM_POOLS];
ttm_page_pool_free(&_manager->pools[i], FREE_ALL_PAGES);
p = &_manager->pools[i];
if (list_empty(&_manager->pools))
list_for_each_entry(p, &_manager->pools, pools) {
struct list_head pools; /* The 'struct device->dma_pools link */
INIT_LIST_HEAD(&_manager->pools);
list_for_each_entry_safe_reverse(p, t, &_manager->pools, pools) {
list_for_each_entry(p, &_manager->pools, pools) {
struct list_head pools;
struct list_head pools;
list_for_each_entry_reverse(p, &_manager->pools, pools) {
list_del(&p->pools);
list_for_each_entry_reverse(pool, &dev->dma_pools, pools) {
list_del(&pool->pools);
INIT_LIST_HEAD(&sec_pool->pools);
INIT_LIST_HEAD(&pool->pools);
list_add(&sec_pool->pools, &_manager->pools);
list_add(&pool->pools, &dev->dma_pools);
list_for_each_entry_safe(pool, tmp, &dev->dma_pools, pools) {
list_for_each_entry(p, &_manager->pools, pools)
netmap_obj_offset(&(n)->pools[NETMAP_IF_POOL], (v))
((n)->pools[NETMAP_IF_POOL].memtotal + \
netmap_obj_offset(&(n)->pools[NETMAP_RING_POOL], (v)))
return nmd->pools[NETMAP_BUF_POOL]._objsize;
#define netmap_if_malloc(n, len) netmap_obj_malloc(&(n)->pools[NETMAP_IF_POOL], len, NULL, NULL)
#define netmap_if_free(n, v) netmap_obj_free_va(&(n)->pools[NETMAP_IF_POOL], (v))
#define netmap_ring_malloc(n, len) netmap_obj_malloc(&(n)->pools[NETMAP_RING_POOL], len, NULL, NULL)
#define netmap_ring_free(n, v) netmap_obj_free_va(&(n)->pools[NETMAP_RING_POOL], (v))
netmap_obj_malloc(&(n)->pools[NETMAP_BUF_POOL], netmap_mem_bufsize(n), _pos, _index)
(netmap_obj_offset(&(n)->pools[NETMAP_BUF_POOL], (v)) / NETMAP_BDG_BUF_SIZE(n))
struct netmap_obj_pool *p = &nmd->pools[NETMAP_BUF_POOL];
struct netmap_obj_pool *p = &nmd->pools[NETMAP_BUF_POOL];
struct netmap_obj_pool *p = &nmd->pools[NETMAP_BUF_POOL];
struct netmap_obj_pool *p = &nmd->pools[NETMAP_BUF_POOL];
netmap_reset_obj_allocator(&nmd->pools[i]);
nmd->lasterr = netmap_finalize_obj_allocator(nmd, &nmd->pools[i]);
nmd->nm_totalsize += nmd->pools[i].memtotal;
nmd->pools[NETMAP_IF_POOL].memtotal >> 10,
nmd->pools[NETMAP_RING_POOL].memtotal >> 10,
nmd->pools[NETMAP_BUF_POOL].memtotal >> 20);
nm_prinf("Free buffers: %d", nmd->pools[NETMAP_BUF_POOL].objfree);
snprintf(d->pools[i].name, NETMAP_POOL_MAX_NAMSZ,
nm_blueprint.pools[i].name,
nm_prerr("%s: request too large", d->pools[i].name);
d->pools[NETMAP_BUF_POOL].name,
struct netmap_obj_pool pools[NETMAP_POOLS_NR];
snprintf(nmd->pools[i].name, NETMAP_POOL_MAX_NAMSZ, "%s-%s",
nm_mem_blueprint.pools[i].name, nmd->name);
netmap_reset_obj_allocator(&nmd->pools[i]);
nmd->lasterr = netmap_config_obj_allocator(&nmd->pools[i],
netmap_destroy_obj_allocator(&nmd->pools[i]);
(nmd->pools[NETMAP_IF_POOL].memtotal +
nmd->pools[NETMAP_RING_POOL].memtotal) -
req->nr_if_pool_objtotal = nmd->pools[NETMAP_IF_POOL].objtotal;
req->nr_if_pool_objsize = nmd->pools[NETMAP_IF_POOL]._objsize;
req->nr_ring_pool_offset = nmd->pools[NETMAP_IF_POOL].memtotal;
req->nr_ring_pool_objtotal = nmd->pools[NETMAP_RING_POOL].objtotal;
req->nr_ring_pool_objsize = nmd->pools[NETMAP_RING_POOL]._objsize;
req->nr_buf_pool_offset = nmd->pools[NETMAP_IF_POOL].memtotal +
nmd->pools[NETMAP_RING_POOL].memtotal;
req->nr_buf_pool_objtotal = nmd->pools[NETMAP_BUF_POOL].objtotal;
req->nr_buf_pool_objsize = nmd->pools[NETMAP_BUF_POOL]._objsize;
struct netmap_obj_pool *p = &d->pools[i];
struct netmap_obj_pool *p = &nme->up.pools[i];
nmd->pools[NETMAP_BUF_POOL]._objsize = bufsize;
nmd->pools[NETMAP_BUF_POOL]._objtotal = nbuffers;
nmd->lasterr = netmap_mem_map(&nmd->pools[NETMAP_BUF_POOL], na);
struct netmap_obj_pool *p = &nmd->pools[i];
if (nmd->pools[NETMAP_BUF_POOL].objfree < 2) {
nm_prerr("%s: not enough buffers", nmd->pools[NETMAP_BUF_POOL].name);
nmd->pools[NETMAP_BUF_POOL].objfree -= 2;
if (nmd->pools[NETMAP_BUF_POOL].bitmap) {
nmd->pools[NETMAP_BUF_POOL].bitmap[0] = ~3U;
netmap_mem_unmap(&nmd->pools[NETMAP_BUF_POOL], na);
lut->lut = nmd->pools[NETMAP_BUF_POOL].lut;
lut->objtotal = nmd->pools[NETMAP_BUF_POOL].objtotal;
lut->objsize = nmd->pools[NETMAP_BUF_POOL]._objsize;
.pools = {
.pools = {
CTLFLAG_RD, &nm_mem.pools[id]._objsize, 0, \
CTLFLAG_RD, &nm_mem.pools[id].objtotal, 0, \
p = nmd->pools;
struct netmap_obj_pool *p = &nmd->pools[i];
*clustsize = nmd->pools[pool]._clustsize;
*numclusters = nmd->pools[pool].numclusters;
struct netmap_obj_pool *p = nmd->pools + i;