All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Jonathan Lemon" <jonathan.lemon@gmail.com>
To: "Matthew Wilcox" <willy@infradead.org>
Cc: davem@davemloft.net, hch@lst.de, netdev@vger.kernel.org
Subject: Re: [PATCH v3 0/7] Convert skb_frag_t to bio_vec
Date: Thu, 25 Jul 2019 09:26:57 -0700	[thread overview]
Message-ID: <9BBB1B3F-F8AD-4DAC-9EF9-91DF1C1B8D5D@gmail.com> (raw)
In-Reply-To: <20190723030831.11879-1-willy@infradead.org>



On 22 Jul 2019, at 20:08, Matthew Wilcox wrote:

> From: "Matthew Wilcox (Oracle)" <willy@infradead.org>
>
> The skb_frag_t and bio_vec are fundamentally the same (page, offset,
> length) tuple.  This patch series unifies the two, leaving the
> skb_frag_t typedef in place.  This has the immediate advantage that
> we already have iov_iter support for bvecs and don't need to add
> support for iterating skbuffs.  It enables a long-term plan to use
> bvecs more broadly within the kernel and should make network-storage
> drivers able to do less work converting between skbuffs and biovecs.
>
> It will consume more memory on 32-bit kernels.  If that proves
> problematic, we can look at ways of addressing it.
>
> v3: Rebase on latest Linus with net-next merged.
>   - Reorder the uncontroversial 'Use skb accessors' patches first so you
>     can apply just those two if you want to hold off on the full
>     conversion.
>   - Convert all the users of 'struct skb_frag_struct' to skb_frag_t.

Thanks for doing this!  One step closer to simplifying code.

For the series:
Acked-by: Jonathan Lemon <jonathan.lemon@gmail.com>



