~john-cabaj/ubuntu/+source/linux-gcp/+git/mantic-gcp:dqo-qpl_feature

Last commit made on 2024-01-12
Get this branch:
git clone -b dqo-qpl_feature https://git.launchpad.net/~john-cabaj/ubuntu/+source/linux-gcp/+git/mantic-gcp
Only John Cabaj can upload to this branch. If you are John Cabaj please log in for upload directions.

Branch merges

Branch information

Recent commits

00d8a4c... by Rushil Gupta <email address hidden>

gve: update gve.rst

BugLink: https://bugs.launchpad.net/bugs/2040522

Add a note about QPL and RDA mode

Signed-off-by: Rushil Gupta <email address hidden>
Reviewed-by: Willem de Bruijn <email address hidden>
Signed-off-by: Praveen Kaligineedi <email address hidden>
Signed-off-by: Bailey Forrest <email address hidden>
Signed-off-by: David S. Miller <email address hidden>
(cherry picked from commit 5a3f8d1231073fc5f0b6f38ab8337d424ba0cfe4)
Signed-off-by: John Cabaj <email address hidden>

85a4202... by Eric Dumazet <email address hidden>

gve: fix frag_list chaining

BugLink: https://bugs.launchpad.net/bugs/2040522

gve_rx_append_frags() is able to build skbs chained with frag_list,
like GRO engine.

Problem is that shinfo->frag_list should only be used
for the head of the chain.

All other links should use skb->next pointer.

Otherwise, built skbs are not valid and can cause crashes.

Equivalent code in GRO (skb_gro_receive()) is:

    if (NAPI_GRO_CB(p)->last == p)
        skb_shinfo(p)->frag_list = skb;
    else
        NAPI_GRO_CB(p)->last->next = skb;
    NAPI_GRO_CB(p)->last = skb;

Fixes: 9b8dd5e5ea48 ("gve: DQO: Add RX path")
Signed-off-by: Eric Dumazet <email address hidden>
Cc: Bailey Forrest <email address hidden>
Cc: Willem de Bruijn <email address hidden>
Cc: Catherine Sullivan <email address hidden>
Reviewed-by: David Ahern <email address hidden>
Signed-off-by: David S. Miller <email address hidden>
(cherry picked from commit 817c7cd2043a83a3d8147f40eea1505ac7300b62)
Signed-off-by: John Cabaj <email address hidden>

8134e35... by Rushil Gupta <email address hidden>

gve: RX path for DQO-QPL

BugLink: https://bugs.launchpad.net/bugs/2040522

The RX path allocates the QPL page pool at queue creation, and
tries to reuse these pages through page recycling. This patch
ensures that on refill no non-QPL pages are posted to the device.

When the driver is running low on free buffers, an ondemand
allocation step kicks in that allocates a non-qpl page for
SKB business to free up the QPL page in use.

gve_try_recycle_buf was moved to gve_rx_append_frags so that driver does
not attempt to mark buffer as used if a non-qpl page was allocated
ondemand.

Signed-off-by: Rushil Gupta <email address hidden>
Reviewed-by: Willem de Bruijn <email address hidden>
Signed-off-by: Praveen Kaligineedi <email address hidden>
Signed-off-by: Bailey Forrest <email address hidden>
Signed-off-by: David S. Miller <email address hidden>
(cherry picked from commit e7075ab4fb6b39730dfbfbfa3a5505d678f01d2c)
Signed-off-by: John Cabaj <email address hidden>

1fb9092... by Rushil Gupta <email address hidden>

gve: Tx path for DQO-QPL

BugLink: https://bugs.launchpad.net/bugs/2040522

Each QPL page is divided into GVE_TX_BUFS_PER_PAGE_DQO buffers.
When a packet needs to be transmitted, we break the packet into max
GVE_TX_BUF_SIZE_DQO sized chunks and transmit each chunk using a TX
descriptor.
We allocate the TX buffers from the free list in dqo_tx.
We store these TX buffer indices in an array in the pending_packet
structure.

The TX buffers are returned to the free list in dqo_compl after
receiving packet completion or when removing packets from miss
completions list.

Signed-off-by: Rushil Gupta <email address hidden>
Reviewed-by: Willem de Bruijn <email address hidden>
Signed-off-by: Praveen Kaligineedi <email address hidden>
Signed-off-by: Bailey Forrest <email address hidden>
Signed-off-by: David S. Miller <email address hidden>
(cherry picked from commit a6fb8d5a8b6925f1e635818d3dd2d89531d4a058)
Signed-off-by: John Cabaj <email address hidden>

f75a81c... by Rushil Gupta <email address hidden>

gve: Control path for DQO-QPL

BugLink: https://bugs.launchpad.net/bugs/2040522

GVE supports QPL ("queue-page-list") mode where
all data is communicated through a set of pre-registered
pages. Adding this mode to DQO descriptor format.

Add checks, abi-changes and device options to support
QPL mode for DQO in addition to GQI. Also, use
pages-per-qpl supplied by device-option to control the
size of the "queue-page-list".

Signed-off-by: Rushil Gupta <email address hidden>
Reviewed-by: Willem de Bruijn <email address hidden>
Signed-off-by: Praveen Kaligineedi <email address hidden>
Signed-off-by: Bailey Forrest <email address hidden>
Signed-off-by: David S. Miller <email address hidden>
(cherry picked from commit 66ce8e6b49df401854f0c98bed50a65e4167825b)
Signed-off-by: John Cabaj <email address hidden>

633b396... by Jakub Kicinski <email address hidden>

eth: add missing xdp.h includes in drivers

BugLink: https://bugs.launchpad.net/bugs/2040522

Handful of drivers currently expect to get xdp.h by virtue
of including netdevice.h. This will soon no longer be the case
so add explicit includes.

Reviewed-by: Wei Fang <email address hidden>
Reviewed-by: Gerhard Engleder <email address hidden>
Signed-off-by: Jakub Kicinski <email address hidden>
Acked-by: Jesper Dangaard Brouer <email address hidden>
Link: https://<email address hidden>
Signed-off-by: Martin KaFai Lau <email address hidden>
(cherry picked from commit 92272ec4107ef4f826b694a1338562c007e09821)
Signed-off-by: John Cabaj <email address hidden>

dc9da68... by Jesper Dangaard Brouer

gve: trivial spell fix Recive to Receive

BugLink: https://bugs.launchpad.net/bugs/2040522

Spotted this trivial spell mistake while casually reading
the google GVE driver code.

Signed-off-by: Jesper Dangaard Brouer <email address hidden>
Signed-off-by: David S. Miller <email address hidden>
(cherry picked from commit 68af900072c157c0cdce0256968edd15067e1e5a)
Signed-off-by: John Cabaj <email address hidden>

674f890... by John Cabaj

UBUNTU: Ubuntu-gcp-6.5.0-1011.11

Signed-off-by: John Cabaj <email address hidden>

542dd77... by John Cabaj

UBUNTU: link-to-tracker: update tracking bug

BugLink: https://bugs.launchpad.net/bugs/2048537
Properties: no-test-build
Signed-off-by: John Cabaj <email address hidden>

a0916ff... by John Cabaj

UBUNTU: Start new release

Ignore: yes
Signed-off-by: John Cabaj <email address hidden>