lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Sat, 25 Sep 2021 01:05:37 +0200
From:   Michal Kubecek <mkubecek@...e.cz>
To:     Guangbin Huang <huangguangbin2@...wei.com>
Cc:     davem@...emloft.net, kuba@...nel.org, andrew@...n.ch,
        amitc@...lanox.com, idosch@...sch.org, danieller@...dia.com,
        jesse.brandeburg@...el.com, anthony.l.nguyen@...el.com,
        jdike@...toit.com, richard@....at, anton.ivanov@...bridgegreys.com,
        netanel@...zon.com, akiyano@...zon.com, gtzalik@...zon.com,
        saeedb@...zon.com, chris.snook@...il.com,
        ulli.kroll@...glemail.com, linus.walleij@...aro.org,
        jeroendb@...gle.com, csully@...gle.com, awogbemila@...gle.com,
        jdmason@...zu.us, rain.1986.08.12@...il.com, zyjzyj2000@...il.com,
        kys@...rosoft.com, haiyangz@...rosoft.com, mst@...hat.com,
        jasowang@...hat.com, doshir@...are.com, pv-drivers@...are.com,
        jwi@...ux.ibm.com, kgraul@...ux.ibm.com, hca@...ux.ibm.com,
        gor@...ux.ibm.com, johannes@...solutions.net,
        netdev@...r.kernel.org, lipeng321@...wei.com,
        chenhao288@...ilicon.com, linux-s390@...r.kernel.org
Subject: Re: [PATCH V2 net-next 1/6] ethtool: add support to set/get tx
 copybreak buf size via ethtool

On Fri, Sep 24, 2021 at 10:29:54PM +0800, Guangbin Huang wrote:
> From: Hao Chen <chenhao288@...ilicon.com>
> 
> Add support for ethtool to set/get tx copybreak buf size.
> 
> Signed-off-by: Hao Chen <chenhao288@...ilicon.com>
> Signed-off-by: Guangbin Huang <huangguangbin2@...wei.com>
> ---
>  Documentation/networking/ethtool-netlink.rst | 24 ++++++++++++++++++++
>  include/uapi/linux/ethtool.h                 |  1 +
>  net/ethtool/common.c                         |  1 +
>  net/ethtool/ioctl.c                          |  1 +
>  4 files changed, 27 insertions(+)
> 
> diff --git a/Documentation/networking/ethtool-netlink.rst b/Documentation/networking/ethtool-netlink.rst
> index d9b55b7a1a4d..a47b0255aaf9 100644
> --- a/Documentation/networking/ethtool-netlink.rst
> +++ b/Documentation/networking/ethtool-netlink.rst
> @@ -1521,6 +1521,30 @@ Kernel response contents:
>    ``ETHTOOL_A_PHC_VCLOCKS_INDEX``       s32     PHC index array
>    ====================================  ======  ==========================
>  
> +TUNABLE_SET
> +===========
> +
> +Request contents:
> +
> +  =====================================  ======  ==========================
> +  ``ETHTOOL_TX_COPYBREAK_BUF_SIZE``      u32     buf size for tx copybreak
> +  =====================================  ======  ==========================
> +
> +Tx copybreak buf size is used for tx copybreak feature, the feature is used
> +for small size packet or frag. It adds a queue based tx shared bounce buffer
> +to memcpy the small packet when the len of xmitted skb is below tx_copybreak
> +(value to distinguish small size and normal size), and reduce the overhead
> +of dma map and unmap when IOMMU is on.
> +
> +TUNABLE_GET
> +===========
> +
> +Kernel response contents:
> +
> +  ====================================  ======  ==========================
> +  ``ETHTOOL_TX_COPYBREAK_BUF_SIZE``     u32     buf size for tx copybreak
> +  ====================================  ======  ==========================

I have to repeat my concerns expressed in

  https://lore.kernel.org/netdev/20210826072618.2lu6spapkzdcuhyv@lion.mk-sys.cz

and earlier in more details in

  https://lore.kernel.org/netdev/20200325164958.GZ31519@unicorn.suse.cz

That being said, I don't understand why this patch adds description of
two new message types to the documentation of ethtool netlink API but it
does not actually add them to the API. Instead, it adds the new tunable
to ioctl API.

Michal

> +
>  Request translation
>  ===================
>  
> diff --git a/include/uapi/linux/ethtool.h b/include/uapi/linux/ethtool.h
> index b6db6590baf0..266e95e4fb33 100644
> --- a/include/uapi/linux/ethtool.h
> +++ b/include/uapi/linux/ethtool.h
> @@ -231,6 +231,7 @@ enum tunable_id {
>  	ETHTOOL_RX_COPYBREAK,
>  	ETHTOOL_TX_COPYBREAK,
>  	ETHTOOL_PFC_PREVENTION_TOUT, /* timeout in msecs */
> +	ETHTOOL_TX_COPYBREAK_BUF_SIZE,
>  	/*
>  	 * Add your fresh new tunable attribute above and remember to update
>  	 * tunable_strings[] in net/ethtool/common.c
> diff --git a/net/ethtool/common.c b/net/ethtool/common.c
> index c63e0739dc6a..0c5210015911 100644
> --- a/net/ethtool/common.c
> +++ b/net/ethtool/common.c
> @@ -89,6 +89,7 @@ tunable_strings[__ETHTOOL_TUNABLE_COUNT][ETH_GSTRING_LEN] = {
>  	[ETHTOOL_RX_COPYBREAK]	= "rx-copybreak",
>  	[ETHTOOL_TX_COPYBREAK]	= "tx-copybreak",
>  	[ETHTOOL_PFC_PREVENTION_TOUT] = "pfc-prevention-tout",
> +	[ETHTOOL_TX_COPYBREAK_BUF_SIZE] = "tx-copybreak-buf-size",
>  };
>  
>  const char
> diff --git a/net/ethtool/ioctl.c b/net/ethtool/ioctl.c
> index 999e2a6bed13..a6600e361c34 100644
> --- a/net/ethtool/ioctl.c
> +++ b/net/ethtool/ioctl.c
> @@ -2381,6 +2381,7 @@ static int ethtool_tunable_valid(const struct ethtool_tunable *tuna)
>  	switch (tuna->id) {
>  	case ETHTOOL_RX_COPYBREAK:
>  	case ETHTOOL_TX_COPYBREAK:
> +	case ETHTOOL_TX_COPYBREAK_BUF_SIZE:
>  		if (tuna->len != sizeof(u32) ||
>  		    tuna->type_id != ETHTOOL_TUNABLE_U32)
>  			return -EINVAL;
> -- 
> 2.33.0
> 

Download attachment "signature.asc" of type "application/pgp-signature" (489 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