dp_nlsk_pids
struct dp_nlsk_pids *pids = ovsl_dereference(dp->upcall_portids);
struct dp_nlsk_pids *old, *dp_nlsk_pids;
dp_nlsk_pids = kmalloc(sizeof(*dp_nlsk_pids) + nla_len(ids),
if (!dp_nlsk_pids)
dp_nlsk_pids->n_pids = nla_len(ids) / sizeof(u32);
nla_memcpy(dp_nlsk_pids->pids, ids, nla_len(ids));
rcu_assign_pointer(dp->upcall_portids, dp_nlsk_pids);
struct dp_nlsk_pids *dp_nlsk_pids;
dp_nlsk_pids = rcu_dereference(dp->upcall_portids);
if (dp_nlsk_pids) {
if (cpu_id < dp_nlsk_pids->n_pids) {
return dp_nlsk_pids->pids[cpu_id];
} else if (dp_nlsk_pids->n_pids > 0 &&
cpu_id >= dp_nlsk_pids->n_pids) {
return dp_nlsk_pids->pids[cpu_id %
dp_nlsk_pids->n_pids];
struct dp_nlsk_pids __rcu *upcall_portids;