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: Thursday, October 31, 2024 1:06 PM
> To: Haiyang Zhang <haiyangz@xxxxxxxxxxxxx>; KY Srinivasan
> <kys@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: eahariha@xxxxxxxxxxxxxxxxxxx; Michael Kelley <mhklinux@xxxxxxxxxxx>;
> Von Dentz, Luiz <luiz.von.dentz@xxxxxxxxx>
> 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@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
> >
>
> 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







[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