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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




> -----Original Message-----
> From: Easwar Hariharan <eahariha@xxxxxxxxxxxxxxxxxxx>
> Sent: Wednesday, October 30, 2024 1:48 PM
> To: KY Srinivasan <kys@xxxxxxxxxxxxx>; Haiyang Zhang
> <haiyangz@xxxxxxxxxxxxx>; Wei Liu <wei.liu@xxxxxxxxxx>; Dexuan Cui
> <decui@xxxxxxxxxxxxx>; linux-hyperv@xxxxxxxxxxxxxxx; Anna-Maria Behnsen
> <anna-maria@xxxxxxxxxxxxx>; Thomas Gleixner <tglx@xxxxxxxxxxxxx>; Geert
> Uytterhoeven <geert@xxxxxxxxxxxxxx>; Marcel Holtmann
> <marcel@xxxxxxxxxxxx>; Johan Hedberg <johan.hedberg@xxxxxxxxx>; Luiz
> Augusto von Dentz <luiz.dentz@xxxxxxxxx>; linux-
> bluetooth@xxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx; Praveen Kumar
> <kumarpraveen@xxxxxxxxxxxxxxxxxxx>; Naman Jain
> <namjain@xxxxxxxxxxxxxxxxxxx>
> Cc: Michael Kelley <mhklinux@xxxxxxxxxxx>; Easwar Hariharan
> <eahariha@xxxxxxxxxxxxxxxxxxx>; Von Dentz, Luiz
> <luiz.von.dentz@xxxxxxxxx>
> 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@xxxxxxxxxxxxx>
> TO: Haiyang Zhang <haiyangz@xxxxxxxxxxxxx>
> TO: Wei Liu <wei.liu@xxxxxxxxxx>
> TO: Dexuan Cui <decui@xxxxxxxxxxxxx>
> TO: linux-hyperv@xxxxxxxxxxxxxxx
> TO: Anna-Maria Behnsen <anna-maria@xxxxxxxxxxxxx>
> TO: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
> TO: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx>
> TO: Marcel Holtmann <marcel@xxxxxxxxxxxx>
> TO: Johan Hedberg <johan.hedberg@xxxxxxxxx>
> TO: Luiz Augusto von Dentz <luiz.dentz@xxxxxxxxx>
> TO: linux-bluetooth@xxxxxxxxxxxxxxx
> TO: linux-kernel@xxxxxxxxxxxxxxx
> Suggested-by: Michael Kelley <mhklinux@xxxxxxxxxxx>
> Reviewed-by: Luiz Augusto von Dentz <luiz.von.dentz@xxxxxxxxx>
> Signed-off-by: Easwar Hariharan <eahariha@xxxxxxxxxxxxxxxxxxx>
> ---
>  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






[Index of Archives]     [Bluez Devel]     [Linux Wireless Networking]     [Linux Wireless Personal Area Networking]     [Linux ATH6KL]     [Linux USB Devel]     [Linux Media Drivers]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Big List of Linux Books]

  Powered by Linux