public inbox for linux-edac@vger.kernel.org
 help / color / mirror / Atom feed
From: Borislav Petkov <bp@alien8.de>
To: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
Cc: andersson@kernel.org, robh+dt@kernel.org,
	krzysztof.kozlowski+dt@linaro.org, tony.luck@intel.com,
	quic_saipraka@quicinc.com, konrad.dybcio@linaro.org,
	linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org,
	james.morse@arm.com, mchehab@kernel.org, rric@kernel.org,
	linux-edac@vger.kernel.org, quic_ppareek@quicinc.com,
	luca.weiss@fairphone.com, ahalaney@redhat.com, steev@kali.org,
	stable@vger.kernel.org
Subject: Re: [PATCH v5 01/17] EDAC/device: Make use of poll_msec value in edac_device_ctl_info struct
Date: Wed, 28 Dec 2022 12:17:45 +0100	[thread overview]
Message-ID: <Y6wl2fhbg3emlyKd@zn.tnic> (raw)
In-Reply-To: <20221228084028.46528-2-manivannan.sadhasivam@linaro.org>

On Wed, Dec 28, 2022 at 02:10:12PM +0530, Manivannan Sadhasivam wrote:
> The EDAC drivers may optionally pass the poll_msec value. Use that value if
> available, else fall back to 1000ms.

Use this version for your next submission pls:

---
From: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
Date: Wed, 28 Dec 2022 14:10:12 +0530
Subject: [PATCH] EDAC/device: Respect any driver-supplied workqueue polling value

The EDAC drivers may optionally pass the poll_msec value. Use that value
if available, else fall back to 1000ms.

  [ bp: Touchups. ]

Fixes: e27e3dac6517 ("drivers/edac: add edac_device class")
Reported-by: Luca Weiss <luca.weiss@fairphone.com>
Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
Signed-off-by: Borislav Petkov (AMD) <bp@alien8.de>
Tested-by: Steev Klimaszewski <steev@kali.org> # Thinkpad X13s
Tested-by: Andrew Halaney <ahalaney@redhat.com> # sa8540p-ride
Cc: <stable@vger.kernel.org> # 4.9
Link: https://lore.kernel.org/r/COZYL8MWN97H.MROQ391BGA09@otso
---
 drivers/edac/edac_device.c | 15 +++++++--------
 1 file changed, 7 insertions(+), 8 deletions(-)

diff --git a/drivers/edac/edac_device.c b/drivers/edac/edac_device.c
index 19522c568aa5..a50b7bcfb731 100644
--- a/drivers/edac/edac_device.c
+++ b/drivers/edac/edac_device.c
@@ -34,6 +34,9 @@
 static DEFINE_MUTEX(device_ctls_mutex);
 static LIST_HEAD(edac_device_list);
 
