On 8/5/24 20:21, Manoj Vishwanathan wrote:
The transaction salt was being accessed before acquiring the
idpf_vc_xn_lock when idpf has to forward the virtchnl reply.
Fixes: 34c21fa894a1a (“idpf: implement virtchnl transaction manager”)
Signed-off-by: Manoj Vishwanathan
Reviewed-by: Przemek Kit
nsimosci_hs_smp_defconfig gcc-13.2.0
arc randconfig-001-20240806 gcc-13.2.0
arc randconfig-002-20240806 gcc-13.2.0
arm allmodconfig gcc-13.2.0
arm allmodconfig gcc-14.1.0
arm allnoconfig
On 2024/8/6 8:52, Alexander Duyck wrote:
> On Sun, Aug 4, 2024 at 10:00 AM Yunsheng Lin
> wrote:
>>
>> On 8/3/2024 1:00 AM, Alexander Duyck wrote:
>>
>
> As far as your API extension and naming maybe you should look like
> something like bio_vec and borrow the naming from that si
XDP for idpf is currently 5 chapters:
* convert Rx to libeth;
* convert Tx completion and stats to libeth (this);
* generic XDP and XSk code changes;
* actual XDP for idpf via libeth_xdp;
* XSk for idpf (^).
Part II does the following:
* introduces generic libeth per-queue stats infra;
* adds gene
There are cases when we need to explicitly unroll loops. For example,
cache operations, filling DMA descriptors on very high speeds etc.
Add compiler-specific attribute macros to give the compiler a hint
that we'd like to unroll a loop.
Example usage:
#define UNROLL_BATCH 8
unrolled_coun
Software-side Tx buffers for storing DMA, frame size, skb pointers etc.
are pretty much generic and every driver defines them the same way. The
same can be said for software Tx completions -- same napi_consume_skb()s
and all that...
Add a couple simple wrappers for doing that to stop repeating the
Define common structures, inline helpers and Ethtool helpers to collect,
update and export the statistics (RQ, SQ, XDPSQ). Use u64_stats_t right
from the start, as well as the corresponding helpers to ensure
tear-free operations.
For the NAPI parts of both Rx and Tx, also define small onstack
conta
Add a shorthand similar to other net*_subqueue() helpers for resetting
the queue by its index w/o obtaining &netdev_tx_queue beforehand
manually.
Reviewed-by: Przemek Kitszel
Signed-off-by: Alexander Lobakin
---
include/linux/netdevice.h | 13 -
1 file changed, 12 insertions(+), 1 d
&idpf_tx_buffer is almost identical to the previous generations, as well
as the way it's handled. Moreover, relying on dma_unmap_addr() and
!!buf->skb instead of explicit defining of buffer's type was never good.
Use the newly added libeth helpers to do it properly and reduce the
copy-paste around
From: Joshua Hay
Add a mechanism to guard against stashing partial packets into the hash
table to make the driver more robust, with more efficient decision
making when cleaning.
Don't stash partial packets. This can happen when an RE (Report Event)
completion is received in flow scheduling mode,
From: Michal Kubiak
netif_txq_maybe_stop() returns -1, 0, or 1, while
idpf_tx_maybe_stop_common() says it returns 0 or -EBUSY. As a result,
there sometimes are Tx queue timeout warnings despite that the queue
is empty or there is at least enough space to restart it.
Make idpf_tx_maybe_stop_common
From: Joshua Hay
Tell hardware to write back completed descriptors even when interrupts
are disabled. Otherwise, descriptors might not be written back until
the hardware can flush a full cacheline of descriptors. This can cause
unnecessary delays when traffic is light (or even trigger Tx queue
ti
Fully reimplement idpf's per-queue stats using the libeth infra.
Embed &libeth_netdev_priv to the beginning of &idpf_netdev_priv(),
call the necessary init/deinit helpers and the corresponding Ethtool
helpers.
Update hotpath counters such as hsplit and tso/gso using the onstack
containers instead o
Occasionally when the system goes into pm_suspend, the suspend might fail
due to a PHY access error on the network adapter. Previously, this would
have caused the whole system to fail to go to a low power state.
An example of this was reported in the following Bugzilla:
https://bugzilla.kernel.org/
-20240806 gcc-13.2.0
arc randconfig-002-20240806 gcc-13.2.0
arm allmodconfig gcc-14.1.0
arm allnoconfig clang-20
arm allyesconfig gcc-14.1.0
arm defconfig
On Mon, Aug 05, 2024 at 02:46:51PM +0200, Wojciech Drewek wrote:
> Enable ethtool reset support. Ethtool reset flags are mapped to the
> E810 reset type:
> PF reset:
> $ ethtool --reset irq dma filter offload
> CORE reset:
> $ ethtool --reset irq-shared dma-shared filter-shared \
> offloa
> -Original Message-
> From: Intel-wired-lan On Behalf Of
> Corinna Vinschen
> Sent: Thursday, July 18, 2024 2:27 PM
> To: net...@vger.kernel.org; intel-wired-...@lists.osuosl.org; Eric Dumazet
>
> Cc: Jason Xing ; Nikolay Aleksandrov
> ; linux-ker...@vger.kernel.org; Nguyen, Anthony L
gcc-13.2.0
arc allyesconfig gcc-13.2.0
arc randconfig-001-20240806 gcc-13.2.0
arc randconfig-002-20240806 gcc-13.2.0
arm allmodconfig gcc-14.1.0
arm allnoconfig
This series includes several minor improvements and refactors to the
control queue logic.
Jacob implements and uses rd32_poll_timeout to replace a jiffies loop for
calling ice_sq_done. The rd32_poll_timeout() function is designed to allow
simplifying other places in the driver where we need to rea
The ice_sq_done function is used to check the control queue head register
and determine whether or not the control queue processing is done. This
function is called in a loop checking against jiffies for a specified
timeout.
The pattern of reading a register in a loop until a condition is true or
The ice_debug_cq function is called to print debug data for a control queue
descriptor in multiple places. This includes both before we send a message
on a transmit queue, after the writeback completion of a message on the
transmit queue, and when we receive a message on a receive queue.
This func
From: Sergey Temerkhanov
Report NVM version numbers (both detected and expected) when a mismatch b/w
driver and firmware is detected. This provides more useful information
about which NVM version the driver expects, rather than requiring manual
code inspection.
Signed-off-by: Sergey Temerkhanov
Many comments in ice_controlq.c use the term "Admin queue" despite the code
being intended for arbitrary control queues, not just the Admin queue.
Reword the comments to make it clear that this code is the generic control
queue logic that is shared by all of the control queues, and is not
specific
From: Przemek Kitszel
The ice_debug_cq() function is called to generate a debug log of control
queue messages both sent and received. It currently does this over a
potential total of 6 different printk invocations.
The main logic prints over 4 calls to ice_debug():
1. The metadata including op
The driver allocates a cmd_buf array in addition to the desc_buf array.
This array stores an ice_sq_cd command details structure for each entry in
the control queue ring.
The contents of the structure are copied from the value passed in via
ice_sq_send_cmd, and include only a pointer to storage fo
From: Bruce Allan
Currently, debug logs are unnecessarily cluttered with the contents of
command data buffers even if the receiver of that command (i.e. FW or MBX)
are not told to read the buffer. Change to only log command data buffers
when the RD flag (indicates receiver needs to read the buff
From: Christopher S M Hall
There have been sporadic reports of PTM timeouts using i225/i226 devices
These timeouts have been root caused to:
1) Manipulating the PTM status register while PTM is enabled and triggered
2) The hardware retrying too quickly when an inappropriate response is
recei
From: Christopher S M Hall
Writing to clear the PTM status 'valid' bit while the PTM cycle is
triggered results in unreliable PTM operation. To fix this, clear the
PTM 'trigger' and status after each PTM transaction.
The issue can be reproduced with the following:
$ sudo phc2sys -R 1000 -O 0 -i
From: Christopher S M Hall
Lengthen the hardware retry timer to four microseconds.
The i225/i226 hardware retries if it receives an inappropriate response
from the upstream device. If the device retries too quickly, the root
port does not respond.
The issue can be reproduced with the following:
From: Christopher S M Hall
Move ktime_get_snapshot() into the loop. If a retry does occur, a more
recent snapshot will result in a more accurate cross-timestamp.
Fixes: a90ec8483732 ("igc: Add support for PTP getcrosststamp()")
Signed-off-by: Christopher S M Hall
---
drivers/net/ethernet/intel
From: Christopher S M Hall
Setting the retry count to 8x is more than sufficient. 100x is unreasonable
and would indicate broken hardware/firmware.
Fixes: a90ec8483732 ("igc: Add support for PTP getcrosststamp()")
Signed-off-by: Christopher S M Hall
---
drivers/net/ethernet/intel/igc/igc_ptp.
From: Christopher S M Hall
Add a mutex around the PTM transaction to prevent multiple transactors
Multiple processes try to initiate a PTM transaction, one or all may
fail. This can be reproduced by running two instances of the
following:
$ sudo phc2sys -O 0 -i tsn0 -m
PHC2SYS exits with:
"io
Dear Christopher,
Thank you for the patch.
Am 07.08.24 um 02:30 schrieb christopher.s.h...@intel.com:
From: Christopher S M Hall
Writing to clear the PTM status 'valid' bit while the PTM cycle is
triggered results in unreliable PTM operation. To fix this, clear the
PTM 'trigger' and status a
Dear Christopher,
Thank you for your patch.
In the summary, I’d add specific values:
igc: Reduce retry count to from 100 to reasonable 8
Am 07.08.24 um 02:30 schrieb christopher.s.h...@intel.com:
From: Christopher S M Hall
Setting the retry count to 8x is more than sufficient. 100x is unr
34 matches
Mail list logo