RE: [PATCH v3 1/2] jiffies: Define secs_to_jiffies()

From
Haiyang Zhang <haiyangz@microsoft.com>
Date
2024-10-31 15:54:30
Also in
linux-bluetooth, lkml
Reply to
Easwar Hariharan, 2024-10-30
quoted hunk ↗ jump to hunk
-----Original Message-----
From: Easwar Hariharan <redacted>
Sent: Wednesday, October 30, 2024 1:48 PM
To: KY Srinivasan <redacted>; Haiyang Zhang
[off-list ref]; Wei Liu [off-list ref]; Dexuan Cui
[off-list ref]; linux-hyperv@vger.kernel.org; Anna-Maria Behnsen
[off-list ref]; Thomas Gleixner [off-list ref]; Geert
Uytterhoeven [off-list ref]; Marcel Holtmann
[off-list ref]; Johan Hedberg [off-list ref]; Luiz
Augusto von Dentz [off-list ref]; linux-
bluetooth@vger.kernel.org; linux-kernel@vger.kernel.org; Praveen Kumar
[off-list ref]; Naman Jain
[off-list ref]
Cc: Michael Kelley <redacted>; Easwar Hariharan
[off-list ref]; Von Dentz, Luiz
[off-list ref]
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 <redacted>
TO: Haiyang Zhang <haiyangz@microsoft.com>
TO: Wei Liu <wei.liu@kernel.org>
TO: Dexuan Cui <decui@microsoft.com>
TO: <redacted>
TO: Anna-Maria Behnsen <anna-maria@linutronix.de>
TO: Thomas Gleixner <redacted>
TO: Geert Uytterhoeven <geert@linux-m68k.org>
TO: Marcel Holtmann <marcel@holtmann.org>
TO: Johan Hedberg <redacted>
TO: Luiz Augusto von Dentz <luiz.dentz@gmail.com>
TO: <redacted>
TO: <redacted>
Suggested-by: Michael Kelley <redacted>
Reviewed-by: Luiz Augusto von Dentz <redacted>
Signed-off-by: Easwar Hariharan <redacted>
---
 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

Thread (8 messages) 8 messages, 4 authors, last reply 2024-12-07
Keyboard shortcuts
hback out one level
jnext message in thread / next series-diff position
kprevious message in thread / previous series-diff position
ldrill in
Escclose help / fold thread tree
?toggle this help