Jakub Kicinski
fa47527c71
Merge branch 'gve-alloc-before-freeing-when-changing-config'
Shailend Chand says: ==================== gve: Alloc before freeing when changing config Functions allocating resources did so directly into priv thus far. The assumption doing that was that priv was not already holding references to live resources. When ring configuration is changed in any way from userspace, thus far we relied on calling the ndo_stop and ndo_open callbacks in succession. This meant that we teardown existing resources and rob the OS of networking before we have successfully allocated resources for the new config. Correcting this requires us to perform allocations without editing priv. That is what the "gve: Switch to config-aware..." patch does: it modifies all the allocation paths so that they take a new configuration as input and return references to newly allocated resources without modifying priv or interfering with live resources in any way. Having corrected the allocation paths so, the ndo open and close callbacks are refactored to make available distinct functions for allocating queue resources and starting or stopping them. This is then put to use in the set_channels and set_features hooks in the last two patches. These changes have been tested by verifying the integrity of a stream of integers while the driver is continuously reconfigured with ethtool. ==================== Link: https://lore.kernel.org/r/20240122182632.1102721-1-shailend@google.com Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Linux kernel ============ There are several guides for kernel developers and users. These guides can be rendered in a number of formats, like HTML and PDF. Please read Documentation/admin-guide/README.rst first. In order to build the documentation, use ``make htmldocs`` or ``make pdfdocs``. The formatted documentation can also be read online at: https://www.kernel.org/doc/html/latest/ There are various text files in the Documentation/ subdirectory, several of them using the Restructured Text markup notation. Please read the Documentation/process/changes.rst file, as it contains the requirements for building and running the kernel, and information about the problems which may result by upgrading your kernel.
Description
Languages
C
97.6%
Assembly
1%
Shell
0.5%
Python
0.3%
Makefile
0.3%