diff mbox series

[RESEND,v2] hwmon: (dell-smm) Rework SMM function debugging

Message ID 20210814190516.26718-1-W_Armin@gmx.de (mailing list archive)
State Accepted
Headers show
Series [RESEND,v2] hwmon: (dell-smm) Rework SMM function debugging | expand

Commit Message

Armin Wolf Aug. 14, 2021, 7:05 p.m. UTC
From: Armin Wolf <W_Armin@gmx.de>

Drop #ifdef DEBUG and use ktime_us_delta()
for improved precision.

Signed-off-by: Armin Wolf <W_Armin@gmx.de>
---
Changes in v2:
- remove #ifdef DEBUG completly
- init each variable at one line
---
 drivers/hwmon/dell-smm-hwmon.c | 21 ++++++---------------
 1 file changed, 6 insertions(+), 15 deletions(-)

--
2.20.1

Comments

Pali Rohár Aug. 15, 2021, 10:11 a.m. UTC | #1
On Saturday 14 August 2021 21:05:16 W_Armin@gmx.de wrote:
> From: Armin Wolf <W_Armin@gmx.de>
> 
> Drop #ifdef DEBUG and use ktime_us_delta()
> for improved precision.
> 
> Signed-off-by: Armin Wolf <W_Armin@gmx.de>

Looks good,

Reviewed-by: Pali Rohár <pali@kernel.org>

> ---
> Changes in v2:
> - remove #ifdef DEBUG completly
> - init each variable at one line
> ---
>  drivers/hwmon/dell-smm-hwmon.c | 21 ++++++---------------
>  1 file changed, 6 insertions(+), 15 deletions(-)
> 
> diff --git a/drivers/hwmon/dell-smm-hwmon.c b/drivers/hwmon/dell-smm-hwmon.c
> index 68af95c1d90c..25fac796fc86 100644
> --- a/drivers/hwmon/dell-smm-hwmon.c
> +++ b/drivers/hwmon/dell-smm-hwmon.c
> @@ -158,17 +158,12 @@ static inline const char __init *i8k_get_dmi_data(int field)
>   */
>  static int i8k_smm_func(void *par)
>  {
> -	int rc;
> +	ktime_t calltime = ktime_get();
>  	struct smm_regs *regs = par;
>  	int eax = regs->eax;
> -
> -#ifdef DEBUG
>  	int ebx = regs->ebx;
> -	unsigned long duration;
> -	ktime_t calltime, delta, rettime;
> -
> -	calltime = ktime_get();
> -#endif
> +	long long duration;
> +	int rc;
> 
>  	/* SMM requires CPU 0 */
>  	if (smp_processor_id() != 0)
> @@ -230,13 +225,9 @@ static int i8k_smm_func(void *par)
>  	if (rc != 0 || (regs->eax & 0xffff) == 0xffff || regs->eax == eax)
>  		rc = -EINVAL;
> 
> -#ifdef DEBUG
> -	rettime = ktime_get();
> -	delta = ktime_sub(rettime, calltime);
> -	duration = ktime_to_ns(delta) >> 10;
> -	pr_debug("smm(0x%.4x 0x%.4x) = 0x%.4x  (took %7lu usecs)\n", eax, ebx,
> -		(rc ? 0xffff : regs->eax & 0xffff), duration);
> -#endif
> +	duration = ktime_us_delta(ktime_get(), calltime);
> +	pr_debug("smm(0x%.4x 0x%.4x) = 0x%.4x  (took %7lld usecs)\n", eax, ebx,
> +		 (rc ? 0xffff : regs->eax & 0xffff), duration);
> 
>  	return rc;
>  }
> --
> 2.20.1
>
Guenter Roeck Aug. 15, 2021, 11:40 a.m. UTC | #2
On Sat, Aug 14, 2021 at 09:05:16PM +0200, W_Armin@gmx.de wrote:
> From: Armin Wolf <W_Armin@gmx.de>
> 
> Drop #ifdef DEBUG and use ktime_us_delta()
> for improved precision.
> 
> Signed-off-by: Armin Wolf <W_Armin@gmx.de>
> Reviewed-by: Pali Rohár <pali@kernel.org>

Applied.

