backports: move up to next-20141117
cover backports: move up to next-20141117
From: "Luis R. Rodriguez" <[email protected]>
Here's a few required backport changes to get us up from next-20141114 to next-20141117. The first two patches are example *simple* upstream changes we should consider evaluating the possibility to automatically infer what is required to do and automatically backport. We'd need to deduce file renames or file splitting. Consider this as part of the automation TODO list. It doesn't seem like we need any special tools for this, but simply some inference based evaluation of deltas.
Luis R. Rodriguez (5):
backports: rename wpan-phy.h to cfg802154.h
backports: address splitting of v4l2-mediabus.h to two files
backports: bump I2C_SI4713 to v3.13
backports: backport netdev_rss_key_fill()
backports: refresh patches for next-20141117
backport/backport-include/linux/netdevice.h | 25 ++++++++++++++++++++++ backport/compat/backport-3.19.c | 15 ++++++++++++- copy-list | 3 ++- dependencies | 17 +++++++++++++++ .../0032-sriov_configure/igb_sriov_configure.patch | 8 +++---- .../0033-ndo_vlan_rx_vid/igb_ndo_vlan_rx_vid.patch | 8 +++---- .../igb_ndo_set_vf_spoofchk.patch | 6 +++--- .../network/0035-skb_no_fcs/igb_skb_no_fcs.patch | 2 +- .../network/0043-ndo_set_vf_rate/igb.patch | 8 +++---- .../network/0048-no_ndo_xmit_flush/igb.patch | 2 +- .../network/0049-no-pfmemalloc/igb.patch | 4 ++-- 11 files changed, 77 insertions(+), 21 deletions(-)
Signature · 1 line
2.1.1
PATCH 1/5 backports: rename wpan-phy.h to cfg802154.h
From: "Luis R. Rodriguez" <[email protected]>
Address the renaming. This is an example type of upstream that we should easily be able to automatically backport through inference. Logic:
for f in copy_list:
if f in git_delta_renamed:
adjust_copy_list(f)
We'd first have to build a series of types of changes from the delta between the last linux-next tag we tracked and the currenty evaluated one, the git_delta_renamed would contain a list of renames that happened between the two tags.
commit 5ad60d36993596f7b3b958500f9c66c5338cd855
Author: Alexander Aring <[email protected]> Date: Sat Oct 25 09:41:02 2014 +0200
ieee802154: move wpan-phy.h to cfg802154.h
The wpan-phy header contains the wpan_phy struct information. Later this header will be have similar function like cfg80211 header. The cfg80211 header contains the wiphy struct which is identically the wpan_phy struct inside 802.15.4 subsystem.
--- copy-list | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
copy-list +1 -1
@@ -167,7 +167,7 @@ include/linux/ieee802154.h include/net/af_ieee802154.h include/linux/nl802154.h include/net/ieee802154_netdev.h -include/net/wpan-phy.h +include/net/cfg802154.h include/linux/spi/at86rf230.h include/linux/spi/cc2520.h net/6lowpan/
Signature · 1 line
2.1.1
Re: [PATCH 1/5] backports: rename wpan-phy.h to cfg802154.h
Quoted 40 lines · Luis R. Rodriguez
From: "Luis R. Rodriguez" <[email protected]>
Address the renaming. This is an example type of upstream that we should easily be able to automatically backport through inference. Logic:
for f in
copy_list:
if f ingit_delta_renamed:
adjust_copy_list(f)We'd first have to build a series of types of changes from the delta between the last linux-next tag we tracked and the currenty evaluated one, the
git_delta_renamedwould contain a list of renames that happened between the two tags.commit
5ad60d36993596f7b3b958500f9c66c5338cd855Author: Alexander Aring <[email protected]> Date: Sat Oct 25 09:41:02 2014 +0200ieee802154: move
wpan-phy.htocfg802154.hThe wpan-phy header contains the
wpan_phystruct information. Later this header will be have similar function like cfg80211 header. The cfg80211 header contains the wiphy struct which is identically thewpan_phystruct inside 802.15.4 subsystem.Signed-off-by Alexander Aring <[email protected]>Cc Alan Ott <[email protected]>Signed-off-by Marcel Holtmann <[email protected]>Signed-off-by Luis R. Rodriguez <[email protected]>--- copy-list | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)copy-list +0
-0
copy-list include/linux/ieee802154.h · line 170
Quoted 5 lines
copy-list +1
-1@@ -167,7 +167,7 @@ include/linux/ieee802154.h include/net/af_ieee802154.h include/linux/nl802154.h include/net/ieee802154_netdev.h -include/net/wpan-phy.h +include/net/cfg802154.h
I added cfg802154.h in an earlier patch, but I mossed removing wpan-phy.h .
Quoted 4 lines
copy-list +0
-0include/linux/spi/at86rf230.h include/linux/spi/cc2520.h net/6lowpan/
Re: [PATCH 1/5] backports: rename wpan-phy.h to cfg802154.h
Quoted 36 lines · Hauke Mehrtens
Quoted 35 lines · Luis R. Rodriguez
From: "Luis R. Rodriguez" <[email protected]>
Address the renaming. This is an example type of upstream that we should easily be able to automatically backport through inference. Logic:
for f in
copy_list:
if f ingit_delta_renamed:
adjust_copy_list(f)We'd first have to build a series of types of changes from the delta between the last linux-next tag we tracked and the currenty evaluated one, the
git_delta_renamedwould contain a list of renames that happened between the two tags.commit
5ad60d36993596f7b3b958500f9c66c5338cd855Author: Alexander Aring <[email protected]> Date: Sat Oct 25 09:41:02 2014 +0200ieee802154: move
wpan-phy.htocfg802154.hThe wpan-phy header contains the
wpan_phystruct information. Later this header will be have similar function like cfg80211 header. The cfg80211 header contains the wiphy struct which is identically thewpan_phystruct inside 802.15.4 subsystem.Signed-off-by Alexander Aring <[email protected]>Cc Alan Ott <[email protected]>Signed-off-by Marcel Holtmann <[email protected]>Signed-off-by Luis R. Rodriguez <[email protected]>--- copy-list | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
Quoted 12 lines
copy-list include/linux/ieee802154.h · line 170
Quoted 10 lines
copy-list +1
-1@@ -167,7 +167,7 @@ include/linux/ieee802154.h include/net/af_ieee802154.h include/linux/nl802154.h include/net/ieee802154_netdev.h -include/net/wpan-phy.h +include/net/cfg802154.hI added
cfg802154.hin an earlier patch, but I mossed removingwpan-phy.h.
Thanks, failed to see that, adjusted:
Quoted 1 line
From
f6b7140c9a1f0c724ad0eb462f66a7f5baadf009Mon Sep 17 00:00:00 2001
From: "Luis R. Rodriguez" <[email protected]>
Date: Wed, 19 Nov 2014 11:28:14 -0800
Subject: [PATCH] backports: remove wpan-phy.h after rename to cfg802154.h
Address the renaming. cfg802154.h was already added but we forgot to remove wpan-phy.h. This is an example type of upstream that we should easily be able to automatically backport through inference. Logic:
for f in copy_list:
if f in git_delta_renamed:
adjust_copy_list(f)
We'd first have to build a series of types of changes from the delta between the last linux-next tag we tracked and the currenty evaluated one, the git_delta_renamed would contain a list of renames that happened between the two tags.
commit 5ad60d36993596f7b3b958500f9c66c5338cd855
Author: Alexander Aring <[email protected]> Date: Sat Oct 25 09:41:02 2014 +0200
ieee802154: move wpan-phy.h to cfg802154.h
The wpan-phy header contains the wpan_phy struct information. Later this header will be have similar function like cfg80211 header. The cfg80211 header contains the wiphy struct which is identically the wpan_phy struct inside 802.15.4 subsystem.
--- copy-list | 1 - 1 file changed, 1 deletion(-)
copy-list +0 -1
@@ -167,7 +167,6 @@ include/linux/ieee802154.h include/net/af_ieee802154.h include/linux/nl802154.h include/net/ieee802154_netdev.h -include/net/wpan-phy.h include/linux/spi/at86rf230.h include/linux/spi/cc2520.h net/6lowpan/
Signature · 1 line
2.1.1
PATCH 2/5 backports: address splitting of v4l2-mediabus.h to two files
In reply to Luis R. RodriguezFrom: "Luis R. Rodriguez" <[email protected]>
The new file media-bus-format.h was derived from contents from v4l2-mediabus.h, this change might be a bit harder to infer exactly what to do but based on some contextual examination of the file, if content integrity has not changed it should be relatively easy to infer what to do with changes like this.
commit edcf58bc031e621f519c9dfce3c7e1ea6880c70a
Author: Boris BREZILLON <[email protected]> Date: Mon Nov 10 14:28:26 2014 -0300
[media] Move mediabus format definition to a more standard place
Define MEDIA_BUS_FMT macros (re-using the values defined in the v4l2_mbus_pixelcode enum) into a separate header file so that they can be used from the DRM/KMS subsystem without any reference to the V4L2 subsystem.
Then set V4L2_MBUS_FMT definitions to the MEDIA_BUS_FMT values using the V4L2_MBUS_FROM_MEDIA_BUS_FMT macro.
include/uapi/linux/Kbuild | 1 + include/uapi/linux/media-bus-format.h | 125 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ include/uapi/linux/v4l2-mediabus.h | 184 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------------------------------------------------------------- 3 files changed, 206 insertions(+), 104 deletions(-)
--- copy-list | 1 + 1 file changed, 1 insertion(+)
copy-list +1 -0
@@ -145,6 +145,7 @@ include/uapi/linux/v4l2-common.h include/uapi/linux/v4l2-controls.h include/uapi/linux/v4l2-dv-timings.h include/uapi/linux/v4l2-mediabus.h +include/uapi/linux/media-bus-format.h include/uapi/linux/v4l2-subdev.h include/uapi/linux/videodev2.h include/uapi/linux/vsp1.h
Signature · 1 line
2.1.1
PATCH 3/5 backports: bump I2C_SI4713 to v3.13
In reply to Luis R. RodriguezFrom: "Luis R. Rodriguez" <[email protected]>
This driver depends on gpio consumer.h, that depends on some built-in kernel functionality and while we can now backport built-in stuff we'd need to make that depend on BACKPORT_INTEGRATE and then figure out how to backport that functionality on integration.
This doesn't seem like a good candidate to test that with though. Let's wait for something more desirable.
--- dependencies | 11 +++++++++++ 1 file changed, 11 insertions(+)
dependencies +11 -0
@@ -28,8 +28,19 @@ VIDEO_RENESAS_VSP1 3.4 VIDEO_MEM2MEM_DEINTERLACE 3.3 MEDIA_TUNER_E4000 3.4 DVB_USB_RTL28XXU 3.4 + # missing linux/gpio/consumer.h +# consumer.h cannot be backported currently, as functions rely +# on in-kernel functionality (GPIO_DEVRES), we can now backport +# in-kernel functionality but we'd need to make that depend on +# integration only and figure out a way to easily split that. +# This does not seem like a good test desirable test case to +# start that work with. VIDEO_ADV7604 3.13 +I2C_SI4713 3.13 +USB_SI4713 3.13 +PLATFORM_SI4713 3.13 + # missing function clk_prepare_enable(), clk_disable_unprepare() and devm_regulator_bulk_get() VIDEO_MT9V032 3.3 VIDEO_S5K6AA 3.3
Signature · 1 line
2.1.1
PATCH 4/5 backports: backport netdev_rss_key_fill()
In reply to Luis R. RodriguezFrom: "Luis R. Rodriguez" <[email protected]>
netdev_rss_key_fill() uses net_get_random_once() and since this depends on static keys and we've decided to only backport that only down to 3.5 as that is when static key stuff settled we only backport netdev_rss_key_fill() down to 3.5 as well. For details on the net_get_random_once() / static key stuff refer to backports commit 8cb8816d.
Backporting netdev_rss_key_fill requires us to throw in the netdev_rss_key within our own backports module. We don't backport the ability to query this *yet though*, but if we really wanted to we can provide an interface for that:
For *packaging* [0] we have no other option but to currently provide our own querying interface, that's silly though, in the future if we extend sysctl interfaces to allow dynamic extensions we could just peg what we need also within the backports module to allow seemless integration. With shiny new *kernel integration* support [1] though we can enable cherry picking the sysctl components, and apply it to the older kernel -- however this would pose a change in compartamentalized backporting strategy as currently used. It would seem a allowing dynamic extensions to an existing sysctl interface would be more efficient and would allow packaging to also take advantage of this effort.
[0] https://backports.wiki.kernel.org/index.php/Documentation/packaging
[1] https://backports.wiki.kernel.org/index.php/Documentation/integration
commit 960fb622f85180f36d3aff82af53e2be3db2f888
Author: Eric Dumazet <[email protected]> Date: Sun Nov 16 06:23:05 2014 -0800
net: provide a per host RSS key generic infrastructure
RSS (Receive Side Scaling) typically uses Toeplitz hash and a 40 or 52 bytes RSS key.
Some drivers use a constant (and well known key), some drivers use a random key per port, making bonding setups hard to tune. Well known keys increase attack surface, considering that number of queues is usually a power of two.
This patch provides infrastructure to help drivers doing the right thing.
netdev_rss_key_fill() should be used by drivers to initialize their RSS key, even if they provide ethtool -X support to let user redefine the key later.
A new /proc/sys/net/core/netdev_rss_key file can be used to get the host RSS key even for drivers not providing ethtool -x support, in case some applications want to precisely setup flows to match some RX queues.
Tested:
myhost:~# cat /proc/sys/net/core/netdev_rss_key 11:63:99:bb:79:fb:a5:a7:07:45:b2:20:bf:02:42:2d:08:1a:dd:19:2b:6b:23:ac:56:28:9d:70:c3:ac:e8:16:4b:b7:c1:10:53:a4:78:41:36:40:74:b6:15:ca:27:44:aa:b3:4d:72
myhost:~# ethtool -x eth0
RX flow hash indirection table for eth0 with 8 RX ring(s):
0: 0 1 2 3 4 5 6 7
RSS hash key:
11:63:99:bb:79:fb:a5:a7:07:45:b2:20:bf:02:42:2d:08:1a:dd:19:2b:6b:23:ac:56:28:9d:70:c3:ac:e8:16:4b:b7:c1:10:53:a4:78:41
mcgrof@drvbp1 ~/backports (git::master)$ time ./gentree.py \ /home/mcgrof/linux-next /home/mcgrof/build/backports-20141117
Copy original source files ...
Applying patches from patches to /home/mcgrof/build/backports-20141117
...
Modify Kconfig tree ...
Rewrite Makefiles and Kconfig files ...
Done!
real 1m28.499s user 13m25.112s sys 0m47.804s
mcgrof@drvbp1 ~/build/backports-20141117 $ time \ /home/mcgrof/backports/devel/ckmake --allyesconfig 1 3.0.101 [ OK ] 2 3.1.10 [ OK ] 3 3.2.62 [ OK ] 4 3.3.8 [ OK ] 5 3.4.104 [ OK ] 6 3.5.7 [ OK ] 7 3.6.11 [ OK ] 8 3.7.10 [ OK ] 9 3.8.13 [ OK ] 10 3.9.11 [ OK ] 11 3.10.58 [ OK ] 12 3.11.10 [ OK ] 13 3.12.31 [ OK ] 14 3.13.11 [ OK ] 15 3.14.22 [ OK ] 16 3.15.10 [ OK ] 17 3.16.6 [ OK ] 18 3.17.1 [ OK ] 19 3.18-rc1 [ OK ]
real 42m18.874s user 1179m40.500s sys 138m54.452s
--- backport/backport-include/linux/netdevice.h | 25 +++++++++++++++++++++++++ backport/compat/backport-3.19.c | 15 ++++++++++++++- dependencies | 6 ++++++ 3 files changed, 45 insertions(+), 1 deletion(-)
backport/backport-include/linux/netdevice.h +25 -0
@@ -200,4 +200,29 @@ static inline void backport_unregister_netdevice_many(struct list_head *head)#define unregister_netdevice_many LINUX_BACKPORT(unregister_netdevice_many)#endif +/* +* Complicated way of saying: We only backport netdev_rss_key stuff on kernels +* that either already have net_get_random_once() (>= 3.13) or where we've been +* brave enough to backport it due to static keys, refer to backports commit +* 8cb8816d for details on difficulty to backport that further down. +*/ +#if LINUX_VERSION_CODE <KERNEL_VERSION (3 ,19 ,0 ) +#if LINUX_VERSION_CODE >=KERNEL_VERSION (3 ,13 ,0 ) +#define __BACKPORT_NETDEV_RSS_KEY_FILL 1 +#else +#ifdef __BACKPORT_NET_GET_RANDOM_ONCE +#define __BACKPORT_NETDEV_RSS_KEY_FILL 1 +#endif +#endif /* LINUX_VERSION_CODE >= KERNEL_VERSION(3,13,0) */ +#endif /* LINUX_VERSION_CODE < KERNEL_VERSION(3,19,0) */ + +#ifdef __BACKPORT_NETDEV_RSS_KEY_FILL +/* RSS keys are 40 or 52 bytes long */ +#define NETDEV_RSS_KEY_LEN 52 +#define netdev_rss_key LINUX_BACKPORT(netdev_rss_key) +extern u8 netdev_rss_key[NETDEV_RSS_KEY_LEN ]; +#define netdev_rss_key_fill LINUX_BACKPORT(netdev_rss_key_fill) +void netdev_rss_key_fill (void *buffer,size_t len); +#endif /* __BACKPORT_NETDEV_RSS_KEY_FILL */ +#endif /* __BACKPORT_NETDEVICE_H */
backport/compat/backport-3.19.c +14 -1
@@ -11,7 +11,8 @@#include <linux/sched.h> #include <linux/kthread.h> #include <linux/export.h> - +#include <linux/net.h> +#include <linux/netdevice.h> static inline bool is_kthread_should_stop (void ) {
@@ -77,3 +78,15 @@ int woken_wake_function(wait_queue_t *wait, unsigned mode, int sync, void *key)return default_wake_function (wait, mode, sync, key); }EXPORT_SYMBOL (woken_wake_function); + +#ifdef __BACKPORT_NETDEV_RSS_KEY_FILL +u8 netdev_rss_key[NETDEV_RSS_KEY_LEN ]; + +void netdev_rss_key_fill (void *buffer,size_t len) +{ +BUG_ON (len >sizeof (netdev_rss_key)); +net_get_random_once (netdev_rss_key,sizeof (netdev_rss_key)); +memcpy (buffer, netdev_rss_key, len); +} +EXPORT_SYMBOL_GPL (netdev_rss_key_fill); +#endif /* __BACKPORT_NETDEV_RSS_KEY_FILL */
dependencies +6 -0
@@ -130,3 +130,9 @@ IR_HIX5HD2 kconfig: CONFIG_MFD_SYSCON # tracing results in compile errors ATH10K_TRACING 3.4 ATH_TRACEPOINTS 3.1 + +# depends on netdev_rss_key_fill() which uses net_get_random_once() +# and since net_get_random_once() depends on static keys we've decided +# to backport that only down to 3.5. For full details refer to backports +# commit 8cb8816d +IGB 3.5
Signature · 1 line
2.1.1
PATCH 5/5 backports: refresh patches for next-20141117
In reply to Luis R. RodriguezFrom: "Luis R. Rodriguez" <[email protected]>
This required no manual changes.
mcgrof@drvbp1 ~/backports (git::master)$ time ./gentree.py \ /home/mcgrof/linux-next /home/mcgrof/build/backports-20141117
Copy original source files ...
Applying patches from patches to /home/mcgrof/build/backports-20141117
...
Modify Kconfig tree ...
Rewrite Makefiles and Kconfig files ...
Done!
real 1m28.499s user 13m25.112s sys 0m47.804s
mcgrof@drvbp1 ~/build/backports-20141117 $ time \ /home/mcgrof/backports/devel/ckmake --allyesconfig 1 3.0.101 [ OK ] 2 3.1.10 [ OK ] 3 3.2.62 [ OK ] 4 3.3.8 [ OK ] 5 3.4.104 [ OK ] 6 3.5.7 [ OK ] 7 3.6.11 [ OK ] 8 3.7.10 [ OK ] 9 3.8.13 [ OK ] 10 3.9.11 [ OK ] 11 3.10.58 [ OK ] 12 3.11.10 [ OK ] 13 3.12.31 [ OK ] 14 3.13.11 [ OK ] 15 3.14.22 [ OK ] 16 3.15.10 [ OK ] 17 3.16.6 [ OK ] 18 3.17.1 [ OK ] 19 3.18-rc1 [ OK ]
real 42m18.874s user 1179m40.500s sys 138m54.452s
--- .../network/0032-sriov_configure/igb_sriov_configure.patch | 8 ++++---- .../network/0033-ndo_vlan_rx_vid/igb_ndo_vlan_rx_vid.patch | 8 ++++---- .../0034-ndo_set_vf_spoofchk/igb_ndo_set_vf_spoofchk.patch | 6 +++--- .../network/0035-skb_no_fcs/igb_skb_no_fcs.patch | 2 +- .../collateral-evolutions/network/0043-ndo_set_vf_rate/igb.patch | 8 ++++---- .../network/0048-no_ndo_xmit_flush/igb.patch | 2 +- .../collateral-evolutions/network/0049-no-pfmemalloc/igb.patch | 4 ++-- 7 files changed, 19 insertions(+), 19 deletions(-)
patches/collateral-evolutions/network/0032-sriov_configure/igb_sriov_configure.patch +4 -4
@@ -20,7 +20,7 @@ .err_handler = &igb_err_handler }; -@@ -7524,6 +7528,7 @@ static int igb_sriov_reinit(struct pci_d +@@ -7521,6 +7525,7 @@ static int igb_sriov_reinit(struct pci_d return 0; }
@@ -28,7 +28,7 @@ static int igb_pci_disable_sriov(struct pci_dev *dev) { int err = igb_disable_sriov(dev); -@@ -7533,6 +7538,7 @@ static int igb_pci_disable_sriov(struct +@@ -7530,6 +7535,7 @@ static int igb_pci_disable_sriov(struct return err; }
@@ -36,7 +36,7 @@ static int igb_pci_enable_sriov(struct pci_dev *dev, int num_vfs) { -@@ -7550,6 +7556,7 @@ out: +@@ -7547,6 +7553,7 @@ out: } #endif
@@ -44,7 +44,7 @@ static int igb_pci_sriov_configure(struct pci_dev *dev, int num_vfs) { #ifdef CONFIG_PCI_IOV -@@ -7560,6 +7567,7 @@ static int igb_pci_sriov_configure(struc +@@ -7557,6 +7564,7 @@ static int igb_pci_sriov_configure(struc #endif return 0; }
patches/collateral-evolutions/network/0033-ndo_vlan_rx_vid/igb_ndo_vlan_rx_vid.patch +4 -4
@@ -17,7 +17,7 @@ static void igb_restore_vlan(struct igb_adapter *); static void igb_rar_set_qsel(struct igb_adapter *, u8 *, u32 , u8); static void igb_ping_all_vfs(struct igb_adapter *); -@@ -7192,8 +7200,14 @@ static void igb_vlan_mode(struct net_dev +@@ -7189,8 +7197,14 @@ static void igb_vlan_mode(struct net_dev igb_rlpml_set(adapter); }
@@ -32,7 +32,7 @@ { struct igb_adapter *adapter = netdev_priv(netdev); struct e1000_hw *hw = &adapter->hw; -@@ -7207,11 +7221,19 @@ static int igb_vlan_rx_add_vid(struct ne +@@ -7204,11 +7218,19 @@ static int igb_vlan_rx_add_vid(struct ne set_bit(vid, adapter->active_vlans);
@@ -52,7 +52,7 @@ { struct igb_adapter *adapter = netdev_priv(netdev); struct e1000_hw *hw = &adapter->hw; -@@ -7227,7 +7249,9 @@ static int igb_vlan_rx_kill_vid(struct n +@@ -7224,7 +7246,9 @@ static int igb_vlan_rx_kill_vid(struct n clear_bit(vid, adapter->active_vlans);
@@ -62,7 +62,7 @@ } static void igb_restore_vlan(struct igb_adapter *adapter) -@@ -7237,7 +7261,11 @@ static void igb_restore_vlan(struct igb_ +@@ -7234,7 +7258,11 @@ static void igb_restore_vlan(struct igb_ igb_vlan_mode(adapter->netdev, adapter->netdev->features); for_each_set_bit(vid, adapter->active_vlans, VLAN_N_VID)
patches/collateral-evolutions/network/0034-ndo_set_vf_spoofchk/igb_ndo_set_vf_spoofchk.patch +3 -3
@@ -21,7 +21,7 @@ .ndo_get_vf_config = igb_ndo_get_vf_config, #ifdef CONFIG_NET_POLL_CONTROLLER .ndo_poll_controller = igb_netpoll, -@@ -7875,6 +7879,7 @@ static int igb_ndo_set_vf_bw(struct net_ +@@ -7872,6 +7876,7 @@ static int igb_ndo_set_vf_bw(struct net_ return 0; }
@@ -29,7 +29,7 @@ static int igb_ndo_set_vf_spoofchk(struct net_device *netdev, int vf, bool setting) { -@@ -7901,6 +7906,7 @@ static int igb_ndo_set_vf_spoofchk(struc +@@ -7898,6 +7903,7 @@ static int igb_ndo_set_vf_spoofchk(struc adapter->vf_data[vf].spoofchk_enabled = setting; return 0; }
@@ -37,7 +37,7 @@ static int igb_ndo_get_vf_config(struct net_device *netdev, int vf, struct ifla_vf_info *ivi) -@@ -7914,7 +7920,9 @@ static int igb_ndo_get_vf_config(struct +@@ -7911,7 +7917,9 @@ static int igb_ndo_get_vf_config(struct ivi->min_tx_rate = 0; ivi->vlan = adapter->vf_data[vf].pf_vlan; ivi->qos = adapter->vf_data[vf].pf_qos;
patches/collateral-evolutions/network/0035-skb_no_fcs/igb_skb_no_fcs.patch +1 -1
@@ -1,6 +1,6 @@ --- a/drivers/net/ethernet/intel/igb/igb_main.c +++ b/drivers/net/ethernet/intel/igb/igb_main.c -@@ -4800,9 +4800,10 @@ static u32 igb_tx_cmd_type(struct sk_buf +@@ -4797,9 +4797,10 @@ static u32 igb_tx_cmd_type(struct sk_buf cmd_type |= IGB_SET_FLAG(tx_flags, IGB_TX_FLAGS_TSTAMP, (E1000_ADVTXD_MAC_TSTAMP));
patches/collateral-evolutions/network/0043-ndo_set_vf_rate/igb.patch +4 -4
@@ -24,7 +24,7 @@ #if LINUX_VERSION_CODE >= KERNEL_VERSION(3,2,0) .ndo_set_vf_spoofchk = igb_ndo_set_vf_spoofchk, #endif /* LINUX_VERSION_CODE >= KERNEL_VERSION(3,2,0) */ -@@ -7857,8 +7865,12 @@ static void igb_check_vf_rate_limit(stru +@@ -7854,8 +7862,12 @@ static void igb_check_vf_rate_limit(stru } }
@@ -37,7 +37,7 @@ { struct igb_adapter *adapter = netdev_priv(netdev); struct e1000_hw *hw = &adapter->hw; -@@ -7867,6 +7879,7 @@ static int igb_ndo_set_vf_bw(struct net_ +@@ -7864,6 +7876,7 @@ static int igb_ndo_set_vf_bw(struct net_ if (hw->mac.type != e1000_82576) return -EOPNOTSUPP;
@@ -45,7 +45,7 @@ if (min_tx_rate) return -EINVAL; -@@ -7880,7 +7893,17 @@ static int igb_ndo_set_vf_bw(struct net_ +@@ -7877,7 +7890,17 @@ static int igb_ndo_set_vf_bw(struct net_ adapter->vf_rate_link_speed = actual_link_speed; adapter->vf_data[vf].tx_rate = (u16)max_tx_rate; igb_set_vf_rate_limit(hw, vf, max_tx_rate, actual_link_speed);
@@ -63,7 +63,7 @@ return 0; } -@@ -7921,8 +7944,12 @@ static int igb_ndo_get_vf_config(struct +@@ -7918,8 +7941,12 @@ static int igb_ndo_get_vf_config(struct return -EINVAL; ivi->vf = vf; memcpy(&ivi->mac, adapter->vf_data[vf].vf_mac_addresses, ETH_ALEN);
patches/collateral-evolutions/network/0048-no_ndo_xmit_flush/igb.patch +1 -1
@@ -1,6 +1,6 @@ --- a/drivers/net/ethernet/intel/igb/igb_main.c +++ b/drivers/net/ethernet/intel/igb/igb_main.c -@@ -4982,7 +4982,10 @@ static void igb_tx_map(struct igb_ring * +@@ -4979,7 +4979,10 @@ static void igb_tx_map(struct igb_ring * /* Make sure there is space in the ring for the next send. */ igb_maybe_stop_tx(tx_ring, DESC_NEEDED);
patches/collateral-evolutions/network/0049-no-pfmemalloc/igb.patch +2 -2
@@ -2,7 +2,7 @@ diff --git a/drivers/net/ethernet/intel/igb/igb_main.c b/drivers/net/ethernet/in index a2d72a8..85d7005 100644 --- a/drivers/net/ethernet/intel/igb/igb_main.c +++ b/drivers/net/ethernet/intel/igb/igb_main.c -@@ -6569,8 +6569,10 @@ static bool igb_can_reuse_rx_page(struct +@@ -6566,8 +6566,10 @@ static bool igb_can_reuse_rx_page(struct if (unlikely(page_to_nid(page) != numa_node_id())) return false;
@@ -13,7 +13,7 @@ index a2d72a8..85d7005 100644 #if (PAGE_SIZE < 8192) /* if we are only owner of page we can reuse it */ -@@ -6638,8 +6640,12 @@ static bool igb_add_rx_frag(struct igb_r +@@ -6635,8 +6637,12 @@ static bool igb_add_rx_frag(struct igb_r memcpy(__skb_put(skb, size), va, ALIGN(size, sizeof(long))); /* we can reuse buffer as-is, just make sure it is local */
Signature · 1 line
2.1.1