[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <50fc375a-27a7-8b6a-3938-f9fcb4f85b06@redhat.com>
Date: Thu, 27 Jul 2023 16:11:08 +0200
From: Jesper Dangaard Brouer <jbrouer@...hat.com>
To: Willem de Bruijn <willemdebruijn.kernel@...il.com>,
Stanislav Fomichev <sdf@...gle.com>
Cc: brouer@...hat.com, bpf@...r.kernel.org, ast@...nel.org,
daniel@...earbox.net, andrii@...nel.org, martin.lau@...ux.dev,
song@...nel.org, yhs@...com, john.fastabend@...il.com, kpsingh@...nel.org,
haoluo@...gle.com, jolsa@...nel.org, kuba@...nel.org, toke@...nel.org,
willemb@...gle.com, dsahern@...nel.org, magnus.karlsson@...el.com,
bjorn@...nel.org, maciej.fijalkowski@...el.com, hawk@...nel.org,
netdev@...r.kernel.org, xdp-hints@...-project.net
Subject: Re: [RFC net-next v4 2/8] xsk: add TX timestamp and TX checksum
offload support
On 26/07/2023 01.10, Willem de Bruijn wrote:
> Stanislav Fomichev wrote:
>> On 07/25, Willem de Bruijn wrote:
>>> Stanislav Fomichev wrote:
[...]
>>>> +struct xsk_tx_metadata {
>>>> + __u32 flags;
>>>> +
>>>> + /* XDP_TX_METADATA_CHECKSUM */
>>>> +
>>>> + /* Offset from desc->addr where checksumming should start. */
>>>> + __u16 csum_start;
>>>> + /* Offset from csum_start where checksum should be stored. */
>>>> + __u16 csum_offset;
>>>> +
>>>> + /* XDP_TX_METADATA_TIMESTAMP */
>>>> +
>>>> + __u64 tx_timestamp;
>>>> +};
>>>
>>> Is this structure easily extensible for future offloads,
[...]
>
> Pacing offload is the other feature that comes to mind. That could
> conceivably use the tx_timestamp field.
I would really like to see hardware offload "pacing" or LaunchTime as
hardware chips i210 and i225 calls it. I looked at the TX descriptor
details for drivers igc (i225) and igb (i210), and documented my finding
here[1], which should help with the code details if someone is motivated
for implementing this (I know of people on xdp-hints list that wanted
this LaunchTime feature).
[1]
https://github.com/xdp-project/xdp-project/blob/master/areas/tsn/code01_follow_qdisc_TSN_offload.org#tx-time-to-hardware-driver-igc
AFAIK this patchset uses struct xsk_tx_metadata as both TX and
TX-Completion, right?. It would be "conceivable" to reuse tx_timestamp
field, but it might be confusing for uAPI end-users. Maybe a union?
--Jesper
Powered by blists - more mailing lists