Lines Matching full:napi
391 * assumes CPU refilling driver RX-ring will also run RX-NAPI.
599 /* Unconditionally set NOWARN if allocating from NAPI.
795 * alloc side cache. E.g. during RX-NAPI processing for XDP_DROP use-case.
874 const struct napi_struct *napi;
894 napi = READ_ONCE(pool->p.napi);
896 return napi && READ_ONCE(napi->list_owner) == cpuid;
964 * page_pool_put_netmem_bulk() is suitable to be run inside the driver NAPI tx
1243 * page_pool_enable_direct_recycling() - mark page pool as owned by NAPI
1245 * @napi: NAPI instance to associate the page pool with
1247 * Associate a page pool with a NAPI instance for lockless page recycling.
1248 * This is useful when a new page pool has to be added to a NAPI instance
1249 * without disabling that NAPI instance, to mark the point at which control
1250 * path "hands over" the page pool to the NAPI instance. In most cases driver
1251 * can simply set the @napi field in struct page_pool_params, and does not
1259 struct napi_struct *napi)
1261 if (READ_ONCE(pool->p.napi) == napi)
1263 WARN_ON(!napi || pool->p.napi);
1266 WRITE_ONCE(pool->p.napi, napi);
1278 if (!pool->p.napi)
1281 napi_assert_will_not_race(pool->p.napi);
1284 WRITE_ONCE(pool->p.napi, NULL);
1312 /* Caller must provide appropriate safe context, e.g. NAPI. */