+/* Default workqueue processing interval on this instance, in msecs */
+#define DEFAULT_POLL_INTERVAL 1000
+
 #ifdef CONFIG_EDAC_DEBUG
 static void edac_device_dump_device(struct edac_device_ctl_info *edac_dev)
 {
@@ -336,7 +339,7 @@ static void edac_device_workq_function(struct work_struct *work_req)
 	 * whole one second to save timers firing all over the period
 	 * between integral seconds
 	 */
-	if (edac_dev->poll_msec == 1000)
+	if (edac_dev->poll_msec == DEFAULT_POLL_INTERVAL)
 		edac_queue_work(&edac_dev->work, round_jiffies_relative(edac_dev->delay));
 	else
 		edac_queue_work(&edac_dev->work, edac_dev->delay);
@@ -366,7 +369,7 @@ static void edac_device_workq_setup(struct edac_device_ctl_info *edac_dev,
 	 * timers firing on sub-second basis, while they are happy
 	 * to fire together on the 1 second exactly
 	 */
-	if (edac_dev->poll_msec == 1000)
+	if (edac_dev->poll_msec == DEFAULT_POLL_INTERVAL)
 		edac_queue_work(&edac_dev->work, round_jiffies_relative(edac_dev->delay));
 	else
 		edac_queue_work(&edac_dev->work, edac_dev->delay);
@@ -398,7 +401,7 @@ void edac_device_reset_delay_period(struct edac_device_ctl_info *edac_dev,
 {
 	unsigned long jiffs = msecs_to_jiffies(value);
 
-	if (value == 1000)
+	if (value == DEFAULT_POLL_INTERVAL)
 		jiffs = round_jiffies_relative(value);
 
 	edac_dev->poll_msec = value;
@@ -443,11 +446,7 @@ int edac_device_add_device(struct edac_device_ctl_info *edac_dev)
 		/* This instance is NOW RUNNING */
 		edac_dev->op_state = OP_RUNNING_POLL;
 
-		/*
-		 * enable workq processing on this instance,
-		 * default = 1000 msec
-		 */
-		edac_device_workq_setup(edac_dev, 1000);
+		edac_device_workq_setup(edac_dev, edac_dev->poll_msec ?: DEFAULT_POLL_INTERVAL);
 	} else {
 		edac_dev->op_state = OP_RUNNING_INTERRUPT;
 	}
-- 
2.35.1

-- 
Regards/Gruss,
    Boris.

https://people.kernel.org/tglx/notes-about-netiquette

  reply	other threads:[~2022-12-28 11:17 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-12-28  8:40 [PATCH v5 00/17] Qcom: LLCC/EDAC: Fix base address used for LLCC banks Manivannan Sadhasivam
2022-12-28  8:40 ` [PATCH v5 01/17] EDAC/device: Make use of poll_msec value in edac_device_ctl_info struct Manivannan Sadhasivam
2022-12-28 11:17   ` Borislav Petkov [this message]
2022-12-28  8:40 ` [PATCH v5 02/17] EDAC/qcom: Add platform_device_id table for module autoloading Manivannan Sadhasivam
2022-12-28 11:54   ` Borislav Petkov
2022-12-28  8:40 ` [PATCH v5 03/17] EDAC/qcom: Do not pass llcc_driv_data as edac_device_ctl_info's pvt_info Manivannan Sadhasivam
2022-12-28 11:58   ` Borislav Petkov
2022-12-28  8:40 ` [PATCH v5 04/17] dt-bindings: arm: msm: Update the maintainers for LLCC Manivannan Sadhasivam
2022-12-28  8:40 ` [PATCH v5 05/17] dt-bindings: arm: msm: Fix register regions used for LLCC banks Manivannan Sadhasivam
2022-12-28  8:40 ` [PATCH v5 06/17] arm64: dts: qcom: sdm845: Fix the base addresses of " Manivannan Sadhasivam
2022-12-28  8:40 ` [PATCH v5 07/17] arm64: dts: qcom: sc7180: " Manivannan Sadhasivam
2022-12-28  8:40 ` [PATCH v5 08/17] arm64: dts: qcom: sc7280: " Manivannan Sadhasivam
2022-12-28  8:40 ` [PATCH v5 09/17] arm64: dts: qcom: sc8280xp: " Manivannan Sadhasivam
2022-12-28  8:40 ` [PATCH v5 10/17] arm64: dts: qcom: sm8150: " Manivannan Sadhasivam
2022-12-28  8:40 ` [PATCH v5 11/17] arm64: dts: qcom: sm8250: " Manivannan Sadhasivam
2022-12-28  8:40 ` [PATCH v5 12/17] arm64: dts: qcom: sm8350: " Manivannan Sadhasivam
2022-12-28  8:40 ` [PATCH v5 13/17] arm64: dts: qcom: sm8450: " Manivannan Sadhasivam
2022-12-28  8:40 ` [PATCH v5 14/17] arm64: dts: qcom: sm6350: " Manivannan Sadhasivam
2022-12-28  8:40 ` [PATCH v5 15/17] qcom: llcc/edac: Fix the base address used for accessing " Manivannan Sadhasivam
2023-01-14 13:27   ` Borislav Petkov
2023-01-15  4:01     ` Manivannan Sadhasivam
2022-12-28  8:40 ` [PATCH v5 16/17] qcom: llcc/edac: Support polling mode for ECC handling Manivannan Sadhasivam
2023-01-14 13:36   ` Borislav Petkov
2023-01-15  4:08     ` Manivannan Sadhasivam
2023-01-16 10:41       ` Borislav Petkov
2023-01-18 15:08         ` Manivannan Sadhasivam
2022-12-28  8:40 ` [PATCH v5 17/17] soc: qcom: llcc: Do not create EDAC platform device on SDM845 Manivannan Sadhasivam
2022-12-28 10:36 ` [PATCH v5 00/17] Qcom: LLCC/EDAC: Fix base address used for LLCC banks Borislav Petkov
2022-12-28 16:47   ` Manivannan Sadhasivam
2022-12-28 17:55     ` Borislav Petkov
2023-01-02 17:30       ` Manivannan Sadhasivam
2023-01-14  7:12         ` Manivannan Sadhasivam

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=Y6wl2fhbg3emlyKd@zn.tnic \
    --to=bp@alien8.de \
    --cc=ahalaney@redhat.com \
    --cc=andersson@kernel.org \
    --cc=james.morse@arm.com \
    --cc=konrad.dybcio@linaro.org \
    --cc=krzysztof.kozlowski+dt@linaro.org \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-edac@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=luca.weiss@fairphone.com \
    --cc=manivannan.sadhasivam@linaro.org \
    --cc=mchehab@kernel.org \
    --cc=quic_ppareek@quicinc.com \
    --cc=quic_saipraka@quicinc.com \
    --cc=robh+dt@kernel.org \
    --cc=rric@kernel.org \
    --cc=stable@vger.kernel.org \
    --cc=steev@kali.org \
    --cc=tony.luck@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox