From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-lj1-f181.google.com (mail-lj1-f181.google.com [209.85.208.181]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 86B591CFBC; Fri, 13 Jun 2025 14:36:13 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.181 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1749825375; cv=none; b=ZAqIZGoC7Mpm2BbiOCS2agx2gQex39+lhDp7BU/qgl0gBcIi/k/3G0CNzQZY9UR8qQdSmKo+YSintBnj3a5Un2IwymmURRZvCPx5atVqU/IlcSmBa3IJ6rWVvU5rsPwBaehCZIHoX+BRMTiTCdw7OxmsrtC5+lWMOvq29xwqtH8= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1749825375; c=relaxed/simple; bh=sG48iV8d+qqPPnq3NQkA2sSLoG7JHppT/L4+5YNmhhs=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=OIMeIq/ONqQif4eVfbTSKAVeQNz0AUv762UOh8KTwTyzD+tPE5NZLC5bJhOGg3SxT1JYGHTy9MeLau4ObRJHIjHlEy2mTz4lkTB6be8lkFwY/41IofiRH5SL4wH7u+hmU3CBVQlG84jZRcbq22Kdp+eeZRokF9MmP/rVTXrqIVY= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=ndLY/46N; arc=none smtp.client-ip=209.85.208.181 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="ndLY/46N" Received: by mail-lj1-f181.google.com with SMTP id 38308e7fff4ca-32b42935293so3701441fa.1; Fri, 13 Jun 2025 07:36:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1749825372; x=1750430172; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=L/dusadzFeGxTWxgb6C5US/XQb1kLNY5Mn1HK4umVkk=; b=ndLY/46NmO+2BgqsskRapnI3vIt51G6Wa6tJ1hTdeiQjxlMzXOZ96oNR+yrUEA3Awe 8On6MtPnYAoHrNdiSuybyhvKyBQfezMwQ9Kg5ltxTOELfxAVl4JFj2RJIPvGwgtmfKRf 2utAnyXlwPgCBMRaWBziKGUGhBUzq7RaFLy4dLgqMOJ0hByYkEORnzEBX/w0zmrIEV6r r2BEBsfb+gcA24ZTuVIzBbWEfeypzAnlsZyh1esSQx7Z+92ht0JNiHevwNeyLaaPpEk6 VBTTC4WN993WIWG978B6RE8WhR/z09QTR/zLNj0/WqPSCK6VaT9k4qPP0GOSenJNlyqm mrfA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1749825372; x=1750430172; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=L/dusadzFeGxTWxgb6C5US/XQb1kLNY5Mn1HK4umVkk=; b=s4VnJ2z3olNmUP4vY/jxAzCLL3WONDKEVn4MhiDnpOIlowH0I56o+n0qxtylMdV4tu DTaTmcQijFjjP5UV9CfBYw67tQSu2JFtOysCFIaMRCdG3NI8qj4fANy0cVj8mJZbirOT 1GQfgmdzFuIJomnfkZfQ9Q78AICxbT1Tatnk3Vk5E/ESrGdBQF3yhli8DMoxOzoskxIk QHHUtaR6IUHPEgVWBO0Iyke0HWY0K5zQ3tuM0qaiD5T52LBz9oWyPfQDWBBTu8whLc4l BVKoIyHcwztVdNGr6ZlisEZ5oOwcbkZwMPMJOMmJjO5yb9UdWUJYnK5rplmB/JcV1miT epVA== X-Forwarded-Encrypted: i=1; AJvYcCW3ajK99OsoQBkZBpRPTK270UXToWInEyeTAHgv2ojVdmfbJtPdCVP/n5JYAENRZp5or+KTOFFi5I9cML+9@vger.kernel.org, AJvYcCWEUK0qyNLNpUYyRrqlNQg2k7SgR6P80ikCdYx00idiJO2oAGoYWA0Kmk1nNieAW6TAUQ2sqFOAXOQ=@vger.kernel.org X-Gm-Message-State: AOJu0Yy8to0C84+YCn1QdkkSpehuAJBYAuiEtxu+mSVDCOFdqzRHZyx0 7cEW56R0EkdFbhqW3ezxAsnAIwBAgTPh0BjvVtHiOzMy8W6rtMtlqQo+ X-Gm-Gg: ASbGncupfq+eqbJnpyGdxqYluXNj5A2vdLW7tfsF9gKtp1hEafBmx2h52Za0Q4vkxn4 6NXFFnl9jaRv5oYgt2U5UQfAa34QqmNbm0rIzUuyZUo82avKExCV/3MjCS5l/dncSNMF/FMzaug 0c5OtF3pVbMo2sB4bO5EQSvo8P9S+CKANVj3LMbznnvfw0GauPYZhSyyQFOEp0tNcBlCT9cVCnT KYYOauj0eL0oohgutmtW3aYCkwlsWBTZoXt7xmn3GKnzOOtvNnOpi2340F0WNzbjyQD5fY5LPYD Ccv/N7sTq6vYWI+HkqhW38eg8ChRNLfMoQ1uVhFxdwq1eUsbeZQjjhC8SpDu8RkzLY22+UyM X-Google-Smtp-Source: AGHT+IGMDnnMIp1PruaSG65JY1zmOfV/4m3eto6pT076GWvEARJHtobguBVgox12705Lz7dwnryyKg== X-Received: by 2002:a2e:bc0e:0:b0:32a:7f39:1a2a with SMTP id 38308e7fff4ca-32b3ea82cfcmr9354391fa.16.1749825371249; Fri, 13 Jun 2025 07:36:11 -0700 (PDT) Received: from localhost.localdomain ([89.22.142.19]) by smtp.gmail.com with ESMTPSA id 38308e7fff4ca-32b331c94ffsm5586411fa.94.2025.06.13.07.36.09 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 13 Jun 2025 07:36:10 -0700 (PDT) From: Alexander Kochetkov To: Vinod Koul , dmaengine@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Nishad Saraf , Lizhi Hou , Jacky Huang , Shan-Chun Hung , Florian Fainelli , Ray Jui , Scott Branden , Lars-Peter Clausen , Paul Cercueil , Eugeniy Paltsev , Manivannan Sadhasivam , Frank Li , Zhou Wang , Longfang Liu , Andy Shevchenko , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , Keguang Zhang , Sean Wang , Matthias Brugger , AngeloGioacchino Del Regno , =?UTF-8?q?Andreas=20F=C3=A4rber?= , Daniel Mack , Haojian Zhuang , Robert Jarzmik , Paul Walmsley , Samuel Holland , Orson Zhai , Baolin Wang , Chunyan Zhang , Patrice Chotard , =?UTF-8?q?Am=C3=A9lie=20Delaunay?= , Maxime Coquelin , Alexandre Torgue , Chen-Yu Tsai , Jernej Skrabec , Laxman Dewangan , Jon Hunter , Thierry Reding , Peter Ujfalusi , Kunihiko Hayashi , Masami Hiramatsu , Dave Jiang , Amit Vadhavana , =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= , Ulf Hansson , Md Sadre Alam , Alexander Kochetkov , Casey Connolly , Kees Cook , Fenghua Yu , Jyothi Kumar Seerapu Subject: [PATCH 0/1] dmaengine: virt-dma: convert tasklet to BH workqueue for callback invocation Date: Fri, 13 Jun 2025 14:34:43 +0000 Message-ID: <20250613143605.5748-1-al.kochet@gmail.com> X-Mailer: git-send-email 2.43.0 Precedence: bulk X-Mailing-List: dmaengine@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit 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