* [PATCH 1/3] backports: Add return value to backport_pci_disable_link_state() @ 2019-11-16 18:36 Hauke Mehrtens 2019-11-16 18:36 ` [PATCH 2/3] backports: Adapt to changes to skb_get_hash_perturb() Hauke Mehrtens 2019-11-16 18:36 ` [PATCH 3/3] backports: Add kvcalloc() Hauke Mehrtens 0 siblings, 2 replies; 7+ messages in thread From: Hauke Mehrtens @ 2019-11-16 18:36 UTC (permalink / raw) To: backports; +Cc: johannes, Hauke Mehrtens Since Linux upstream commit 4cfd21885592 ("PCI: let pci_disable_link_state propagate errors") The backport_pci_disable_link_state() function can return an error. This return code is now used by the mt76 driver. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> --- backport/backport-include/linux/pci.h | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/backport/backport-include/linux/pci.h b/backport/backport-include/linux/pci.h index 84c4e8f6..f0aacbf6 100644 --- a/backport/backport-include/linux/pci.h +++ b/backport/backport-include/linux/pci.h @@ -236,4 +236,13 @@ static inline struct pci_dev *pcie_find_root_port(struct pci_dev *dev) (PCI_IRQ_LEGACY | PCI_IRQ_MSI | PCI_IRQ_MSIX) #endif +#if LINUX_VERSION_IS_LESS(5,3,0) +static inline int backport_pci_disable_link_state(struct pci_dev *pdev, int state) +{ + pci_disable_link_state(pdev, state); + return 0; +} +#define pci_disable_link_state LINUX_BACKPORT(pci_disable_link_state) +#endif /* < 5.3 */ + #endif /* _BACKPORT_LINUX_PCI_H */ -- 2.20.1 -- To unsubscribe from this list: send the line "unsubscribe backports" in ^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH 2/3] backports: Adapt to changes to skb_get_hash_perturb() 2019-11-16 18:36 [PATCH 1/3] backports: Add return value to backport_pci_disable_link_state() Hauke Mehrtens @ 2019-11-16 18:36 ` Hauke Mehrtens 2019-11-19 9:00 ` Johannes Berg 2019-11-16 18:36 ` [PATCH 3/3] backports: Add kvcalloc() Hauke Mehrtens 1 sibling, 1 reply; 7+ messages in thread From: Hauke Mehrtens @ 2019-11-16 18:36 UTC (permalink / raw) To: backports; +Cc: johannes, Hauke Mehrtens The skb_get_hash_perturb() function now takes a siphash_key_t instead of an u32. This was changed in commit 55667441c84f ("net/flow_dissector: switch to siphash"). Use the correct type in the fq header file depending on the kernel version. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> --- patches/0091-fq-no-siphash_key_t/fq.patch | 36 +++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 patches/0091-fq-no-siphash_key_t/fq.patch diff --git a/patches/0091-fq-no-siphash_key_t/fq.patch b/patches/0091-fq-no-siphash_key_t/fq.patch new file mode 100644 index 00000000..95c28a19 --- /dev/null +++ b/patches/0091-fq-no-siphash_key_t/fq.patch @@ -0,0 +1,36 @@ +--- a/include/net/fq.h ++++ b/include/net/fq.h +@@ -69,7 +69,15 @@ struct fq { + struct list_head backlogs; + spinlock_t lock; + u32 flows_cnt; ++#if LINUX_VERSION_IS_GEQ(5,3,10) || \ ++ LINUX_VERSION_IN_RANGE(4,19,83, 4,20,0) || \ ++ LINUX_VERSION_IN_RANGE(4,14,153, 4,15,0) || \ ++ LINUX_VERSION_IN_RANGE(4,9,200, 4,10,0) || \ ++ LINUX_VERSION_IN_RANGE(4,4,200, 4,5,0) + siphash_key_t perturbation; ++#else ++ u32 perturbation; ++#endif + u32 limit; + u32 memory_limit; + u32 memory_usage; +--- a/include/net/fq_impl.h ++++ b/include/net/fq_impl.h +@@ -108,7 +108,15 @@ begin: + + static u32 fq_flow_idx(struct fq *fq, struct sk_buff *skb) + { ++#if LINUX_VERSION_IS_GEQ(5,3,10) || \ ++ LINUX_VERSION_IN_RANGE(4,19,83, 4,20,0) || \ ++ LINUX_VERSION_IN_RANGE(4,14,153, 4,15,0) || \ ++ LINUX_VERSION_IN_RANGE(4,9,200, 4,10,0) || \ ++ LINUX_VERSION_IN_RANGE(4,4,200, 4,5,0) + u32 hash = skb_get_hash_perturb(skb, &fq->perturbation); ++#else ++ u32 hash = skb_get_hash_perturb(skb, fq->perturbation); ++#endif + + return reciprocal_scale(hash, fq->flows_cnt); + } -- 2.20.1 -- To unsubscribe from this list: send the line "unsubscribe backports" in ^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH 2/3] backports: Adapt to changes to skb_get_hash_perturb() 2019-11-16 18:36 ` [PATCH 2/3] backports: Adapt to changes to skb_get_hash_perturb() Hauke Mehrtens @ 2019-11-19 9:00 ` Johannes Berg 0 siblings, 0 replies; 7+ messages in thread From: Johannes Berg @ 2019-11-19 9:00 UTC (permalink / raw) To: Hauke Mehrtens, backports On Sat, 2019-11-16 at 19:36 +0100, Hauke Mehrtens wrote: > The skb_get_hash_perturb() function now takes a siphash_key_t instead of > an u32. This was changed in commit 55667441c84f ("net/flow_dissector: > switch to siphash"). Use the correct type in the fq header file > depending on the kernel version. Thanks, I was trying to figure this out recently but hadn't gotten that far... johannes -- To unsubscribe from this list: send the line "unsubscribe backports" in ^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH 3/3] backports: Add kvcalloc() 2019-11-16 18:36 [PATCH 1/3] backports: Add return value to backport_pci_disable_link_state() Hauke Mehrtens 2019-11-16 18:36 ` [PATCH 2/3] backports: Adapt to changes to skb_get_hash_perturb() Hauke Mehrtens @ 2019-11-16 18:36 ` Hauke Mehrtens 2019-11-19 8:59 ` Johannes Berg 1 sibling, 1 reply; 7+ messages in thread From: Hauke Mehrtens @ 2019-11-16 18:36 UTC (permalink / raw) To: backports; +Cc: johannes, Hauke Mehrtens kvcalloc() was added in kernel commit 1c542f38ab8d ("mm: Introduce kvcalloc()") and is now used by the fq header filers. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> --- backport/backport-include/linux/mm.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/backport/backport-include/linux/mm.h b/backport/backport-include/linux/mm.h index b28156d3..8ff7d6a6 100644 --- a/backport/backport-include/linux/mm.h +++ b/backport/backport-include/linux/mm.h @@ -50,4 +50,12 @@ static inline void *kvzalloc(size_t size, gfp_t flags) } #endif +#if LINUX_VERSION_IS_LESS(4,18,0) +#define kvcalloc LINUX_BACKPORT(kvcalloc) +static inline void *kvcalloc(size_t n, size_t size, gfp_t flags) +{ + return kvmalloc_array(n, size, flags | __GFP_ZERO); +} +#endif /* < 4.18 */ + #endif /* __BACKPORT_MM_H */ -- 2.20.1 -- To unsubscribe from this list: send the line "unsubscribe backports" in ^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH 3/3] backports: Add kvcalloc() 2019-11-16 18:36 ` [PATCH 3/3] backports: Add kvcalloc() Hauke Mehrtens @ 2019-11-19 8:59 ` Johannes Berg 2019-11-19 19:12 ` Hauke Mehrtens 0 siblings, 1 reply; 7+ messages in thread From: Johannes Berg @ 2019-11-19 8:59 UTC (permalink / raw) To: Hauke Mehrtens, backports On Sat, 2019-11-16 at 19:36 +0100, Hauke Mehrtens wrote: > kvcalloc() was added in kernel commit 1c542f38ab8d ("mm: Introduce > kvcalloc()") and is now used by the fq header filers. Oops, I did the same some time ago but forgot to send it out. > +{ > + return kvmalloc_array(n, size, flags | __GFP_ZERO); I did end up wondering though if __GFP_ZERO actually worked on all old kernels? johannes -- To unsubscribe from this list: send the line "unsubscribe backports" in ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH 3/3] backports: Add kvcalloc() 2019-11-19 8:59 ` Johannes Berg @ 2019-11-19 19:12 ` Hauke Mehrtens 2019-11-19 19:38 ` Johannes Berg 0 siblings, 1 reply; 7+ messages in thread From: Hauke Mehrtens @ 2019-11-19 19:12 UTC (permalink / raw) To: Johannes Berg, backports On 11/19/19 9:59 AM, Johannes Berg wrote: > On Sat, 2019-11-16 at 19:36 +0100, Hauke Mehrtens wrote: >> kvcalloc() was added in kernel commit 1c542f38ab8d ("mm: Introduce >> kvcalloc()") and is now used by the fq header filers. > > Oops, I did the same some time ago but forgot to send it out. > >> +{ >> + return kvmalloc_array(n, size, flags | __GFP_ZERO); > > I did end up wondering though if __GFP_ZERO actually worked on all old > kernels? __GFP_ZERO is at least defined on old kernel versions. I haven't seen an error when building against 3.14 for example and it is already used somewhere else in this file. Hauke -- To unsubscribe from this list: send the line "unsubscribe backports" in ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH 3/3] backports: Add kvcalloc() 2019-11-19 19:12 ` Hauke Mehrtens @ 2019-11-19 19:38 ` Johannes Berg 0 siblings, 0 replies; 7+ messages in thread From: Johannes Berg @ 2019-11-19 19:38 UTC (permalink / raw) To: Hauke Mehrtens, backports On Tue, 2019-11-19 at 20:12 +0100, Hauke Mehrtens wrote: > On 11/19/19 9:59 AM, Johannes Berg wrote: > > On Sat, 2019-11-16 at 19:36 +0100, Hauke Mehrtens wrote: > > > kvcalloc() was added in kernel commit 1c542f38ab8d ("mm: Introduce > > > kvcalloc()") and is now used by the fq header filers. > > > > Oops, I did the same some time ago but forgot to send it out. > > > > > +{ > > > + return kvmalloc_array(n, size, flags | __GFP_ZERO); > > > > I did end up wondering though if __GFP_ZERO actually worked on all old > > kernels? > > __GFP_ZERO is at least defined on old kernel versions. I haven't seen an > error when building against 3.14 for example and it is already used > somewhere else in this file. I know. I just have a vague recollection it didn't always work for any kind of allocation. I guess I should go search tomorrow... johannes -- To unsubscribe from this list: send the line "unsubscribe backports" in ^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2019-11-19 19:38 UTC | newest] Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2019-11-16 18:36 [PATCH 1/3] backports: Add return value to backport_pci_disable_link_state() Hauke Mehrtens 2019-11-16 18:36 ` [PATCH 2/3] backports: Adapt to changes to skb_get_hash_perturb() Hauke Mehrtens 2019-11-19 9:00 ` Johannes Berg 2019-11-16 18:36 ` [PATCH 3/3] backports: Add kvcalloc() Hauke Mehrtens 2019-11-19 8:59 ` Johannes Berg 2019-11-19 19:12 ` Hauke Mehrtens 2019-11-19 19:38 ` Johannes Berg
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).