[PATCH v6 08/15] net/xsc: add Rx and Tx queue setup

WanRenyong wanry at yunsilicon.com
Tue Jan 21 04:21:52 CET 2025


On 2025/1/21 2:16, Stephen Hemminger wrote:
> On Mon, 20 Jan 2025 19:14:48 +0800
> "WanRenyong" <wanry at yunsilicon.com> wrote:
>
>> +struct __rte_packed_begin xsc_send_wqe_ctrl_seg {
>> +	rte_le32_t	msg_opcode:8;
>> +	rte_le32_t	with_immdt:1;
>> +	rte_le32_t	csum_en:2;
>> +	rte_le32_t	ds_data_num:5;
>> +	rte_le32_t	wqe_id:16;
>> +	rte_le32_t	msg_len;
>> +	union __rte_packed_begin {
>> +		rte_le32_t		opcode_data;
>> +		struct __rte_packed_begin {
>> +			rte_le16_t	has_pph:1;
>> +			rte_le16_t	so_type:1;
>> +			rte_le16_t	so_data_size:14;
>> +			rte_le16_t	rsv1:8;
>> +			rte_le16_t	so_hdr_len:8;
>> +		} __rte_packed_end;
>> +		struct __rte_packed_begin {
>> +			rte_le16_t	desc_id;
>> +			rte_le16_t	is_last_wqe:1;
>> +			rte_le16_t	dst_qp_id:15;
>> +		} __rte_packed_end;
>> +	} __rte_packed_end;
>> +	rte_le32_t	se:1;
> If the whole structure is marked with packed attribute,
> don't think you also need to mark the sub structures and unions
> as packed.
>
> This is what is confusing the checkpatch check for __rte_packed_begin / __rte_packed_end
Hello, Stephen Hemminger,

Thanks for your review.

Initially, we did not mark sub structures and unions with the packed 
attribute. However, when we encountered checkpatch errors due to 
unmatched|__rte_packed_begin|/|__rte_packed_end|pairs,
we referred to other PMD codes in DPDK and marked the sub structures and 
unions with the packed attribute as well. Unfortunately, this did not 
resolve the checkpatch errors.
I think that might be a bug in the|checkpatch|tool, so I have submitted 
a patch to address this 
issue:https://inbox.dpdk.org/dev/20250120112654.1049456-1-wanry@yunsilicon.com/.

Regardless, I will remove the packed attribute from sub structures and 
unions in the next verion.

-- 
Best regards,
WanRenyong


More information about the dev mailing list