mirror of
				https://github.com/optim-enterprises-bv/openwrt-ipq.git
				synced 2025-10-30 01:43:02 +00:00 
			
		
		
		
	kernel: bump 6.1 to 6.1.32
Removed upstreamed: generic-backport/610-v6.3-net-page_pool-use-in_softirq-instead.patch[1] All other patches automatically rebased. [1] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/net?h=v6.1.32&id=7dccd5fa7edb9562da61af820bb9d0346447baf1 Build system: x86_64/Fedora 38 Build-tested: ipq807x/Dynalink DL-WRX36 Runtime-tested: ipq807x/Dynalink DL-WRX36 Signed-off-by: Robert Marko <robimarko@gmail.com>
This commit is contained in:
		 Robert Marko
					Robert Marko
				
			
				
					committed by
					
						 Christian Marangi
						Christian Marangi
					
				
			
			
				
	
			
			
			 Christian Marangi
						Christian Marangi
					
				
			
						parent
						
							4747b96287
						
					
				
				
					commit
					f6485c7ce6
				
			| @@ -1,2 +1,2 @@ | ||||
| LINUX_VERSION-6.1 = .31 | ||||
| LINUX_KERNEL_HASH-6.1.31 = e86917bba1990e967943645484182a64ba325f98b114a1906cc1d50992e073c1 | ||||
| LINUX_VERSION-6.1 = .32 | ||||
| LINUX_KERNEL_HASH-6.1.32 = 7c88b7a09ba2b9e47b78eba2b32b1db6a4d89636f7ddd586545f9671a2521a6c | ||||
| @@ -1,56 +0,0 @@ | ||||
| From: Qingfang DENG <qingfang.deng@siflower.com.cn> | ||||
| Date: Fri, 3 Feb 2023 09:16:11 +0800 | ||||
| Subject: [PATCH] net: page_pool: use in_softirq() instead | ||||
|  | ||||
| We use BH context only for synchronization, so we don't care if it's | ||||
| actually serving softirq or not. | ||||
|  | ||||
| As a side node, in case of threaded NAPI, in_serving_softirq() will | ||||
| return false because it's in process context with BH off, making | ||||
| page_pool_recycle_in_cache() unreachable. | ||||
|  | ||||
| Signed-off-by: Qingfang DENG <qingfang.deng@siflower.com.cn> | ||||
| --- | ||||
|  | ||||
| --- a/include/net/page_pool.h | ||||
| +++ b/include/net/page_pool.h | ||||
| @@ -386,7 +386,7 @@ static inline void page_pool_nid_changed | ||||
|  static inline void page_pool_ring_lock(struct page_pool *pool) | ||||
|  	__acquires(&pool->ring.producer_lock) | ||||
|  { | ||||
| -	if (in_serving_softirq()) | ||||
| +	if (in_softirq()) | ||||
|  		spin_lock(&pool->ring.producer_lock); | ||||
|  	else | ||||
|  		spin_lock_bh(&pool->ring.producer_lock); | ||||
| @@ -395,7 +395,7 @@ static inline void page_pool_ring_lock(s | ||||
|  static inline void page_pool_ring_unlock(struct page_pool *pool) | ||||
|  	__releases(&pool->ring.producer_lock) | ||||
|  { | ||||
| -	if (in_serving_softirq()) | ||||
| +	if (in_softirq()) | ||||
|  		spin_unlock(&pool->ring.producer_lock); | ||||
|  	else | ||||
|  		spin_unlock_bh(&pool->ring.producer_lock); | ||||
| --- a/net/core/page_pool.c | ||||
| +++ b/net/core/page_pool.c | ||||
| @@ -511,8 +511,8 @@ static void page_pool_return_page(struct | ||||
|  static bool page_pool_recycle_in_ring(struct page_pool *pool, struct page *page) | ||||
|  { | ||||
|  	int ret; | ||||
| -	/* BH protection not needed if current is serving softirq */ | ||||
| -	if (in_serving_softirq()) | ||||
| +	/* BH protection not needed if current is softirq */ | ||||
| +	if (in_softirq()) | ||||
|  		ret = ptr_ring_produce(&pool->ring, page); | ||||
|  	else | ||||
|  		ret = ptr_ring_produce_bh(&pool->ring, page); | ||||
| @@ -570,7 +570,7 @@ __page_pool_put_page(struct page_pool *p | ||||
|  			page_pool_dma_sync_for_device(pool, page, | ||||
|  						      dma_sync_size); | ||||
|   | ||||
| -		if (allow_direct && in_serving_softirq() && | ||||
| +		if (allow_direct && in_softirq() && | ||||
|  		    page_pool_recycle_in_cache(page, pool)) | ||||
|  			return NULL; | ||||
|   | ||||
| @@ -60,7 +60,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name> | ||||
|   */ | ||||
| --- a/include/linux/skbuff.h | ||||
| +++ b/include/linux/skbuff.h | ||||
| @@ -3022,6 +3022,10 @@ static inline int pskb_trim(struct sk_bu | ||||
| @@ -3032,6 +3032,10 @@ static inline int pskb_trim(struct sk_bu | ||||
|  	return (len < skb->len) ? __pskb_trim(skb, len) : 0; | ||||
|  } | ||||
|   | ||||
| @@ -71,7 +71,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name> | ||||
|  /** | ||||
|   *	pskb_trim_unique - remove end from a paged unique (not cloned) buffer | ||||
|   *	@skb: buffer to alter | ||||
| @@ -3171,16 +3175,6 @@ static inline struct sk_buff *dev_alloc_ | ||||
| @@ -3181,16 +3185,6 @@ static inline struct sk_buff *dev_alloc_ | ||||
|  } | ||||
|   | ||||
|   | ||||
|   | ||||
| @@ -9,7 +9,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name> | ||||
|  | ||||
| --- a/include/linux/skbuff.h | ||||
| +++ b/include/linux/skbuff.h | ||||
| @@ -2988,7 +2988,7 @@ static inline int pskb_network_may_pull( | ||||
| @@ -2998,7 +2998,7 @@ static inline int pskb_network_may_pull( | ||||
|   * NET_IP_ALIGN(2) + ethernet_header(14) + IP_header(20/40) + ports(8) | ||||
|   */ | ||||
|  #ifndef NET_SKB_PAD | ||||
|   | ||||
		Reference in New Issue
	
	Block a user