Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit dd1a5df8 authored by Jesse Brandeburg's avatar Jesse Brandeburg Committed by Jeff Kirsher
Browse files

i40e/i40evf: use __GFP_NOWARN



The i40e and i40evf drivers now cleanly handle allocation
failures and can avoid kernel log spew from the memory allocator
when allocations fail, so set __GFP_NOWARN on Rx buffer alloc.

Change-ID: Ic9e1b83c495e2a3ef6b069ba7fb6e52ce134cd23
Signed-off-by: default avatarJesse Brandeburg <jesse.brandeburg@intel.com>
Tested-by: default avatarAndrew Bowers <andrewx.bowers@intel.com>
Signed-off-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
parent 13cb3e9d
Loading
Loading
Loading
Loading
+8 −4
Original line number Diff line number Diff line
@@ -1292,8 +1292,10 @@ bool i40e_alloc_rx_buffers_1buf(struct i40e_ring *rx_ring, u16 cleaned_count)
		skb = bi->skb;

		if (!skb) {
			skb = netdev_alloc_skb_ip_align(rx_ring->netdev,
							rx_ring->rx_buf_len);
			skb = __netdev_alloc_skb_ip_align(rx_ring->netdev,
							  rx_ring->rx_buf_len,
							  GFP_ATOMIC |
							  __GFP_NOWARN);
			if (!skb) {
				rx_ring->rx_stats.alloc_buff_failed++;
				goto no_buffers;
@@ -1571,8 +1573,10 @@ static int i40e_clean_rx_irq_ps(struct i40e_ring *rx_ring, const int budget)
		rx_bi = &rx_ring->rx_bi[i];
		skb = rx_bi->skb;
		if (likely(!skb)) {
			skb = netdev_alloc_skb_ip_align(rx_ring->netdev,
							rx_ring->rx_hdr_len);
			skb = __netdev_alloc_skb_ip_align(rx_ring->netdev,
							  rx_ring->rx_hdr_len,
							  GFP_ATOMIC |
							  __GFP_NOWARN);
			if (!skb) {
				rx_ring->rx_stats.alloc_buff_failed++;
				failure = true;
+8 −4
Original line number Diff line number Diff line
@@ -764,8 +764,10 @@ bool i40evf_alloc_rx_buffers_1buf(struct i40e_ring *rx_ring, u16 cleaned_count)
		skb = bi->skb;

		if (!skb) {
			skb = netdev_alloc_skb_ip_align(rx_ring->netdev,
							rx_ring->rx_buf_len);
			skb = __netdev_alloc_skb_ip_align(rx_ring->netdev,
							  rx_ring->rx_buf_len,
							  GFP_ATOMIC |
							  __GFP_NOWARN);
			if (!skb) {
				rx_ring->rx_stats.alloc_buff_failed++;
				goto no_buffers;
@@ -1034,8 +1036,10 @@ static int i40e_clean_rx_irq_ps(struct i40e_ring *rx_ring, const int budget)
		rx_bi = &rx_ring->rx_bi[i];
		skb = rx_bi->skb;
		if (likely(!skb)) {
			skb = netdev_alloc_skb_ip_align(rx_ring->netdev,
							rx_ring->rx_hdr_len);
			skb = __netdev_alloc_skb_ip_align(rx_ring->netdev,
							  rx_ring->rx_hdr_len,
							  GFP_ATOMIC |
							  __GFP_NOWARN);
			if (!skb) {
				rx_ring->rx_stats.alloc_buff_failed++;
				failure = true;