* [PATCH v3 0/2] Converge on secs_to_jiffies()
@ 2024-10-30 17:47 Easwar Hariharan
2024-10-30 17:47 ` [PATCH v3 1/2] jiffies: Define secs_to_jiffies() Easwar Hariharan
2024-10-30 17:47 ` [PATCH v3 2/2] drivers: hv: Convert open-coded timeouts to secs_to_jiffies() Easwar Hariharan
0 siblings, 2 replies; 8+ messages in thread
From: Easwar Hariharan @ 2024-10-30 17:47 UTC (permalink / raw)
To: K. Y. Srinivasan, Haiyang Zhang, Wei Liu, Dexuan Cui,
linux-hyperv, Anna-Maria Behnsen, Thomas Gleixner,
Geert Uytterhoeven, Marcel Holtmann, Johan Hedberg,
Luiz Augusto von Dentz, linux-bluetooth, linux-kernel,
Praveen Kumar, Naman Jain
Cc: Michael Kelley, Easwar Hariharan, Luiz Augusto von Dentz
There are ~1150 call sites for msecs_to_jiffies() that:
- Use a multiplier of 1000, or MSEC_PER_SEC, or
- have timeouts that are denominated in seconds, i.e. end in 000
There are yet more sites that use (secs * HZ). Provide secs_to_jiffies()
as a new member of the *_to_jiffies() family and convert a few instances
as a first user.
Signed-off-by: Easwar Hariharan <eahariha@linux.microsoft.com>
---
changelog:
v3:
- Pickup Reviewed-by tag from Luiz Augusto von Dentz
- Add kernel doc comment for secs_to_jiffies() (tglx)
- secs_to_jiffies() is defined as a macro rather than a static inline
function due to its potential usage in struct initializers, where it
wouldn't work per Geert (documentation in changelog requested per tglx)
v2: https://lore.kernel.org/r/20241028-open-coded-timeouts-v2-0-c7294bb845a1@linux.microsoft.com
- Add a cover letter
- Define secs_to_jiffies(s) as (s * HZ) instead of msecs_to_jiffies(s * MSEC_PER_SEC) (Anna-Maria)
v1: https://lore.kernel.org/all/20241022185353.2080021-1-eahariha@linux.microsoft.com/
- Move secs_to_jiffies in include/linux/jiffies.h
- Use secs_to_jiffies in drivers/hv
RFC: https://lore.kernel.org/all/20241016223730.531861-1-eahariha@linux.microsoft.com/
- Convert open coded timeouts (secs * HZ) in drivers/hv to msecs_to_jiffies()
---
Easwar Hariharan (2):
jiffies: Define secs_to_jiffies()
drivers: hv: Convert open-coded timeouts to secs_to_jiffies()
drivers/hv/hv_balloon.c | 9 +++++----
drivers/hv/hv_kvp.c | 4 ++--
drivers/hv/hv_snapshot.c | 3 ++-
drivers/hv/vmbus_drv.c | 2 +-
include/linux/jiffies.h | 12 ++++++++++++
net/bluetooth/hci_event.c | 2 --
6 files changed, 22 insertions(+), 10 deletions(-)
---
base-commit: 81983758430957d9a5cb3333fe324fd70cf63e7e
change-id: 20241028-open-coded-timeouts-6dc7cbb6572d
Best regards,
--
Easwar Hariharan <eahariha@linux.microsoft.com>
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH v3 1/2] jiffies: Define secs_to_jiffies()
2024-10-30 17:47 [PATCH v3 0/2] Converge on secs_to_jiffies() Easwar Hariharan
@ 2024-10-30 17:47 ` Easwar Hariharan
2024-10-31 15:54 ` Haiyang Zhang
2024-10-30 17:47 ` [PATCH v3 2/2] drivers: hv: Convert open-coded timeouts to secs_to_jiffies() Easwar Hariharan
1 sibling, 1 reply; 8+ messages in thread
From: Easwar Hariharan @ 2024-10-30 17:47 UTC (permalink / raw)
To: K. Y. Srinivasan, Haiyang Zhang, Wei Liu, Dexuan Cui,
linux-hyperv, Anna-Maria Behnsen, Thomas Gleixner,
Geert Uytterhoeven, Marcel Holtmann, Johan Hedberg,
Luiz Augusto von Dentz, linux-bluetooth, linux-kernel,
Praveen Kumar, Naman Jain
Cc: Michael Kelley, Easwar Hariharan, Luiz Augusto von Dentz
secs_to_jiffies() is defined in hci_event.c and cannot be reused by
other call sites. Hoist it into the core code to allow conversion of the
~1150 usages of msecs_to_jiffies() that either:
- use a multiplier value of 1000 or equivalently MSEC_PER_SEC, or
- have timeouts that are denominated in seconds (i.e. end in 000)
This will also allow conversion of yet more sites that use (sec * HZ)
directly, and improve their readability.
TO: K. Y. Srinivasan <kys@microsoft.com>
TO: Haiyang Zhang <haiyangz@microsoft.com>
TO: Wei Liu <wei.liu@kernel.org>
TO: Dexuan Cui <decui@microsoft.com>
TO: linux-hyperv@vger.kernel.org
TO: Anna-Maria Behnsen <anna-maria@linutronix.de>
TO: Thomas Gleixner <tglx@linutronix.de>
TO: Geert Uytterhoeven <geert@linux-m68k.org>
TO: Marcel Holtmann <marcel@holtmann.org>
TO: Johan Hedberg <johan.hedberg@gmail.com>
TO: Luiz Augusto von Dentz <luiz.dentz@gmail.com>
TO: linux-bluetooth@vger.kernel.org
TO: linux-kernel@vger.kernel.org
Suggested-by: Michael Kelley <mhklinux@outlook.com>
Reviewed-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
Signed-off-by: Easwar Hariharan <eahariha@linux.microsoft.com>
---
include/linux/jiffies.h | 12 ++++++++++++
net/bluetooth/hci_event.c | 2 --
2 files changed, 12 insertions(+), 2 deletions(-)
diff --git a/include/linux/jiffies.h b/include/linux/jiffies.h
index 1220f0fbe5bf9fb6c559b4efd603db3e97db9b65..e17c220ed56e587fd55fb9cf4a133a53588af940 100644
--- a/include/linux/jiffies.h
+++ b/include/linux/jiffies.h
@@ -526,6 +526,18 @@ static __always_inline unsigned long msecs_to_jiffies(const unsigned int m)
}
}
+/**
+ * secs_to_jiffies: - convert seconds to jiffies
+ * @_secs: time in seconds
+ *
+ * Conversion is done by simple multiplication with HZ
+ * secs_to_jiffies() is defined as a macro rather than a static inline
+ * function due to its potential application in struct initializers.
+ *
+ * Return: jiffies value
+ */
+#define secs_to_jiffies(_secs) ((_secs) * HZ)
+
extern unsigned long __usecs_to_jiffies(const unsigned int u);
#if !(USEC_PER_SEC % HZ)
static inline unsigned long _usecs_to_jiffies(const unsigned int u)
diff --git a/net/bluetooth/hci_event.c b/net/bluetooth/hci_event.c
index 0bbad90ddd6f87e87c03859bae48a7901d39b634..7b35c58bbbeb79f2b50a02212771fb283ba5643d 100644
--- a/net/bluetooth/hci_event.c
+++ b/net/bluetooth/hci_event.c
@@ -42,8 +42,6 @@
#define ZERO_KEY "\x00\x00\x00\x00\x00\x00\x00\x00" \
"\x00\x00\x00\x00\x00\x00\x00\x00"
-#define secs_to_jiffies(_secs) msecs_to_jiffies((_secs) * 1000)
-
/* Handle HCI Event packets */
static void *hci_ev_skb_pull(struct hci_dev *hdev, struct sk_buff *skb,
--
2.34.1
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH v3 2/2] drivers: hv: Convert open-coded timeouts to secs_to_jiffies()
2024-10-30 17:47 [PATCH v3 0/2] Converge on secs_to_jiffies() Easwar Hariharan
2024-10-30 17:47 ` [PATCH v3 1/2] jiffies: Define secs_to_jiffies() Easwar Hariharan
@ 2024-10-30 17:47 ` Easwar Hariharan
2024-10-31 2:03 ` Michael Kelley
2024-12-07 7:52 ` Wei Liu
1 sibling, 2 replies; 8+ messages in thread
From: Easwar Hariharan @ 2024-10-30 17:47 UTC (permalink / raw)
To: K. Y. Srinivasan, Haiyang Zhang, Wei Liu, Dexuan Cui,
linux-hyperv, Anna-Maria Behnsen, Thomas Gleixner,
Geert Uytterhoeven, Marcel Holtmann, Johan Hedberg,
Luiz Augusto von Dentz, linux-bluetooth, linux-kernel,
Praveen Kumar, Naman Jain
Cc: Michael Kelley, Easwar Hariharan
We have several places where timeouts are open-coded as N (seconds) * HZ,
but best practice is to use the utility functions from jiffies.h. Convert
the timeouts to be compliant. This doesn't fix any bugs, it's a simple code
improvement.
TO: "K. Y. Srinivasan" <kys@microsoft.com>
TO: Haiyang Zhang <haiyangz@microsoft.com>
TO: Wei Liu <wei.liu@kernel.org>
TO: Dexuan Cui <decui@microsoft.com>
TO: linux-hyperv@vger.kernel.org
TO: Anna-Maria Behnsen <anna-maria@linutronix.de>
TO: Thomas Gleixner <tglx@linutronix.de>
TO: Geert Uytterhoeven <geert@linux-m68k.org>
TO: Marcel Holtmann <marcel@holtmann.org>
TO: Johan Hedberg <johan.hedberg@gmail.com>
TO: Luiz Augusto von Dentz <luiz.dentz@gmail.com>
TO: linux-bluetooth@vger.kernel.org
TO: linux-kernel@vger.kernel.org
CC: Michael Kelley <mhklinux@outlook.com>
Signed-off-by: Easwar Hariharan <eahariha@linux.microsoft.com>
---
drivers/hv/hv_balloon.c | 9 +++++----
drivers/hv/hv_kvp.c | 4 ++--
drivers/hv/hv_snapshot.c | 3 ++-
drivers/hv/vmbus_drv.c | 2 +-
4 files changed, 10 insertions(+), 8 deletions(-)
diff --git a/drivers/hv/hv_balloon.c b/drivers/hv/hv_balloon.c
index c38dcdfcb914dcc3515be100cba0beb4a3f9b975..a99112e6f0b8534cf5c8c963e343019061bd34f6 100644
--- a/drivers/hv/hv_balloon.c
+++ b/drivers/hv/hv_balloon.c
@@ -756,7 +756,7 @@ static void hv_mem_hot_add(unsigned long start, unsigned long size,
* adding succeeded, it is ok to proceed even if the memory was
* not onlined in time.
*/
- wait_for_completion_timeout(&dm_device.ol_waitevent, 5 * HZ);
+ wait_for_completion_timeout(&dm_device.ol_waitevent, secs_to_jiffies(5));
post_status(&dm_device);
}
}
@@ -1373,7 +1373,8 @@ static int dm_thread_func(void *dm_dev)
struct hv_dynmem_device *dm = dm_dev;
while (!kthread_should_stop()) {
- wait_for_completion_interruptible_timeout(&dm_device.config_event, 1 * HZ);
+ wait_for_completion_interruptible_timeout(&dm_device.config_event,
+ secs_to_jiffies(1));
/*
* The host expects us to post information on the memory
* pressure every second.
@@ -1748,7 +1749,7 @@ static int balloon_connect_vsp(struct hv_device *dev)
if (ret)
goto out;
- t = wait_for_completion_timeout(&dm_device.host_event, 5 * HZ);
+ t = wait_for_completion_timeout(&dm_device.host_event, secs_to_jiffies(5));
if (t == 0) {
ret = -ETIMEDOUT;
goto out;
@@ -1806,7 +1807,7 @@ static int balloon_connect_vsp(struct hv_device *dev)
if (ret)
goto out;
- t = wait_for_completion_timeout(&dm_device.host_event, 5 * HZ);
+ t = wait_for_completion_timeout(&dm_device.host_event, secs_to_jiffies(5));
if (t == 0) {
ret = -ETIMEDOUT;
goto out;
diff --git a/drivers/hv/hv_kvp.c b/drivers/hv/hv_kvp.c
index d35b60c0611486c8c909d2f8f7c730ff913df30d..29e01247a0870fdb9eebd92bdd16fd371450240c 100644
--- a/drivers/hv/hv_kvp.c
+++ b/drivers/hv/hv_kvp.c
@@ -655,7 +655,7 @@ void hv_kvp_onchannelcallback(void *context)
if (host_negotiatied == NEGO_NOT_STARTED) {
host_negotiatied = NEGO_IN_PROGRESS;
schedule_delayed_work(&kvp_host_handshake_work,
- HV_UTIL_NEGO_TIMEOUT * HZ);
+ secs_to_jiffies(HV_UTIL_NEGO_TIMEOUT));
}
return;
}
@@ -724,7 +724,7 @@ void hv_kvp_onchannelcallback(void *context)
*/
schedule_work(&kvp_sendkey_work);
schedule_delayed_work(&kvp_timeout_work,
- HV_UTIL_TIMEOUT * HZ);
+ secs_to_jiffies(HV_UTIL_TIMEOUT));
return;
diff --git a/drivers/hv/hv_snapshot.c b/drivers/hv/hv_snapshot.c
index 0d2184be16912559a8cfa784c762e6418ebd3279..86d87486ed40b3ca9f6674650e5a86a7184e2fa6 100644
--- a/drivers/hv/hv_snapshot.c
+++ b/drivers/hv/hv_snapshot.c
@@ -193,7 +193,8 @@ static void vss_send_op(void)
vss_transaction.state = HVUTIL_USERSPACE_REQ;
schedule_delayed_work(&vss_timeout_work, op == VSS_OP_FREEZE ?
- VSS_FREEZE_TIMEOUT * HZ : HV_UTIL_TIMEOUT * HZ);
+ secs_to_jiffies(VSS_FREEZE_TIMEOUT) :
+ secs_to_jiffies(HV_UTIL_TIMEOUT));
rc = hvutil_transport_send(hvt, vss_msg, sizeof(*vss_msg), NULL);
if (rc) {
diff --git a/drivers/hv/vmbus_drv.c b/drivers/hv/vmbus_drv.c
index 9b15f7daf5059750e17ea3607b52dee967c1c059..7db30881e83ad4b406413641413d68329fc663e2 100644
--- a/drivers/hv/vmbus_drv.c
+++ b/drivers/hv/vmbus_drv.c
@@ -2507,7 +2507,7 @@ static int vmbus_bus_resume(struct device *dev)
vmbus_request_offers();
if (wait_for_completion_timeout(
- &vmbus_connection.ready_for_resume_event, 10 * HZ) == 0)
+ &vmbus_connection.ready_for_resume_event, secs_to_jiffies(10)) == 0)
pr_err("Some vmbus device is missing after suspending?\n");
/* Reset the event for the next suspend. */
--
2.34.1
^ permalink raw reply related [flat|nested] 8+ messages in thread
* RE: [PATCH v3 2/2] drivers: hv: Convert open-coded timeouts to secs_to_jiffies()
2024-10-30 17:47 ` [PATCH v3 2/2] drivers: hv: Convert open-coded timeouts to secs_to_jiffies() Easwar Hariharan
@ 2024-10-31 2:03 ` Michael Kelley
2024-12-07 7:52 ` Wei Liu
1 sibling, 0 replies; 8+ messages in thread
From: Michael Kelley @ 2024-10-31 2:03 UTC (permalink / raw)
To: Easwar Hariharan, K. Y. Srinivasan, Haiyang Zhang, Wei Liu,
Dexuan Cui, linux-hyperv@vger.kernel.org, Anna-Maria Behnsen,
Thomas Gleixner, Geert Uytterhoeven, Marcel Holtmann,
Johan Hedberg, Luiz Augusto von Dentz,
linux-bluetooth@vger.kernel.org, linux-kernel@vger.kernel.org,
Praveen Kumar, Naman Jain
From: Easwar Hariharan <eahariha@linux.microsoft.com> Sent: Wednesday, October 30, 2024 10:48 AM
>
> We have several places where timeouts are open-coded as N (seconds) * HZ,
> but best practice is to use the utility functions from jiffies.h. Convert
> the timeouts to be compliant. This doesn't fix any bugs, it's a simple code
> improvement.
>
> TO: "K. Y. Srinivasan" <kys@microsoft.com>
> TO: Haiyang Zhang <haiyangz@microsoft.com>
> TO: Wei Liu <wei.liu@kernel.org>
> TO: Dexuan Cui <decui@microsoft.com>
> TO: linux-hyperv@vger.kernel.org
> TO: Anna-Maria Behnsen <anna-maria@linutronix.de>
> TO: Thomas Gleixner <tglx@linutronix.de>
> TO: Geert Uytterhoeven <geert@linux-m68k.org>
> TO: Marcel Holtmann <marcel@holtmann.org>
> TO: Johan Hedberg <johan.hedberg@gmail.com>
> TO: Luiz Augusto von Dentz <luiz.dentz@gmail.com>
> TO: linux-bluetooth@vger.kernel.org
> TO: linux-kernel@vger.kernel.org
> CC: Michael Kelley <mhklinux@outlook.com>
> Signed-off-by: Easwar Hariharan <eahariha@linux.microsoft.com>
> ---
> drivers/hv/hv_balloon.c | 9 +++++----
> drivers/hv/hv_kvp.c | 4 ++--
> drivers/hv/hv_snapshot.c | 3 ++-
> drivers/hv/vmbus_drv.c | 2 +-
> 4 files changed, 10 insertions(+), 8 deletions(-)
>
> diff --git a/drivers/hv/hv_balloon.c b/drivers/hv/hv_balloon.c
> index
> c38dcdfcb914dcc3515be100cba0beb4a3f9b975..a99112e6f0b8534cf5c8c963e3430
> 19061bd34f6 100644
> --- a/drivers/hv/hv_balloon.c
> +++ b/drivers/hv/hv_balloon.c
> @@ -756,7 +756,7 @@ static void hv_mem_hot_add(unsigned long start, unsigned long size,
> * adding succeeded, it is ok to proceed even if the memory was
> * not onlined in time.
> */
> - wait_for_completion_timeout(&dm_device.ol_waitevent, 5 * HZ);
> + wait_for_completion_timeout(&dm_device.ol_waitevent, secs_to_jiffies(5));
> post_status(&dm_device);
> }
> }
> @@ -1373,7 +1373,8 @@ static int dm_thread_func(void *dm_dev)
> struct hv_dynmem_device *dm = dm_dev;
>
> while (!kthread_should_stop()) {
> - wait_for_completion_interruptible_timeout(&dm_device.config_event, 1 * HZ);
> + wait_for_completion_interruptible_timeout(&dm_device.config_event,
> + secs_to_jiffies(1));
> /*
> * The host expects us to post information on the memory
> * pressure every second.
> @@ -1748,7 +1749,7 @@ static int balloon_connect_vsp(struct hv_device *dev)
> if (ret)
> goto out;
>
> - t = wait_for_completion_timeout(&dm_device.host_event, 5 * HZ);
> + t = wait_for_completion_timeout(&dm_device.host_event, secs_to_jiffies(5));
> if (t == 0) {
> ret = -ETIMEDOUT;
> goto out;
> @@ -1806,7 +1807,7 @@ static int balloon_connect_vsp(struct hv_device *dev)
> if (ret)
> goto out;
>
> - t = wait_for_completion_timeout(&dm_device.host_event, 5 * HZ);
> + t = wait_for_completion_timeout(&dm_device.host_event, secs_to_jiffies(5));
> if (t == 0) {
> ret = -ETIMEDOUT;
> goto out;
> diff --git a/drivers/hv/hv_kvp.c b/drivers/hv/hv_kvp.c
> index
> d35b60c0611486c8c909d2f8f7c730ff913df30d..29e01247a0870fdb9eebd92bdd16f
> d371450240c 100644
> --- a/drivers/hv/hv_kvp.c
> +++ b/drivers/hv/hv_kvp.c
> @@ -655,7 +655,7 @@ void hv_kvp_onchannelcallback(void *context)
> if (host_negotiatied == NEGO_NOT_STARTED) {
> host_negotiatied = NEGO_IN_PROGRESS;
> schedule_delayed_work(&kvp_host_handshake_work,
> - HV_UTIL_NEGO_TIMEOUT * HZ);
> + secs_to_jiffies(HV_UTIL_NEGO_TIMEOUT));
> }
> return;
> }
> @@ -724,7 +724,7 @@ void hv_kvp_onchannelcallback(void *context)
> */
> schedule_work(&kvp_sendkey_work);
> schedule_delayed_work(&kvp_timeout_work,
> - HV_UTIL_TIMEOUT * HZ);
> + secs_to_jiffies(HV_UTIL_TIMEOUT));
>
> return;
>
> diff --git a/drivers/hv/hv_snapshot.c b/drivers/hv/hv_snapshot.c
> index
> 0d2184be16912559a8cfa784c762e6418ebd3279..86d87486ed40b3ca9f6674650e5
> a86a7184e2fa6 100644
> --- a/drivers/hv/hv_snapshot.c
> +++ b/drivers/hv/hv_snapshot.c
> @@ -193,7 +193,8 @@ static void vss_send_op(void)
> vss_transaction.state = HVUTIL_USERSPACE_REQ;
>
> schedule_delayed_work(&vss_timeout_work, op == VSS_OP_FREEZE ?
> - VSS_FREEZE_TIMEOUT * HZ : HV_UTIL_TIMEOUT * HZ);
> + secs_to_jiffies(VSS_FREEZE_TIMEOUT) :
> + secs_to_jiffies(HV_UTIL_TIMEOUT));
>
> rc = hvutil_transport_send(hvt, vss_msg, sizeof(*vss_msg), NULL);
> if (rc) {
> diff --git a/drivers/hv/vmbus_drv.c b/drivers/hv/vmbus_drv.c
> index
> 9b15f7daf5059750e17ea3607b52dee967c1c059..7db30881e83ad4b406413641413
> d68329fc663e2 100644
> --- a/drivers/hv/vmbus_drv.c
> +++ b/drivers/hv/vmbus_drv.c
> @@ -2507,7 +2507,7 @@ static int vmbus_bus_resume(struct device *dev)
> vmbus_request_offers();
>
> if (wait_for_completion_timeout(
> - &vmbus_connection.ready_for_resume_event, 10 * HZ) == 0)
> + &vmbus_connection.ready_for_resume_event, secs_to_jiffies(10)) == 0)
> pr_err("Some vmbus device is missing after suspending?\n");
>
> /* Reset the event for the next suspend. */
>
Reviewed-by: Michael Kelley <mhklinux@outlook.com>
^ permalink raw reply [flat|nested] 8+ messages in thread
* RE: [PATCH v3 1/2] jiffies: Define secs_to_jiffies()
2024-10-30 17:47 ` [PATCH v3 1/2] jiffies: Define secs_to_jiffies() Easwar Hariharan
@ 2024-10-31 15:54 ` Haiyang Zhang
2024-10-31 17:05 ` Easwar Hariharan
0 siblings, 1 reply; 8+ messages in thread
From: Haiyang Zhang @ 2024-10-31 15:54 UTC (permalink / raw)
To: Easwar Hariharan, KY Srinivasan, Wei Liu, Dexuan Cui,
linux-hyperv@vger.kernel.org, Anna-Maria Behnsen, Thomas Gleixner,
Geert Uytterhoeven, Marcel Holtmann, Johan Hedberg,
Luiz Augusto von Dentz, linux-bluetooth@vger.kernel.org,
linux-kernel@vger.kernel.org, Praveen Kumar, Naman Jain
Cc: Michael Kelley, Von Dentz, Luiz
> -----Original Message-----
> From: Easwar Hariharan <eahariha@linux.microsoft.com>
> Sent: Wednesday, October 30, 2024 1:48 PM
> To: KY Srinivasan <kys@microsoft.com>; Haiyang Zhang
> <haiyangz@microsoft.com>; Wei Liu <wei.liu@kernel.org>; Dexuan Cui
> <decui@microsoft.com>; linux-hyperv@vger.kernel.org; Anna-Maria Behnsen
> <anna-maria@linutronix.de>; Thomas Gleixner <tglx@linutronix.de>; Geert
> Uytterhoeven <geert@linux-m68k.org>; Marcel Holtmann
> <marcel@holtmann.org>; Johan Hedberg <johan.hedberg@gmail.com>; Luiz
> Augusto von Dentz <luiz.dentz@gmail.com>; linux-
> bluetooth@vger.kernel.org; linux-kernel@vger.kernel.org; Praveen Kumar
> <kumarpraveen@linux.microsoft.com>; Naman Jain
> <namjain@linux.microsoft.com>
> Cc: Michael Kelley <mhklinux@outlook.com>; Easwar Hariharan
> <eahariha@linux.microsoft.com>; Von Dentz, Luiz
> <luiz.von.dentz@intel.com>
> Subject: [PATCH v3 1/2] jiffies: Define secs_to_jiffies()
>
> secs_to_jiffies() is defined in hci_event.c and cannot be reused by
> other call sites. Hoist it into the core code to allow conversion of the
> ~1150 usages of msecs_to_jiffies() that either:
> - use a multiplier value of 1000 or equivalently MSEC_PER_SEC, or
> - have timeouts that are denominated in seconds (i.e. end in 000)
>
> This will also allow conversion of yet more sites that use (sec * HZ)
> directly, and improve their readability.
>
> TO: K. Y. Srinivasan <kys@microsoft.com>
> TO: Haiyang Zhang <haiyangz@microsoft.com>
> TO: Wei Liu <wei.liu@kernel.org>
> TO: Dexuan Cui <decui@microsoft.com>
> TO: linux-hyperv@vger.kernel.org
> TO: Anna-Maria Behnsen <anna-maria@linutronix.de>
> TO: Thomas Gleixner <tglx@linutronix.de>
> TO: Geert Uytterhoeven <geert@linux-m68k.org>
> TO: Marcel Holtmann <marcel@holtmann.org>
> TO: Johan Hedberg <johan.hedberg@gmail.com>
> TO: Luiz Augusto von Dentz <luiz.dentz@gmail.com>
> TO: linux-bluetooth@vger.kernel.org
> TO: linux-kernel@vger.kernel.org
> Suggested-by: Michael Kelley <mhklinux@outlook.com>
> Reviewed-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
> Signed-off-by: Easwar Hariharan <eahariha@linux.microsoft.com>
> ---
> include/linux/jiffies.h | 12 ++++++++++++
> net/bluetooth/hci_event.c | 2 --
> 2 files changed, 12 insertions(+), 2 deletions(-)
>
> diff --git a/include/linux/jiffies.h b/include/linux/jiffies.h
> index
> 1220f0fbe5bf9fb6c559b4efd603db3e97db9b65..e17c220ed56e587fd55fb9cf4a133a5
> 3588af940 100644
> --- a/include/linux/jiffies.h
> +++ b/include/linux/jiffies.h
> @@ -526,6 +526,18 @@ static __always_inline unsigned long
> msecs_to_jiffies(const unsigned int m)
> }
> }
>
> +/**
> + * secs_to_jiffies: - convert seconds to jiffies
> + * @_secs: time in seconds
> + *
> + * Conversion is done by simple multiplication with HZ
> + * secs_to_jiffies() is defined as a macro rather than a static inline
> + * function due to its potential application in struct initializers.
> + *
> + * Return: jiffies value
> + */
> +#define secs_to_jiffies(_secs) ((_secs) * HZ)
> +
> extern unsigned long __usecs_to_jiffies(const unsigned int u);
> #if !(USEC_PER_SEC % HZ)
> static inline unsigned long _usecs_to_jiffies(const unsigned int u)
> diff --git a/net/bluetooth/hci_event.c b/net/bluetooth/hci_event.c
> index
> 0bbad90ddd6f87e87c03859bae48a7901d39b634..7b35c58bbbeb79f2b50a02212771fb2
> 83ba5643d 100644
> --- a/net/bluetooth/hci_event.c
> +++ b/net/bluetooth/hci_event.c
> @@ -42,8 +42,6 @@
> #define ZERO_KEY "\x00\x00\x00\x00\x00\x00\x00\x00" \
> "\x00\x00\x00\x00\x00\x00\x00\x00"
>
> -#define secs_to_jiffies(_secs) msecs_to_jiffies((_secs) * 1000)
> -
> /* Handle HCI Event packets */
>
> static void *hci_ev_skb_pull(struct hci_dev *hdev, struct sk_buff *skb,
>
> --
> 2.34.1
All looks good.
But can you consider naming the macro as s2jiffy()? Just
to be shorter, so after adopting this macro we don't have
to split some lines for over 80 characters:)
Thanks,
- Haiyang
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v3 1/2] jiffies: Define secs_to_jiffies()
2024-10-31 15:54 ` Haiyang Zhang
@ 2024-10-31 17:05 ` Easwar Hariharan
2024-10-31 17:28 ` Haiyang Zhang
0 siblings, 1 reply; 8+ messages in thread
From: Easwar Hariharan @ 2024-10-31 17:05 UTC (permalink / raw)
To: Haiyang Zhang, KY Srinivasan, Wei Liu, Dexuan Cui,
linux-hyperv@vger.kernel.org, Anna-Maria Behnsen, Thomas Gleixner,
Geert Uytterhoeven, Marcel Holtmann, Johan Hedberg,
Luiz Augusto von Dentz, linux-bluetooth@vger.kernel.org,
linux-kernel@vger.kernel.org, Praveen Kumar, Naman Jain
Cc: eahariha, Michael Kelley, Von Dentz, Luiz
On 10/31/2024 8:54 AM, Haiyang Zhang wrote:
>
>
>> -----Original Message-----
>> From: Easwar Hariharan <eahariha@linux.microsoft.com>
>> Sent: Wednesday, October 30, 2024 1:48 PM
>> To: KY Srinivasan <kys@microsoft.com>; Haiyang Zhang
>> <haiyangz@microsoft.com>; Wei Liu <wei.liu@kernel.org>; Dexuan Cui
>> <decui@microsoft.com>; linux-hyperv@vger.kernel.org; Anna-Maria Behnsen
>> <anna-maria@linutronix.de>; Thomas Gleixner <tglx@linutronix.de>; Geert
>> Uytterhoeven <geert@linux-m68k.org>; Marcel Holtmann
>> <marcel@holtmann.org>; Johan Hedberg <johan.hedberg@gmail.com>; Luiz
>> Augusto von Dentz <luiz.dentz@gmail.com>; linux-
>> bluetooth@vger.kernel.org; linux-kernel@vger.kernel.org; Praveen Kumar
>> <kumarpraveen@linux.microsoft.com>; Naman Jain
>> <namjain@linux.microsoft.com>
>> Cc: Michael Kelley <mhklinux@outlook.com>; Easwar Hariharan
>> <eahariha@linux.microsoft.com>; Von Dentz, Luiz
>> <luiz.von.dentz@intel.com>
>> Subject: [PATCH v3 1/2] jiffies: Define secs_to_jiffies()
>>
>> secs_to_jiffies() is defined in hci_event.c and cannot be reused by
>> other call sites. Hoist it into the core code to allow conversion of the
>> ~1150 usages of msecs_to_jiffies() that either:
>> - use a multiplier value of 1000 or equivalently MSEC_PER_SEC, or
>> - have timeouts that are denominated in seconds (i.e. end in 000)
>>
>> This will also allow conversion of yet more sites that use (sec * HZ)
>> directly, and improve their readability.
>>
>> TO: K. Y. Srinivasan <kys@microsoft.com>
>> TO: Haiyang Zhang <haiyangz@microsoft.com>
>> TO: Wei Liu <wei.liu@kernel.org>
>> TO: Dexuan Cui <decui@microsoft.com>
>> TO: linux-hyperv@vger.kernel.org
>> TO: Anna-Maria Behnsen <anna-maria@linutronix.de>
>> TO: Thomas Gleixner <tglx@linutronix.de>
>> TO: Geert Uytterhoeven <geert@linux-m68k.org>
>> TO: Marcel Holtmann <marcel@holtmann.org>
>> TO: Johan Hedberg <johan.hedberg@gmail.com>
>> TO: Luiz Augusto von Dentz <luiz.dentz@gmail.com>
>> TO: linux-bluetooth@vger.kernel.org
>> TO: linux-kernel@vger.kernel.org
>> Suggested-by: Michael Kelley <mhklinux@outlook.com>
>> Reviewed-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
>> Signed-off-by: Easwar Hariharan <eahariha@linux.microsoft.com>
>> ---
>> include/linux/jiffies.h | 12 ++++++++++++
>> net/bluetooth/hci_event.c | 2 --
>> 2 files changed, 12 insertions(+), 2 deletions(-)
>>
>> diff --git a/include/linux/jiffies.h b/include/linux/jiffies.h
>> index
>> 1220f0fbe5bf9fb6c559b4efd603db3e97db9b65..e17c220ed56e587fd55fb9cf4a133a5
>> 3588af940 100644
>> --- a/include/linux/jiffies.h
>> +++ b/include/linux/jiffies.h
>> @@ -526,6 +526,18 @@ static __always_inline unsigned long
>> msecs_to_jiffies(const unsigned int m)
>> }
>> }
>>
>> +/**
>> + * secs_to_jiffies: - convert seconds to jiffies
>> + * @_secs: time in seconds
>> + *
>> + * Conversion is done by simple multiplication with HZ
>> + * secs_to_jiffies() is defined as a macro rather than a static inline
>> + * function due to its potential application in struct initializers.
>> + *
>> + * Return: jiffies value
>> + */
>> +#define secs_to_jiffies(_secs) ((_secs) * HZ)
>> +
>> extern unsigned long __usecs_to_jiffies(const unsigned int u);
>> #if !(USEC_PER_SEC % HZ)
>> static inline unsigned long _usecs_to_jiffies(const unsigned int u)
>> diff --git a/net/bluetooth/hci_event.c b/net/bluetooth/hci_event.c
>> index
>> 0bbad90ddd6f87e87c03859bae48a7901d39b634..7b35c58bbbeb79f2b50a02212771fb2
>> 83ba5643d 100644
>> --- a/net/bluetooth/hci_event.c
>> +++ b/net/bluetooth/hci_event.c
>> @@ -42,8 +42,6 @@
>> #define ZERO_KEY "\x00\x00\x00\x00\x00\x00\x00\x00" \
>> "\x00\x00\x00\x00\x00\x00\x00\x00"
>>
>> -#define secs_to_jiffies(_secs) msecs_to_jiffies((_secs) * 1000)
>> -
>> /* Handle HCI Event packets */
>>
>> static void *hci_ev_skb_pull(struct hci_dev *hdev, struct sk_buff *skb,
>>
>> --
>> 2.34.1
>
> All looks good.
> But can you consider naming the macro as s2jiffy()? Just
> to be shorter, so after adopting this macro we don't have
> to split some lines for over 80 characters:)
>
> Thanks,
> - Haiyang
>
Thanks for the review! The patch introducing the macro has already been
accepted into timers/core in tip[1], so unfortunately I can't make that
change anymore. For readability considerations, I also find it better to
match the remaining APIs in the jiffies family, i.e. msecs_to_jiffies(),
nsecs_to_jiffies(), usecs_to_jiffies().
[1] https://git.kernel.org/tip/b35108a51cf7bab58d7eace1267d7965978bcdb8
Thanks,
Easwar
^ permalink raw reply [flat|nested] 8+ messages in thread
* RE: [PATCH v3 1/2] jiffies: Define secs_to_jiffies()
2024-10-31 17:05 ` Easwar Hariharan
@ 2024-10-31 17:28 ` Haiyang Zhang
0 siblings, 0 replies; 8+ messages in thread
From: Haiyang Zhang @ 2024-10-31 17:28 UTC (permalink / raw)
To: Easwar Hariharan, KY Srinivasan, Wei Liu, Dexuan Cui,
linux-hyperv@vger.kernel.org, Anna-Maria Behnsen, Thomas Gleixner,
Geert Uytterhoeven, Marcel Holtmann, Johan Hedberg,
Luiz Augusto von Dentz, linux-bluetooth@vger.kernel.org,
linux-kernel@vger.kernel.org, Praveen Kumar, Naman Jain
Cc: Michael Kelley, Von Dentz, Luiz
> -----Original Message-----
> From: Easwar Hariharan <eahariha@linux.microsoft.com>
> Sent: Thursday, October 31, 2024 1:06 PM
> To: Haiyang Zhang <haiyangz@microsoft.com>; KY Srinivasan
> <kys@microsoft.com>; Wei Liu <wei.liu@kernel.org>; Dexuan Cui
> <decui@microsoft.com>; linux-hyperv@vger.kernel.org; Anna-Maria Behnsen
> <anna-maria@linutronix.de>; Thomas Gleixner <tglx@linutronix.de>; Geert
> Uytterhoeven <geert@linux-m68k.org>; Marcel Holtmann
> <marcel@holtmann.org>; Johan Hedberg <johan.hedberg@gmail.com>; Luiz
> Augusto von Dentz <luiz.dentz@gmail.com>; linux-
> bluetooth@vger.kernel.org; linux-kernel@vger.kernel.org; Praveen Kumar
> <kumarpraveen@linux.microsoft.com>; Naman Jain
> <namjain@linux.microsoft.com>
> Cc: eahariha@linux.microsoft.com; Michael Kelley <mhklinux@outlook.com>;
> Von Dentz, Luiz <luiz.von.dentz@intel.com>
> Subject: Re: [PATCH v3 1/2] jiffies: Define secs_to_jiffies()
>
> On 10/31/2024 8:54 AM, Haiyang Zhang wrote:
> >
> >
> >> -----Original Message-----
> >> From: Easwar Hariharan <eahariha@linux.microsoft.com>
> >> Sent: Wednesday, October 30, 2024 1:48 PM
> >> To: KY Srinivasan <kys@microsoft.com>; Haiyang Zhang
> >> <haiyangz@microsoft.com>; Wei Liu <wei.liu@kernel.org>; Dexuan Cui
> >> <decui@microsoft.com>; linux-hyperv@vger.kernel.org; Anna-Maria
> Behnsen
> >> <anna-maria@linutronix.de>; Thomas Gleixner <tglx@linutronix.de>;
> Geert
> >> Uytterhoeven <geert@linux-m68k.org>; Marcel Holtmann
> >> <marcel@holtmann.org>; Johan Hedberg <johan.hedberg@gmail.com>; Luiz
> >> Augusto von Dentz <luiz.dentz@gmail.com>; linux-
> >> bluetooth@vger.kernel.org; linux-kernel@vger.kernel.org; Praveen Kumar
> >> <kumarpraveen@linux.microsoft.com>; Naman Jain
> >> <namjain@linux.microsoft.com>
> >> Cc: Michael Kelley <mhklinux@outlook.com>; Easwar Hariharan
> >> <eahariha@linux.microsoft.com>; Von Dentz, Luiz
> >> <luiz.von.dentz@intel.com>
> >> Subject: [PATCH v3 1/2] jiffies: Define secs_to_jiffies()
> >>
> >> secs_to_jiffies() is defined in hci_event.c and cannot be reused by
> >> other call sites. Hoist it into the core code to allow conversion of
> the
> >> ~1150 usages of msecs_to_jiffies() that either:
> >> - use a multiplier value of 1000 or equivalently MSEC_PER_SEC, or
> >> - have timeouts that are denominated in seconds (i.e. end in 000)
> >>
> >> This will also allow conversion of yet more sites that use (sec * HZ)
> >> directly, and improve their readability.
> >>
> >> TO: K. Y. Srinivasan <kys@microsoft.com>
> >> TO: Haiyang Zhang <haiyangz@microsoft.com>
> >> TO: Wei Liu <wei.liu@kernel.org>
> >> TO: Dexuan Cui <decui@microsoft.com>
> >> TO: linux-hyperv@vger.kernel.org
> >> TO: Anna-Maria Behnsen <anna-maria@linutronix.de>
> >> TO: Thomas Gleixner <tglx@linutronix.de>
> >> TO: Geert Uytterhoeven <geert@linux-m68k.org>
> >> TO: Marcel Holtmann <marcel@holtmann.org>
> >> TO: Johan Hedberg <johan.hedberg@gmail.com>
> >> TO: Luiz Augusto von Dentz <luiz.dentz@gmail.com>
> >> TO: linux-bluetooth@vger.kernel.org
> >> TO: linux-kernel@vger.kernel.org
> >> Suggested-by: Michael Kelley <mhklinux@outlook.com>
> >> Reviewed-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
> >> Signed-off-by: Easwar Hariharan <eahariha@linux.microsoft.com>
> >> ---
> >> include/linux/jiffies.h | 12 ++++++++++++
> >> net/bluetooth/hci_event.c | 2 --
> >> 2 files changed, 12 insertions(+), 2 deletions(-)
> >>
> >> diff --git a/include/linux/jiffies.h b/include/linux/jiffies.h
> >> index
> >>
> 1220f0fbe5bf9fb6c559b4efd603db3e97db9b65..e17c220ed56e587fd55fb9cf4a133a5
> >> 3588af940 100644
> >> --- a/include/linux/jiffies.h
> >> +++ b/include/linux/jiffies.h
> >> @@ -526,6 +526,18 @@ static __always_inline unsigned long
> >> msecs_to_jiffies(const unsigned int m)
> >> }
> >> }
> >>
> >> +/**
> >> + * secs_to_jiffies: - convert seconds to jiffies
> >> + * @_secs: time in seconds
> >> + *
> >> + * Conversion is done by simple multiplication with HZ
> >> + * secs_to_jiffies() is defined as a macro rather than a static
> inline
> >> + * function due to its potential application in struct initializers.
> >> + *
> >> + * Return: jiffies value
> >> + */
> >> +#define secs_to_jiffies(_secs) ((_secs) * HZ)
> >> +
> >> extern unsigned long __usecs_to_jiffies(const unsigned int u);
> >> #if !(USEC_PER_SEC % HZ)
> >> static inline unsigned long _usecs_to_jiffies(const unsigned int u)
> >> diff --git a/net/bluetooth/hci_event.c b/net/bluetooth/hci_event.c
> >> index
> >>
> 0bbad90ddd6f87e87c03859bae48a7901d39b634..7b35c58bbbeb79f2b50a02212771fb2
> >> 83ba5643d 100644
> >> --- a/net/bluetooth/hci_event.c
> >> +++ b/net/bluetooth/hci_event.c
> >> @@ -42,8 +42,6 @@
> >> #define ZERO_KEY "\x00\x00\x00\x00\x00\x00\x00\x00" \
> >> "\x00\x00\x00\x00\x00\x00\x00\x00"
> >>
> >> -#define secs_to_jiffies(_secs) msecs_to_jiffies((_secs) * 1000)
> >> -
> >> /* Handle HCI Event packets */
> >>
> >> static void *hci_ev_skb_pull(struct hci_dev *hdev, struct sk_buff
> *skb,
> >>
> >> --
> >> 2.34.1
> >
> > All looks good.
> > But can you consider naming the macro as s2jiffy()? Just
> > to be shorter, so after adopting this macro we don't have
> > to split some lines for over 80 characters:)
> >
> > Thanks,
> > - Haiyang
> >
>
> Thanks for the review! The patch introducing the macro has already been
> accepted into timers/core in tip[1], so unfortunately I can't make that
> change anymore. For readability considerations, I also find it better to
> match the remaining APIs in the jiffies family, i.e. msecs_to_jiffies(),
> nsecs_to_jiffies(), usecs_to_jiffies().
>
> [1]
> https://git.ker/
> nel.org%2Ftip%2Fb35108a51cf7bab58d7eace1267d7965978bcdb8&data=05%7C02%7Ch
> aiyangz%40microsoft.com%7C7d5db079ed124f62ac2a08dcf9ce4b20%7C72f988bf86f1
> 41af91ab2d7cd011db47%7C1%7C0%7C638659911651280804%7CUnknown%7CTWFpbGZsb3d
> 8eyJFbXB0eU1hcGkiOnRydWUsIlYiOiIwLjAuMDAwMCIsIlAiOiJXaW4zMiIsIkFOIjoiTWFp
> bCIsIldUIjoyfQ%3D%3D%7C0%7C%7C%7C&sdata=hz5UtwU9CLw068z4tpr9kPMANntwX58De
> A5dXi9pqSg%3D&reserved=0
>
Then, that's fine.
Thanks
- Haiyang
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v3 2/2] drivers: hv: Convert open-coded timeouts to secs_to_jiffies()
2024-10-30 17:47 ` [PATCH v3 2/2] drivers: hv: Convert open-coded timeouts to secs_to_jiffies() Easwar Hariharan
2024-10-31 2:03 ` Michael Kelley
@ 2024-12-07 7:52 ` Wei Liu
1 sibling, 0 replies; 8+ messages in thread
From: Wei Liu @ 2024-12-07 7:52 UTC (permalink / raw)
To: Easwar Hariharan
Cc: K. Y. Srinivasan, Haiyang Zhang, Wei Liu, Dexuan Cui,
linux-hyperv, Anna-Maria Behnsen, Thomas Gleixner,
Geert Uytterhoeven, Marcel Holtmann, Johan Hedberg,
Luiz Augusto von Dentz, linux-bluetooth, linux-kernel,
Praveen Kumar, Naman Jain, Michael Kelley
On Wed, Oct 30, 2024 at 05:47:36PM +0000, Easwar Hariharan wrote:
> We have several places where timeouts are open-coded as N (seconds) * HZ,
> but best practice is to use the utility functions from jiffies.h. Convert
> the timeouts to be compliant. This doesn't fix any bugs, it's a simple code
> improvement.
>
> TO: "K. Y. Srinivasan" <kys@microsoft.com>
> TO: Haiyang Zhang <haiyangz@microsoft.com>
> TO: Wei Liu <wei.liu@kernel.org>
> TO: Dexuan Cui <decui@microsoft.com>
> TO: linux-hyperv@vger.kernel.org
> TO: Anna-Maria Behnsen <anna-maria@linutronix.de>
> TO: Thomas Gleixner <tglx@linutronix.de>
> TO: Geert Uytterhoeven <geert@linux-m68k.org>
> TO: Marcel Holtmann <marcel@holtmann.org>
> TO: Johan Hedberg <johan.hedberg@gmail.com>
> TO: Luiz Augusto von Dentz <luiz.dentz@gmail.com>
> TO: linux-bluetooth@vger.kernel.org
> TO: linux-kernel@vger.kernel.org
> CC: Michael Kelley <mhklinux@outlook.com>
In the future you can put these items after the --- line, so that they
are stripped when the patch is applied.
> Signed-off-by: Easwar Hariharan <eahariha@linux.microsoft.com>
The first patch is already in.
I applied this patch to hyperv-fixes. Thanks.
> ---
> drivers/hv/hv_balloon.c | 9 +++++----
> drivers/hv/hv_kvp.c | 4 ++--
> drivers/hv/hv_snapshot.c | 3 ++-
> drivers/hv/vmbus_drv.c | 2 +-
> 4 files changed, 10 insertions(+), 8 deletions(-)
>
> diff --git a/drivers/hv/hv_balloon.c b/drivers/hv/hv_balloon.c
> index c38dcdfcb914dcc3515be100cba0beb4a3f9b975..a99112e6f0b8534cf5c8c963e343019061bd34f6 100644
> --- a/drivers/hv/hv_balloon.c
> +++ b/drivers/hv/hv_balloon.c
> @@ -756,7 +756,7 @@ static void hv_mem_hot_add(unsigned long start, unsigned long size,
> * adding succeeded, it is ok to proceed even if the memory was
> * not onlined in time.
> */
> - wait_for_completion_timeout(&dm_device.ol_waitevent, 5 * HZ);
> + wait_for_completion_timeout(&dm_device.ol_waitevent, secs_to_jiffies(5));
> post_status(&dm_device);
> }
> }
> @@ -1373,7 +1373,8 @@ static int dm_thread_func(void *dm_dev)
> struct hv_dynmem_device *dm = dm_dev;
>
> while (!kthread_should_stop()) {
> - wait_for_completion_interruptible_timeout(&dm_device.config_event, 1 * HZ);
> + wait_for_completion_interruptible_timeout(&dm_device.config_event,
> + secs_to_jiffies(1));
> /*
> * The host expects us to post information on the memory
> * pressure every second.
> @@ -1748,7 +1749,7 @@ static int balloon_connect_vsp(struct hv_device *dev)
> if (ret)
> goto out;
>
> - t = wait_for_completion_timeout(&dm_device.host_event, 5 * HZ);
> + t = wait_for_completion_timeout(&dm_device.host_event, secs_to_jiffies(5));
> if (t == 0) {
> ret = -ETIMEDOUT;
> goto out;
> @@ -1806,7 +1807,7 @@ static int balloon_connect_vsp(struct hv_device *dev)
> if (ret)
> goto out;
>
> - t = wait_for_completion_timeout(&dm_device.host_event, 5 * HZ);
> + t = wait_for_completion_timeout(&dm_device.host_event, secs_to_jiffies(5));
> if (t == 0) {
> ret = -ETIMEDOUT;
> goto out;
> diff --git a/drivers/hv/hv_kvp.c b/drivers/hv/hv_kvp.c
> index d35b60c0611486c8c909d2f8f7c730ff913df30d..29e01247a0870fdb9eebd92bdd16fd371450240c 100644
> --- a/drivers/hv/hv_kvp.c
> +++ b/drivers/hv/hv_kvp.c
> @@ -655,7 +655,7 @@ void hv_kvp_onchannelcallback(void *context)
> if (host_negotiatied == NEGO_NOT_STARTED) {
> host_negotiatied = NEGO_IN_PROGRESS;
> schedule_delayed_work(&kvp_host_handshake_work,
> - HV_UTIL_NEGO_TIMEOUT * HZ);
> + secs_to_jiffies(HV_UTIL_NEGO_TIMEOUT));
> }
> return;
> }
> @@ -724,7 +724,7 @@ void hv_kvp_onchannelcallback(void *context)
> */
> schedule_work(&kvp_sendkey_work);
> schedule_delayed_work(&kvp_timeout_work,
> - HV_UTIL_TIMEOUT * HZ);
> + secs_to_jiffies(HV_UTIL_TIMEOUT));
>
> return;
>
> diff --git a/drivers/hv/hv_snapshot.c b/drivers/hv/hv_snapshot.c
> index 0d2184be16912559a8cfa784c762e6418ebd3279..86d87486ed40b3ca9f6674650e5a86a7184e2fa6 100644
> --- a/drivers/hv/hv_snapshot.c
> +++ b/drivers/hv/hv_snapshot.c
> @@ -193,7 +193,8 @@ static void vss_send_op(void)
> vss_transaction.state = HVUTIL_USERSPACE_REQ;
>
> schedule_delayed_work(&vss_timeout_work, op == VSS_OP_FREEZE ?
> - VSS_FREEZE_TIMEOUT * HZ : HV_UTIL_TIMEOUT * HZ);
> + secs_to_jiffies(VSS_FREEZE_TIMEOUT) :
> + secs_to_jiffies(HV_UTIL_TIMEOUT));
>
> rc = hvutil_transport_send(hvt, vss_msg, sizeof(*vss_msg), NULL);
> if (rc) {
> diff --git a/drivers/hv/vmbus_drv.c b/drivers/hv/vmbus_drv.c
> index 9b15f7daf5059750e17ea3607b52dee967c1c059..7db30881e83ad4b406413641413d68329fc663e2 100644
> --- a/drivers/hv/vmbus_drv.c
> +++ b/drivers/hv/vmbus_drv.c
> @@ -2507,7 +2507,7 @@ static int vmbus_bus_resume(struct device *dev)
> vmbus_request_offers();
>
> if (wait_for_completion_timeout(
> - &vmbus_connection.ready_for_resume_event, 10 * HZ) == 0)
> + &vmbus_connection.ready_for_resume_event, secs_to_jiffies(10)) == 0)
> pr_err("Some vmbus device is missing after suspending?\n");
>
> /* Reset the event for the next suspend. */
>
> --
> 2.34.1
>
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2024-12-07 7:52 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-10-30 17:47 [PATCH v3 0/2] Converge on secs_to_jiffies() Easwar Hariharan
2024-10-30 17:47 ` [PATCH v3 1/2] jiffies: Define secs_to_jiffies() Easwar Hariharan
2024-10-31 15:54 ` Haiyang Zhang
2024-10-31 17:05 ` Easwar Hariharan
2024-10-31 17:28 ` Haiyang Zhang
2024-10-30 17:47 ` [PATCH v3 2/2] drivers: hv: Convert open-coded timeouts to secs_to_jiffies() Easwar Hariharan
2024-10-31 2:03 ` Michael Kelley
2024-12-07 7:52 ` Wei Liu
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).