On Mon, 4 Aug 2025 13:50:08 +0100 Pavel Begunkov wrote:
quoted
Since we don't allow MP to be replaced atomically today, we don't
actually have to place the mp overrides in the config struct and
involve the whole netdev_reconfig_start() _swap() _free() machinery.
We can just stash the config in the queue state, and "logically"
do what I described above.
I was thinking stashing it in struct pp_memory_provider_params and
applying in netdev_rx_queue_restart(). Let me try to move it
into __netdev_queue_config. Any preference between keeping just
the size vs a qcfg pointer in pp_memory_provider_params?
struct struct pp_memory_provider_params {
const struct memory_provider_ops *mp_ops;
u32 rx_buf_len;
};
vs
struct struct pp_memory_provider_params {
const struct memory_provider_ops *mp_ops;
// providers will need to allocate and keep the qcfg
// until it's completely detached from the queues.
struct netdev_queue_config *qcfg;
};
The former one would be simpler for now.
+1, I'd stick to the former. We can adjust later if need be.