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:   Tue, 13 Sep 2022 13:45:58 +0300 (EEST)
From:   Ilpo Järvinen <ilpo.jarvinen@...ux.intel.com>
To:     Sreehari Kancharla <sreehari.kancharla@...ux.intel.com>
cc:     Netdev <netdev@...r.kernel.org>, kuba@...nel.org,
        davem@...emloft.net, johannes@...solutions.net,
        ryazanov.s.a@...il.com, loic.poulain@...aro.org,
        m.chetan.kumar@...el.com, chandrashekar.devegowda@...el.com,
        linuxwwan@...el.com, chiranjeevi.rapolu@...ux.intel.com,
        haijun.liu@...iatek.com, ricardo.martinez@...ux.intel.com,
        Andy Shevchenko <andriy.shevchenko@...ux.intel.com>,
        dinesh.sharma@...el.com, moises.veleta@...el.com,
        sreehari.kancharla@...el.com
Subject: Re: [PATCH net-next 2/2] net: wwan: t7xx: Add NAPI support

On Fri, 9 Sep 2022, Sreehari Kancharla wrote:

> From: Haijun Liu <haijun.liu@...iatek.com>
> 
> Replace the work queue based RX flow with a NAPI implementation
> Remove rx_thread and dpmaif_rxq_work.
> Introduce dummy network device. its responsibility is
>     - Binds one NAPI object for each DL HW queue and acts as
>       the agent of all those network devices.
>     - Use NAPI object to poll DL packets.
>     - Helps to dispatch each packet to the network interface.

It would be useful to mention that GRO is also enabled.

>  static int t7xx_ccmni_open(struct net_device *dev)
>  {
>  	struct t7xx_ccmni *ccmni = wwan_netdev_drvpriv(dev);
> +	struct t7xx_ccmni_ctrl *ccmni_ctl = ccmni->ctlb;
>  
>  	netif_carrier_on(dev);
>  	netif_tx_start_all_queues(dev);
> +	if (!atomic_read(&ccmni_ctl->napi_usr_refcnt)) {
> +		t7xx_ccmni_enable_napi(ccmni_ctl);
> +		atomic_set(&ccmni_ctl->napi_usr_refcnt, 1);
> +	} else {
> +		atomic_inc(&ccmni_ctl->napi_usr_refcnt);
> +	}

atomic_fetch_inc() ?

-- 
 i.

Powered by blists - more mailing lists