On Fri, 2 Feb 2024 11:32:38 -0800
Andrew Boyer <andrew.bo...@amd.com> wrote:

> +     memset(ctx, 0, sizeof(*ctx));
> +     ctx->pending_work = true;
> +     ctx->cmd.q_init.opcode = IONIC_CMD_Q_INIT;
> +     ctx->cmd.q_init.type = q->type;
> +     ctx->cmd.q_init.ver = lif->qtype_info[q->type].version;
> +     ctx->cmd.q_init.index = rte_cpu_to_le_32(q->index);
> +     ctx->cmd.q_init.flags = rte_cpu_to_le_16(IONIC_QINIT_F_ENA);
> +     ctx->cmd.q_init.intr_index = rte_cpu_to_le_16(IONIC_INTR_NONE);
> +     ctx->cmd.q_init.ring_size = rte_log2_u32(q->num_descs);
> +     ctx->cmd.q_init.cq_ring_base = rte_cpu_to_le_64(cq->base_pa);
> +     ctx->cmd.q_init.sg_ring_base = rte_cpu_to_le_64(q->sg_base_pa);
> +

memset followed by assignment is technically slower than structure
initialization because it requires two writes to the data.
But the optimizer may in some cases figure that out.

Reply via email to