>
> Matthew Wilcox (Oracle) (7):
>   net: Use skb accessors in network drivers
>   net: Use skb accessors in network core
>   net: Increase the size of skb_frag_t
>   net: Reorder the contents of skb_frag_t
>   net: Rename skb_frag page to bv_page
>   net: Rename skb_frag_t size to bv_len
>   net: Convert skb_frag_t to bio_vec
>
>  drivers/crypto/chelsio/chtls/chtls_io.c       |  6 ++--
>  drivers/hsi/clients/ssi_protocol.c            |  3 +-
>  drivers/infiniband/hw/hfi1/vnic_sdma.c        |  2 +-
>  drivers/net/ethernet/3com/3c59x.c             |  2 +-
>  drivers/net/ethernet/agere/et131x.c           |  6 ++--
>  drivers/net/ethernet/amd/xgbe/xgbe-desc.c     |  2 +-
>  drivers/net/ethernet/amd/xgbe/xgbe-drv.c      |  2 +-
>  .../net/ethernet/apm/xgene/xgene_enet_main.c  |  3 +-
>  drivers/net/ethernet/atheros/alx/main.c       |  4 +--
>  .../net/ethernet/atheros/atl1c/atl1c_main.c   |  4 +--
>  .../net/ethernet/atheros/atl1e/atl1e_main.c   |  3 +-
>  drivers/net/ethernet/atheros/atlx/atl1.c      |  3 +-
>  drivers/net/ethernet/broadcom/bgmac.c         |  2 +-
>  drivers/net/ethernet/broadcom/bnxt/bnxt.c     |  2 +-
>  drivers/net/ethernet/brocade/bna/bnad.c       |  2 +-
>  drivers/net/ethernet/calxeda/xgmac.c          |  2 +-
>  .../net/ethernet/cavium/liquidio/lio_main.c   | 23 ++++++-------
>  .../ethernet/cavium/liquidio/lio_vf_main.c    | 23 ++++++-------
>  .../ethernet/cavium/thunder/nicvf_queues.c    |  4 +--
>  drivers/net/ethernet/chelsio/cxgb3/sge.c      |  2 +-
>  drivers/net/ethernet/cortina/gemini.c         |  5 ++-
>  drivers/net/ethernet/emulex/benet/be_main.c   |  2 +-
>  drivers/net/ethernet/freescale/enetc/enetc.c  |  2 +-
>  drivers/net/ethernet/freescale/fec_main.c     |  4 +--
>  drivers/net/ethernet/hisilicon/hix5hd2_gmac.c |  2 +-
>  drivers/net/ethernet/hisilicon/hns/hns_enet.c |  4 +--
>  .../net/ethernet/hisilicon/hns3/hns3_enet.c   |  8 ++---
>  drivers/net/ethernet/huawei/hinic/hinic_tx.c  |  2 +-
>  drivers/net/ethernet/ibm/emac/core.c          |  2 +-
>  drivers/net/ethernet/intel/e1000/e1000_main.c |  3 +-
>  drivers/net/ethernet/intel/e1000e/netdev.c    |  3 +-
>  drivers/net/ethernet/intel/fm10k/fm10k_main.c |  5 +--
>  drivers/net/ethernet/intel/i40e/i40e_txrx.c   |  4 +--
>  drivers/net/ethernet/intel/i40e/i40e_txrx.h   |  2 +-
>  drivers/net/ethernet/intel/iavf/iavf_txrx.c   |  4 +--
>  drivers/net/ethernet/intel/iavf/iavf_txrx.h   |  2 +-
>  drivers/net/ethernet/intel/ice/ice_txrx.c     |  6 ++--
>  drivers/net/ethernet/intel/igb/igb_main.c     |  5 +--
>  drivers/net/ethernet/intel/igbvf/netdev.c     |  2 +-
>  drivers/net/ethernet/intel/igc/igc_main.c     |  5 +--
>  drivers/net/ethernet/intel/ixgb/ixgb_main.c   |  4 +--
>  drivers/net/ethernet/intel/ixgbe/ixgbe_main.c |  9 ++---
>  .../net/ethernet/intel/ixgbevf/ixgbevf_main.c |  2 +-
>  drivers/net/ethernet/jme.c                    |  5 ++-
>  drivers/net/ethernet/marvell/mvneta.c         |  4 +--
>  .../net/ethernet/marvell/mvpp2/mvpp2_main.c   |  7 ++--
>  drivers/net/ethernet/mediatek/mtk_eth_soc.c   |  4 +--
>  drivers/net/ethernet/mellanox/mlx4/en_tx.c    |  4 +--
>  .../net/ethernet/mellanox/mlx5/core/en_tx.c   |  2 +-
>  drivers/net/ethernet/microchip/lan743x_main.c |  5 ++-
>  .../net/ethernet/myricom/myri10ge/myri10ge.c  | 10 +++---
>  .../ethernet/netronome/nfp/nfp_net_common.c   |  6 ++--
>  .../ethernet/qlogic/netxen/netxen_nic_main.c  |  4 +--
>  .../net/ethernet/qlogic/qlcnic/qlcnic_io.c    |  2 +-
>  drivers/net/ethernet/qualcomm/emac/emac-mac.c | 12 +++----
>  .../net/ethernet/synopsys/dwc-xlgmac-desc.c   |  2 +-
>  .../net/ethernet/synopsys/dwc-xlgmac-net.c    |  2 +-
>  drivers/net/ethernet/tehuti/tehuti.c          |  2 +-
>  drivers/net/usb/usbnet.c                      |  4 +--
>  drivers/net/vmxnet3/vmxnet3_drv.c             |  7 ++--
>  drivers/net/wireless/ath/wil6210/debugfs.c    |  3 +-
>  drivers/net/wireless/ath/wil6210/txrx.c       |  9 +++--
>  drivers/net/wireless/ath/wil6210/txrx_edma.c  |  2 +-
>  drivers/net/xen-netback/netback.c             |  4 +--
>  drivers/s390/net/qeth_core_main.c             |  2 +-
>  drivers/scsi/fcoe/fcoe_transport.c            |  2 +-
>  drivers/staging/octeon/ethernet-tx.c          |  5 ++-
>  .../staging/unisys/visornic/visornic_main.c   |  4 +--
>  drivers/target/iscsi/cxgbit/cxgbit_target.c   | 13 +++----
>  include/linux/bvec.h                          |  5 ++-
>  include/linux/skbuff.h                        | 34 ++++++-------------
>  net/core/skbuff.c                             | 26 ++++++++------
>  net/core/tso.c                                |  8 ++---
>  net/ipv4/tcp.c                                | 14 ++++----
>  net/kcm/kcmsock.c                             |  8 ++---
>  net/tls/tls_device.c                          | 14 ++++----
>  76 files changed, 202 insertions(+), 220 deletions(-)
>
> -- 
> 2.20.1

  parent reply	other threads:[~2019-07-25 16:27 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-07-23  3:08 [PATCH v3 0/7] Convert skb_frag_t to bio_vec Matthew Wilcox
2019-07-23  3:08 ` [PATCH v3 1/7] net: Use skb accessors in network drivers Matthew Wilcox
2019-07-23  3:08 ` [PATCH v3 2/7] net: Use skb accessors in network core Matthew Wilcox
2019-07-23  3:56   ` Yunsheng Lin
2019-07-23 11:17     ` Matthew Wilcox
2019-07-23  3:08 ` [PATCH v3 3/7] net: Increase the size of skb_frag_t Matthew Wilcox
2019-07-23  3:08 ` [PATCH v3 4/7] net: Reorder the contents " Matthew Wilcox
2019-07-23  3:08 ` [PATCH v3 5/7] net: Rename skb_frag page to bv_page Matthew Wilcox
2019-07-23  3:08 ` [PATCH v3 6/7] net: Rename skb_frag_t size to bv_len Matthew Wilcox
2019-07-24 10:49   ` David Laight
2019-07-24 11:41     ` Matthew Wilcox
2019-07-24 18:46       ` David Miller
2019-07-23  3:08 ` [PATCH v3 7/7] net: Convert skb_frag_t to bio_vec Matthew Wilcox
2019-07-23  3:48 ` [PATCH v3 0/7] " David Miller
2019-07-25 16:26 ` Jonathan Lemon [this message]
  -- strict thread matches above, loose matches on Subject: below --
2019-07-12 13:43 Matthew Wilcox
2019-07-12 18:27 ` David Miller
2019-07-22 20:39   ` Matthew Wilcox
2019-07-22 20:45     ` David Miller

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=9BBB1B3F-F8AD-4DAC-9EF9-91DF1C1B8D5D@gmail.com \
    --to=jonathan.lemon@gmail.com \
    --cc=davem@davemloft.net \
    --cc=hch@lst.de \
    --cc=netdev@vger.kernel.org \
    --cc=willy@infradead.org \
    /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.