All of lore.kernel.org
 help / color / mirror / Atom feed
From: Coiby Xu <coiby.xu@gmail.com>
To: linux-staging@lists.linux.dev
Cc: netdev@vger.kernel.org,
	Benjamin Poirier <benjamin.poirier@gmail.com>,
	Shung-Hsi Yu <shung-hsi.yu@suse.com>,
	Manish Chopra <manishc@marvell.com>,
	GR-Linux-NIC-Dev@marvell.com (supporter:QLOGIC QLGE 10Gb
	ETHERNET DRIVER), Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	linux-kernel@vger.kernel.org (open list)
Subject: [RFC 02/19] staging: qlge: change LARGE_BUFFER_MAX_SIZE to 4096
Date: Mon, 21 Jun 2021 21:48:45 +0800	[thread overview]
Message-ID: <20210621134902.83587-3-coiby.xu@gmail.com> (raw)
In-Reply-To: <20210621134902.83587-1-coiby.xu@gmail.com>

LARGE_BUFFER_MAX_SIZE=4096 could make better use of memory. This choice
is consist with ixgbe and e1000 ,
   - ixgbe sets the rx buffer's page order to 0 unless FCoE is enabled
   - e1000 allocs a page for a jumbo receive buffer

Signed-off-by: Coiby Xu <coiby.xu@gmail.com>
---
 drivers/staging/qlge/TODO   | 2 --
 drivers/staging/qlge/qlge.h | 2 +-
 2 files changed, 1 insertion(+), 3 deletions(-)

diff --git a/drivers/staging/qlge/TODO b/drivers/staging/qlge/TODO
index 449d7dca478b..0e26fac1ddc5 100644
--- a/drivers/staging/qlge/TODO
+++ b/drivers/staging/qlge/TODO
@@ -4,8 +4,6 @@
   ql_build_rx_skb(). That function is now used exclusively to handle packets
   that underwent header splitting but it still contains code to handle non
   split cases.
-* while in that area, using two 8k buffers to store one 9k frame is a poor
-  choice of buffer size.
 * in the "chain of large buffers" case, the driver uses an skb allocated with
   head room but only puts data in the frags.
 * rename "rx" queues to "completion" queues. Calling tx completion queues "rx
diff --git a/drivers/staging/qlge/qlge.h b/drivers/staging/qlge/qlge.h
index 55e0ad759250..f54d38606b78 100644
--- a/drivers/staging/qlge/qlge.h
+++ b/drivers/staging/qlge/qlge.h
@@ -52,7 +52,7 @@
 #define RX_RING_SHADOW_SPACE	(sizeof(u64) + \
 		MAX_DB_PAGES_PER_BQ(QLGE_BQ_LEN) * sizeof(u64) + \
 		MAX_DB_PAGES_PER_BQ(QLGE_BQ_LEN) * sizeof(u64))
-#define LARGE_BUFFER_MAX_SIZE 8192
+#define LARGE_BUFFER_MAX_SIZE 4096
 #define LARGE_BUFFER_MIN_SIZE 2048
 
 #define MAX_CQ 128
-- 
2.32.0


  parent reply	other threads:[~2021-06-21 13:49 UTC|newest]

