[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20250613143605.5748-1-al.kochet@gmail.com>
Date: Fri, 13 Jun 2025 14:34:43 +0000
From: Alexander Kochetkov <al.kochet@...il.com>
To: Vinod Koul <vkoul@...nel.org>,
dmaengine@...r.kernel.org,
linux-kernel@...r.kernel.org
Cc: Nishad Saraf <nishads@....com>,
Lizhi Hou <lizhi.hou@....com>,
Jacky Huang <ychuang3@...oton.com>,
Shan-Chun Hung <schung@...oton.com>,
Florian Fainelli <florian.fainelli@...adcom.com>,
Ray Jui <rjui@...adcom.com>,
Scott Branden <sbranden@...adcom.com>,
Lars-Peter Clausen <lars@...afoo.de>,
Paul Cercueil <paul@...pouillou.net>,
Eugeniy Paltsev <Eugeniy.Paltsev@...opsys.com>,
Manivannan Sadhasivam <mani@...nel.org>,
Frank Li <Frank.Li@....com>,
Zhou Wang <wangzhou1@...ilicon.com>,
Longfang Liu <liulongfang@...wei.com>,
Andy Shevchenko <andy@...nel.org>,
Shawn Guo <shawnguo@...nel.org>,
Sascha Hauer <s.hauer@...gutronix.de>,
Pengutronix Kernel Team <kernel@...gutronix.de>,
Fabio Estevam <festevam@...il.com>,
Keguang Zhang <keguang.zhang@...il.com>,
Sean Wang <sean.wang@...iatek.com>,
Matthias Brugger <matthias.bgg@...il.com>,
AngeloGioacchino Del Regno <angelogioacchino.delregno@...labora.com>,
Andreas Färber <afaerber@...e.de>,
Daniel Mack <daniel@...que.org>,
Haojian Zhuang <haojian.zhuang@...il.com>,
Robert Jarzmik <robert.jarzmik@...e.fr>,
Paul Walmsley <paul.walmsley@...ive.com>,
Samuel Holland <samuel.holland@...ive.com>,
Orson Zhai <orsonzhai@...il.com>,
Baolin Wang <baolin.wang@...ux.alibaba.com>,
Chunyan Zhang <zhang.lyra@...il.com>,
Patrice Chotard <patrice.chotard@...s.st.com>,
Amélie Delaunay <amelie.delaunay@...s.st.com>,
Maxime Coquelin <mcoquelin.stm32@...il.com>,
Alexandre Torgue <alexandre.torgue@...s.st.com>,
Chen-Yu Tsai <wens@...e.org>,
Jernej Skrabec <jernej.skrabec@...il.com>,
Laxman Dewangan <ldewangan@...dia.com>,
Jon Hunter <jonathanh@...dia.com>,
Thierry Reding <thierry.reding@...il.com>,
Peter Ujfalusi <peter.ujfalusi@...il.com>,
Kunihiko Hayashi <hayashi.kunihiko@...ionext.com>,
Masami Hiramatsu <mhiramat@...nel.org>,
Dave Jiang <dave.jiang@...el.com>,
Amit Vadhavana <av2082000@...il.com>,
Uwe Kleine-König <u.kleine-koenig@...libre.com>,
Ulf Hansson <ulf.hansson@...aro.org>,
Md Sadre Alam <quic_mdalam@...cinc.com>,
Alexander Kochetkov <al.kochet@...il.com>,
Casey Connolly <casey.connolly@...aro.org>,
Kees Cook <kees@...nel.org>,
Fenghua Yu <fenghua.yu@...el.com>,
Jyothi Kumar Seerapu <quic_jseerapu@...cinc.com>
Subject: [PATCH 0/1] dmaengine: virt-dma: convert tasklet to BH workqueue for callback invocation
Hello!
I have Pine64 (Allwinner A64 ARMv8) board.
I've migrated from 5.4 kernel to 6.12 and noticed that DMA callback latencies
became very high. I noticed that sometimes callbacks get called from
ksoftirqd thread and in that case latencies are about 10 ms.
I found out that tasklet bacame deprecated and decided to rewrite DMA
callback code to use BH workqueue. In my case, that fixed high latencies.
My change affects a lot of drivers, but the change is trivial. I've verified
that affected drivers compile after change. But I cannot test it on all
platforms.
Alexander Kochetkov (1):
dmaengine: virt-dma: convert tasklet to BH workqueue for callback
invocation
drivers/dma/amd/qdma/qdma.c | 1 +
drivers/dma/arm-dma350.c | 1 +
drivers/dma/bcm2835-dma.c | 2 +-
drivers/dma/dma-axi-dmac.c | 8 ++++----
drivers/dma/dma-jz4780.c | 2 +-
drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c | 2 +-
drivers/dma/dw-edma/dw-edma-core.c | 2 +-
drivers/dma/fsl-edma-common.c | 2 +-
drivers/dma/fsl-edma-common.h | 1 +
drivers/dma/fsl-qdma.c | 3 ++-
drivers/dma/hisi_dma.c | 2 +-
drivers/dma/hsu/hsu.c | 2 +-
drivers/dma/idma64.c | 3 ++-
drivers/dma/img-mdc-dma.c | 2 +-
drivers/dma/imx-sdma.c | 2 +-
drivers/dma/k3dma.c | 2 +-
drivers/dma/loongson1-apb-dma.c | 2 +-
drivers/dma/mediatek/mtk-cqdma.c | 2 +-
drivers/dma/mediatek/mtk-hsdma.c | 3 ++-
drivers/dma/mediatek/mtk-uart-apdma.c | 4 ++--
drivers/dma/owl-dma.c | 2 +-
drivers/dma/pxa_dma.c | 2 +-
drivers/dma/qcom/bam_dma.c | 4 ++--
drivers/dma/qcom/gpi.c | 1 +
drivers/dma/qcom/qcom_adm.c | 2 +-
drivers/dma/sa11x0-dma.c | 2 +-
drivers/dma/sf-pdma/sf-pdma.c | 3 ++-
drivers/dma/sprd-dma.c | 2 +-
drivers/dma/st_fdma.c | 2 +-
drivers/dma/stm32/stm32-dma.c | 1 +
drivers/dma/stm32/stm32-dma3.c | 1 +
drivers/dma/stm32/stm32-mdma.c | 1 +
drivers/dma/sun6i-dma.c | 2 +-
drivers/dma/tegra186-gpc-dma.c | 2 +-
drivers/dma/tegra210-adma.c | 3 ++-
drivers/dma/ti/edma.c | 2 +-
drivers/dma/ti/k3-udma.c | 10 +++++-----
drivers/dma/ti/omap-dma.c | 2 +-
drivers/dma/uniphier-xdmac.c | 1 +
drivers/dma/virt-dma.c | 6 +++---
drivers/dma/virt-dma.h | 10 +++++-----
41 files changed, 61 insertions(+), 48 deletions(-)
--
2.43.0
Powered by blists - more mailing lists