Intel official release 1.0.14 - #30
Open
sys-sdk-build wants to merge 20 commits into
Open
Conversation
callback to optimize RX ring queries") added specific support for GRXRINGS callback, simplifying .get_rxnfc. Remove the handling of GRXRINGS in .get_rxnfc() by moving it to the new .get_rx_ring_count(). This simplifies the RX ring count retrieval and aligns idpf with the new ethtool API for querying RX ring parameters. Signed-off-by: Breno Leitao <leitao@debian.org> Signed-off-by: Emil Tantilov <emil.s.tantilov@intel.com> Change-type: Other
Switch to netdev parameter when calling vport_ctrl_lock/unlock to match the upstream code. Signed-off-by: Emil Tantilov <emil.s.tantilov@intel.com> Change-type: Other
Expand idpf_mb_clean() to allow the option to reclaim message buffers regardless of their state. Previously it would only clean descriptors marked as descriptor done (DD), but we may end up in flows where we need to clean all allocations unconditionally, such as a reset. This implementation mirrors upstream, sans the libie calls. Signed-off-by: Emil Tantilov <emil.s.tantilov@intel.com> Change-type: Other
- Potential memory leak, not freeing adapter->vcxn_mngr. - Make sure debugfs directory is removed. - When HAVE_PCI_ENABLE_PCIE_ERROR_REPORTING was not defined, an init_wq allocation failure jumped to err_free, compounding the above. Instead jump to err_wq_alloc and make that label always compile to consistently handle the vcxn/debugfs/PCIe teardown. - pci_ptm_disable() was not always called, add err_disable_ptm label to match similar patch upstream. - Added call to pci_release_mem_regions() to make sure BAR regions are released on error. Signed-off-by: Emil Tantilov <emil.s.tantilov@intel.com> Change-type: Other
Part of the buffer pool refactor changed the Tx cleaning implementation so that it loops through a chain of buffers and only terminates if it sees NULL tx_buf next. Even though XDP packets are currently only one buffer, it still needs to have the NULL terminator to avoid entering an infinite loop in the cleaning path. Set the NULL terminator in each XDP packet accordingly. Signed-off-by: Joshua Hay <joshua.a.hay@intel.com> Change-type: DefectResolution
removed the granularity parameter from pci_enable_ptm(). Add support for older kernels in COMPAT. Updated TDD to make sure the PTM related calls are enabled and tested. Signed-off-by: Emil Tantilov <emil.s.tantilov@intel.com> Change-type: DefectResolution
Move the call to queue up the mbx_task in idpf_mb_intr_rel_irq() from idpf_intr_rel(). This brings the logic on par with upstream and is needed for the order of operations in idpf_reset_prepare when calling the PCI callbacks during FLR, to make sure the driver can send messages to the CP in preparation for the reset. Fix a possible race by adding arq/asq checks that prevent the mbx task from rearming if it was (or being torn down). Signed-off-by: Emil Tantilov <emil.s.tantilov@intel.com> Change-type: Other
- Add IDPF_PCI_CB_RESET flag, that allows the reuse of the existing reset handling, when attempting to resume after a reset. - Remove the conditional call to idpf_vc_xn_shutdown() from idpf_vc_core_deinit(). Previously it only allowed MBX on remove, but we need the same for the preparation stage of the FLR reset. Add the call on shutdown to avoid a regression, where long delayes can happen when shutting down with non-working MBX. - Re-shuffle the logic in idpf_reset_prepare() to improve locking. Signed-off-by: Emil Tantilov <emil.s.tantilov@intel.com> Change-type: Other
Fix several cleanup and rollback paths that leaked driver state when queue setup, MMIO reinitialization, IRQ request, PTP teardown, or probe unwind failed. Tighten TX and XDP rollback to release preserved skbs and DMA state, free vport, mailbox, debugfs, platform-device, and vcxn resources on error paths, and update the affected tests to cover the revised cleanup behaviour. Keep the touched RX and TX helper declarations in reverse Christmas tree order while doing so. Change-type: Other Signed-off-by: Sarath Somasekharan <sarath.somasekharan@intel.com>
Remove the callback specific modifications to the task's refresh rate in favor of a flat 1 second across the board. This is to align with potential changes in the upstream driver. The implementation is likely not upstreamable, and does not solve the concern of hogging the MBX outside of init/reset. The stats task does not run on EMR/Simics, just cleanup the previous restrictions in the callbacks as those are no longer needed. Added check to avoid re-arm in the middle of a teardown. Signed-off-by: Emil Tantilov <emil.s.tantilov@intel.com> Change-type: Other
Tighten the ADI queue bounds checks to reject index == num_* and move the auxiliary-device names to heap storage so the AUX bus no longer holds stack-backed pointers past the plug helpers. Also fix the IDC unwind paths by freeing the IDA slot before auxiliary_device_uninit() on add failures and by keeping the core iadev owned until auxiliary_device_init() succeeds, with TDD updated for the new teardown ordering. Change-type: Other Signed-off-by: Sarath Somasekharan <sarath.somasekharan@intel.com>
Serialize all XDP TX producers that share an idpf_queue, including the AF_XDP zero-copy splitq and singleq paths, with xdp_tx_lock so concurrent descriptor production cannot corrupt the shared ring state. Keep the existing init-task, debugfs, and stats fixes on the branch, and extend the XSK TDD coverage to prove the lock is released on both success and refillq-exhaustion paths. Change-type: Other Signed-off-by: Sarath Somasekharan <sarath.somasekharan@intel.com>
idpf_idc_issue_reset_event() takes the device lock through cdev_info->adev and only then tests that pointer for NULL, so the !adev test it already has can never fire. Read the aux device before the lock. idpf_idc_vdev_mtu_event() locks &adev->dev but unlocks &vdev_info->adev->dev. idpf_idc_vport_dev_down() can clear vdev_info->adev while the event is in flight, so the unlock is handed NULL and the device lock is leaked. Unlock what was locked. Record the device passed to the device_lock() and device_unlock() mocks, and add a test that clears vdev_info->adev from the event handler. Change-type: Other Signed-off-by: Sarath Somasekharan <sarath.somasekharan@intel.com>
Signed-off-by: Wojciech Panfil <wojciech.panfil@intel.com>
idpf_statistics_task() walks adapter->vports and dereferences the netdev of every vport it finds. The devlink subfunction paths mutate that array idpf_cfg_netdev() gives it a netdev, and deleting one frees the netdev and the vport before clearing the slot. Stop the task across both operations instead of teaching the shared walk to skip half-built vports. Reset and remove already do this in idpf_deinit_task(), so factor that cancel out into idpf_stats_task_stop() and add a matching idpf_stats_task_start() for the devlink paths. Change-type: Other Signed-off-by: Sarath Somasekharan <sarath.somasekharan@intel.com>
This reverts commit 6743d8a93e4629b6179d5544956fd847d19ba9a9. Change-type: Other Signed-off-by: Sarath Somasekharan <sarath.somasekharan@intel.com>
Clamp the RSC segment-statistics index so a zero segment count cannot underflow a u16 and write outside segs[], and reject queue == num_txq in the ETF offload path before indexing txqs[]. Bound the ethtool coalesce paths by vport_config->max_q, which is what q_coalesce[] is sized from at vport allocation. Count only the Tx queues Tx queue per Rx queue when an XDP program is loaded, and those are neither exposed by idpf_set_real_num_queues() nor covered by q_coalesce[], so walking them was the out-of-bounds write. Return early from idpf_vport_manage_rss_lut() while the link is down. The RSS LUT and its cached copy are only allocated once the vport is opened, so toggling RXHASH before that dereferenced NULL. Validate debugfs register offsets against the mapped LAN BAR regions rather than the whole BAR, so an unmapped offset can no longer reach the BUG() in idpf_get_reg_addr(). The region test is factored into idpf_reg_offset_in_region()/idpf_reg_offset_is_mapped() and reused by idpf_get_reg_addr() itself. fixtures by max_q, mark the RSS LUT vport as link up, and set num_lan_regs in the debugfs fixture so the mapped-region check can update, queue == num_txq in the ETF path, a debugfs offset that is inside BAR0 but outside every mapped region, and an RSS LUT toggle with the link down. Change-type: Other Signed-off-by: Sarath Somasekharan <sarath.somasekharan@intel.com>
Protect link event handling and vport deallocation with sf_mutex. Extend the mutex lifetime across mailbox processing and initialize it in the affected TDD fixtures. Change-type: Other Signed-off-by: Joshua Hay <joshua.a.hay@intel.com> Signed-off-by: Sarath Somasekharan <sarath.somasekharan@intel.com>
Bump version to 1.0.14 for release 3.2 Signed-off-by: Joshua Hay <joshua.a.hay@intel.com> Change-type: EngineeringNotes
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the IDPF release 1.0.14
with incremental linear git history.
Signed-off-by: Sarath Somasekharan sarath.somasekharan@intel.com