Thanks,
Guenter

> ---
> Changes in v2:
> - remove #ifdef DEBUG completly
> - init each variable at one line
> ---
>  drivers/hwmon/dell-smm-hwmon.c | 21 ++++++---------------
>  1 file changed, 6 insertions(+), 15 deletions(-)
> 
> --
> 2.20.1
> 
> diff --git a/drivers/hwmon/dell-smm-hwmon.c b/drivers/hwmon/dell-smm-hwmon.c
> index 68af95c1d90c..25fac796fc86 100644
> --- a/drivers/hwmon/dell-smm-hwmon.c
> +++ b/drivers/hwmon/dell-smm-hwmon.c
> @@ -158,17 +158,12 @@ static inline const char __init *i8k_get_dmi_data(int field)
>   */
>  static int i8k_smm_func(void *par)
>  {
> -	int rc;
> +	ktime_t calltime = ktime_get();
>  	struct smm_regs *regs = par;
>  	int eax = regs->eax;
> -
> -#ifdef DEBUG
>  	int ebx = regs->ebx;
> -	unsigned long duration;
> -	ktime_t calltime, delta, rettime;
> -
> -	calltime = ktime_get();
> -#endif
> +	long long duration;
> +	int rc;
> 
>  	/* SMM requires CPU 0 */
>  	if (smp_processor_id() != 0)
> @@ -230,13 +225,9 @@ static int i8k_smm_func(void *par)
>  	if (rc != 0 || (regs->eax & 0xffff) == 0xffff || regs->eax == eax)
>  		rc = -EINVAL;
> 
> -#ifdef DEBUG
> -	rettime = ktime_get();
> -	delta = ktime_sub(rettime, calltime);
> -	duration = ktime_to_ns(delta) >> 10;
> -	pr_debug("smm(0x%.4x 0x%.4x) = 0x%.4x  (took %7lu usecs)\n", eax, ebx,
> -		(rc ? 0xffff : regs->eax & 0xffff), duration);
> -#endif
> +	duration = ktime_us_delta(ktime_get(), calltime);
> +	pr_debug("smm(0x%.4x 0x%.4x) = 0x%.4x  (took %7lld usecs)\n", eax, ebx,
> +		 (rc ? 0xffff : regs->eax & 0xffff), duration);
> 
>  	return rc;
>  }
diff mbox series

Patch

diff --git a/drivers/hwmon/dell-smm-hwmon.c b/drivers/hwmon/dell-smm-hwmon.c
index 68af95c1d90c..25fac796fc86 100644
--- a/drivers/hwmon/dell-smm-hwmon.c
+++ b/drivers/hwmon/dell-smm-hwmon.c
@@ -158,17 +158,12 @@  static inline const char __init *i8k_get_dmi_data(int field)
  */
 static int i8k_smm_func(void *par)
 {
-	int rc;
+	ktime_t calltime = ktime_get();
 	struct smm_regs *regs = par;
 	int eax = regs->eax;
-
-#ifdef DEBUG
 	int ebx = regs->ebx;
-	unsigned long duration;
-	ktime_t calltime, delta, rettime;
-
-	calltime = ktime_get();
-#endif
+	long long duration;
+	int rc;

 	/* SMM requires CPU 0 */
 	if (smp_processor_id() != 0)
@@ -230,13 +225,9 @@  static int i8k_smm_func(void *par)
 	if (rc != 0 || (regs->eax & 0xffff) == 0xffff || regs->eax == eax)
 		rc = -EINVAL;

-#ifdef DEBUG
-	rettime = ktime_get();
-	delta = ktime_sub(rettime, calltime);
-	duration = ktime_to_ns(delta) >> 10;
-	pr_debug("smm(0x%.4x 0x%.4x) = 0x%.4x  (took %7lu usecs)\n", eax, ebx,
-		(rc ? 0xffff : regs->eax & 0xffff), duration);
-#endif
+	duration = ktime_us_delta(ktime_get(), calltime);
+	pr_debug("smm(0x%.4x 0x%.4x) = 0x%.4x  (took %7lld usecs)\n", eax, ebx,
+		 (rc ? 0xffff : regs->eax & 0xffff), duration);

 	return rc;
 }