Thread overview: 74+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-06-21 13:48 [RFC 00/19] Improve the qlge driver based on drivers/staging/qlge/TODO Coiby Xu
2021-06-21 13:48 ` [RFC 01/19] staging: qlge: fix incorrect truesize accounting Coiby Xu
2021-06-21 14:10   ` Dan Carpenter
2021-06-21 14:10     ` Dan Carpenter
2021-06-22 11:36     ` Coiby Xu
2021-06-22 11:36       ` Coiby Xu
2021-06-23  4:55       ` Benjamin Poirier
2021-06-23  4:55         ` Benjamin Poirier
2021-06-24 11:47         ` Coiby Xu
2021-06-24 11:47           ` Coiby Xu
2021-06-28  0:14           ` Coiby Xu
2021-06-28  0:14             ` Coiby Xu
2021-06-21 13:48 ` Coiby Xu [this message]
2021-06-21 13:48 ` [RFC 03/19] staging: qlge: alloc skb with only enough room for header when data is put in the fragments Coiby Xu
2021-06-21 13:48 ` [RFC 04/19] staging: qlge: add qlge_* prefix to avoid namespace clashes Coiby Xu
2021-06-22  7:55   ` Benjamin Poirier
2021-06-22  7:55     ` Benjamin Poirier
2021-06-24 11:34     ` Coiby Xu
2021-06-24 11:34       ` Coiby Xu
2021-06-21 13:48 ` [RFC 05/19] staging: qlge: rename rx to completion queue and seperate rx_ring from completion queue Coiby Xu
2021-06-21 13:48 ` [RFC 06/19] staging: qlge: disable flow control by default Coiby Xu
2021-06-22  7:49   ` Benjamin Poirier
2021-06-22  7:49     ` Benjamin Poirier
2021-06-24 11:33     ` Coiby Xu
2021-06-24 11:33       ` Coiby Xu
2021-06-21 13:48 ` [RFC 07/19] staging: qlge: remove the TODO item of unnecessary memset 0 Coiby Xu
2021-06-21 13:48 ` [RFC 08/19] staging: qlge: reorder members of qlge_adapter for optimization Coiby Xu
2021-06-21 13:48 ` [RFC 09/19] staging: qlge: remove the TODO item of reorder struct Coiby Xu
2021-06-21 13:48 ` [RFC 10/19] staging: qlge: remove the TODO item of avoid legacy/deprecated apis Coiby Xu
2021-06-21 13:48 ` [RFC 11/19] staging: qlge: the number of pages to contain a buffer queue is constant Coiby Xu
2021-06-21 13:48 ` [RFC 12/19] staging: qlge: rewrite do while loops as for loops in qlge_start_rx_ring Coiby Xu
2021-06-22  7:45   ` Benjamin Poirier
2021-06-22  7:45     ` Benjamin Poirier
2021-06-24 11:56     ` Coiby Xu
2021-06-24 11:56       ` Coiby Xu
2021-06-21 13:48 ` [RFC 13/19] staging: qlge: rewrite do while loop as for loop in qlge_sem_spinlock Coiby Xu
2021-06-22  7:20   ` Dan Carpenter
2021-06-22  7:20     ` Dan Carpenter
2021-06-24 11:22     ` Coiby Xu
2021-06-24 11:22       ` Coiby Xu
2021-06-30 10:58       ` Joe Perches
2021-06-30 10:58         ` Joe Perches
2021-06-30 23:33         ` Coiby Xu
2021-06-30 23:33           ` Coiby Xu
2021-07-01  4:35           ` Joe Perches
2021-07-01  4:35             ` Joe Perches
2021-07-02 23:56             ` Coiby Xu
2021-07-02 23:56               ` Coiby Xu
2021-06-21 13:48 ` [RFC 14/19] staging: qlge: rewrite do while loop as for loop in qlge_refill_bq Coiby Xu
2021-06-21 13:48 ` [RFC 15/19] staging: qlge: remove the TODO item about rewriting while loops as simple for loops Coiby Xu
2021-06-21 13:48 ` [RFC 16/19] staging: qlge: remove deadcode in qlge_build_rx_skb Coiby Xu
2021-06-22  7:29   ` Dan Carpenter
2021-06-22  7:29     ` Dan Carpenter
2021-06-24 11:25     ` Coiby Xu
2021-06-24 11:25       ` Coiby Xu
2021-06-24 12:49       ` Dan Carpenter
2021-06-24 12:49         ` Dan Carpenter
2021-06-27 10:53         ` Coiby Xu
2021-06-27 10:53           ` Coiby Xu
2021-06-28  6:46           ` Dan Carpenter
2021-06-28  6:46             ` Dan Carpenter
2021-06-29 13:35             ` Coiby Xu
2021-06-29 13:35               ` Coiby Xu
2021-06-29 14:22               ` Dan Carpenter
2021-06-29 14:22                 ` Dan Carpenter
2021-06-30 23:19                 ` Coiby Xu
2021-06-30 23:19                   ` Coiby Xu
2021-06-21 13:49 ` [RFC 17/19] staging: qlge: fix weird line wrapping Coiby Xu
2021-06-22  8:46   ` Dan Carpenter
2021-06-22  8:46     ` Dan Carpenter
2021-06-24 11:55     ` Coiby Xu
2021-06-24 11:55       ` Coiby Xu
2021-06-21 13:49 ` [RFC 18/19] staging: qlge: fix two indentation issues Coiby Xu
2021-06-21 13:49 ` [RFC 19/19] staging: qlge: remove TODO item of unnecessary runtime checks Coiby Xu

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210621134902.83587-3-coiby.xu@gmail.com \
    --to=coiby.xu@gmail.com \
    --cc=GR-Linux-NIC-Dev@marvell.com \
    --cc=benjamin.poirier@gmail.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-staging@lists.linux.dev \
    --cc=manishc@marvell.com \
    --cc=netdev@vger.kernel.org \
    --cc=shung-hsi.yu@suse.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.