Message ID | 20240822033243.38443-1-xuiagnh@gmail.com (mailing list archive) |
---|---|
State | Superseded |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | net: dpaa:reduce number of synchronize_net() calls | expand |
On Thu, Aug 22, 2024 at 5:32 AM Xi Huang <xuiagnh@gmail.com> wrote: > > In the function dpaa_napi_del(), we execute the netif_napi_del() > for each cpu, which is actually a high overhead operation > because each call to netif_napi_del() contains a synchronize_net(), > i.e. an RCU operation. In fact, it is only necessary to call > __netif_napi_del and use synchronize_net() once outside of the loop. > like commit 2543a6000e,5198d545db. Correct way of citing commits is to use 12+ chars of sha1 ("patch title") as in commit 2543a6000e59 ("gro_cells: reduce number of synchronize_net() calls") Quoting Documentation/dev-tools/checkpatch.rst : **GIT_COMMIT_ID** The proper way to reference a commit id is: commit <12+ chars of sha1> ("<title line>") An example may be:: Commit e21d2170f36602ae2708 ("video: remove unnecessary platform_set_drvdata()") removed the unnecessary platform_set_drvdata(), but left the variable "dev" unused, delete it. See: https://www.kernel.org/doc/html/latest/process/submitting-patches.html#describe-your-changes > here is the function definition: > static inline void netif_napi_del(struct napi_struct * napi) > { > __netif_napi_del(napi). > synchronize_net(); > } You do not need to include netif_napi_del() in this changelog. Please send a V2 in ~24 hours and add this : Reviewed-by: Eric Dumazet <edumazet@google.com> Thank you.
diff --git a/drivers/net/ethernet/freescale/dpaa/dpaa_eth.c b/drivers/net/ethernet/freescale/dpaa/dpaa_eth.c index cfe6b57b1..5d99cfb4e 100644 --- a/drivers/net/ethernet/freescale/dpaa/dpaa_eth.c +++ b/drivers/net/ethernet/freescale/dpaa/dpaa_eth.c @@ -3156,8 +3156,9 @@ static void dpaa_napi_del(struct net_device *net_dev) for_each_possible_cpu(cpu) { percpu_priv = per_cpu_ptr(priv->percpu_priv, cpu); - netif_napi_del(&percpu_priv->np.napi); + __netif_napi_del(&percpu_priv->np.napi); } + synchronize_net(); } static inline void dpaa_bp_free_pf(const struct dpaa_bp *bp,
In the function dpaa_napi_del(), we execute the netif_napi_del() for each cpu, which is actually a high overhead operation because each call to netif_napi_del() contains a synchronize_net(), i.e. an RCU operation. In fact, it is only necessary to call __netif_napi_del and use synchronize_net() once outside of the loop. like commit 2543a6000e,5198d545db. here is the function definition: static inline void netif_napi_del(struct napi_struct * napi) { __netif_napi_del(napi). synchronize_net(); } Signed-off-by: Xi Huang <xuiagnh@gmail.com> --- drivers/net/ethernet/freescale/dpaa/dpaa_eth.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)