* [PATCH 05/15] timers: Rename sleep_idle_range() to sleep_range_idle()
2024-09-04 13:04 [PATCH 00/15] timers: Cleanup delay/sleep related mess Anna-Maria Behnsen
@ 2024-09-04 13:04 ` Anna-Maria Behnsen
2024-09-06 13:45 ` Frederic Weisbecker
2024-09-06 16:25 ` SeongJae Park
2024-09-04 13:04 ` [PATCH 08/15] mm/damon/core: Use generic upper bound recommondation for usleep_range() Anna-Maria Behnsen
` (2 subsequent siblings)
3 siblings, 2 replies; 8+ messages in thread
From: Anna-Maria Behnsen @ 2024-09-04 13:04 UTC (permalink / raw)
To: Frederic Weisbecker, Thomas Gleixner, Jonathan Corbet
Cc: linux-kernel, Len Brown, Rafael J. Wysocki, Anna-Maria Behnsen,
SeongJae Park, Andrew Morton, damon, linux-mm
sleep_idle_range() is a variant of sleep_range(). Both are using
sleep_range_state() as a base. To be able to find all the related functions
in one go, rename it sleep_idle_range() to sleep_range_idle().
No functional change.
Cc: SeongJae Park <sj@kernel.org>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: damon@lists.linux.dev
Cc: linux-mm@kvack.org
Signed-off-by: Anna-Maria Behnsen <anna-maria@linutronix.de>
---
include/linux/delay.h | 2 +-
mm/damon/core.c | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/include/linux/delay.h b/include/linux/delay.h
index ff9cda975e30..2bc586aa2068 100644
--- a/include/linux/delay.h
+++ b/include/linux/delay.h
@@ -68,7 +68,7 @@ static inline void usleep_range(unsigned long min, unsigned long max)
usleep_range_state(min, max, TASK_UNINTERRUPTIBLE);
}
-static inline void usleep_idle_range(unsigned long min, unsigned long max)
+static inline void usleep_range_idle(unsigned long min, unsigned long max)
{
usleep_range_state(min, max, TASK_IDLE);
}
diff --git a/mm/damon/core.c b/mm/damon/core.c
index 7a87628b76ab..94fe2f1f9b0e 100644
--- a/mm/damon/core.c
+++ b/mm/damon/core.c
@@ -1887,7 +1887,7 @@ static void kdamond_usleep(unsigned long usecs)
if (usecs > 20 * USEC_PER_MSEC)
schedule_timeout_idle(usecs_to_jiffies(usecs));
else
- usleep_idle_range(usecs, usecs + 1);
+ usleep_range_idle(usecs, usecs + 1);
}
/* Returns negative error code if it's not activated but should return */
--
2.39.2
^ permalink raw reply [flat|nested] 8+ messages in thread* Re: [PATCH 05/15] timers: Rename sleep_idle_range() to sleep_range_idle()
2024-09-04 13:04 ` [PATCH 05/15] timers: Rename sleep_idle_range() to sleep_range_idle() Anna-Maria Behnsen
@ 2024-09-06 13:45 ` Frederic Weisbecker
2024-09-06 16:25 ` SeongJae Park
1 sibling, 0 replies; 8+ messages in thread
From: Frederic Weisbecker @ 2024-09-06 13:45 UTC (permalink / raw)
To: Anna-Maria Behnsen
Cc: Thomas Gleixner, Jonathan Corbet, linux-kernel, Len Brown,
Rafael J. Wysocki, SeongJae Park, Andrew Morton, damon, linux-mm
Le Wed, Sep 04, 2024 at 03:04:55PM +0200, Anna-Maria Behnsen a écrit :
> sleep_idle_range() is a variant of sleep_range(). Both are using
> sleep_range_state() as a base. To be able to find all the related functions
> in one go, rename it sleep_idle_range() to sleep_range_idle().
>
> No functional change.
>
> Cc: SeongJae Park <sj@kernel.org>
> Cc: Andrew Morton <akpm@linux-foundation.org>
> Cc: damon@lists.linux.dev
> Cc: linux-mm@kvack.org
> Signed-off-by: Anna-Maria Behnsen <anna-maria@linutronix.de>
Reviewed-by: Frederic Weisbecker <frederic@kernel.org>
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH 05/15] timers: Rename sleep_idle_range() to sleep_range_idle()
2024-09-04 13:04 ` [PATCH 05/15] timers: Rename sleep_idle_range() to sleep_range_idle() Anna-Maria Behnsen
2024-09-06 13:45 ` Frederic Weisbecker
@ 2024-09-06 16:25 ` SeongJae Park
1 sibling, 0 replies; 8+ messages in thread
From: SeongJae Park @ 2024-09-06 16:25 UTC (permalink / raw)
To: Anna-Maria Behnsen
Cc: SeongJae Park, Frederic Weisbecker, Thomas Gleixner,
Jonathan Corbet, linux-kernel, Len Brown, Rafael J. Wysocki,
Andrew Morton, damon, linux-mm
On Wed, 04 Sep 2024 15:04:55 +0200 Anna-Maria Behnsen <anna-maria@linutronix.de> wrote:
> sleep_idle_range() is a variant of sleep_range(). Both are using
> sleep_range_state() as a base. To be able to find all the related functions
> in one go, rename it sleep_idle_range() to sleep_range_idle().
Nit. s/sleep_/usleep_/?
>
> No functional change.
>
> Cc: SeongJae Park <sj@kernel.org>
> Cc: Andrew Morton <akpm@linux-foundation.org>
> Cc: damon@lists.linux.dev
> Cc: linux-mm@kvack.org
> Signed-off-by: Anna-Maria Behnsen <anna-maria@linutronix.de>
> ---
> include/linux/delay.h | 2 +-
> mm/damon/core.c | 2 +-
> 2 files changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/include/linux/delay.h b/include/linux/delay.h
> index ff9cda975e30..2bc586aa2068 100644
> --- a/include/linux/delay.h
> +++ b/include/linux/delay.h
> @@ -68,7 +68,7 @@ static inline void usleep_range(unsigned long min, unsigned long max)
> usleep_range_state(min, max, TASK_UNINTERRUPTIBLE);
> }
>
> -static inline void usleep_idle_range(unsigned long min, unsigned long max)
> +static inline void usleep_range_idle(unsigned long min, unsigned long max)
> {
> usleep_range_state(min, max, TASK_IDLE);
> }
> diff --git a/mm/damon/core.c b/mm/damon/core.c
> index 7a87628b76ab..94fe2f1f9b0e 100644
> --- a/mm/damon/core.c
> +++ b/mm/damon/core.c
> @@ -1887,7 +1887,7 @@ static void kdamond_usleep(unsigned long usecs)
> if (usecs > 20 * USEC_PER_MSEC)
> schedule_timeout_idle(usecs_to_jiffies(usecs));
> else
> - usleep_idle_range(usecs, usecs + 1);
> + usleep_range_idle(usecs, usecs + 1);
> }
>
> /* Returns negative error code if it's not activated but should return */
Other than the trivial nit,
Reviewed-by: SeongJae Park <sj@kernel.org>
Thanks,
SJ
>
> --
> 2.39.2
>
>
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH 08/15] mm/damon/core: Use generic upper bound recommondation for usleep_range()
2024-09-04 13:04 [PATCH 00/15] timers: Cleanup delay/sleep related mess Anna-Maria Behnsen
2024-09-04 13:04 ` [PATCH 05/15] timers: Rename sleep_idle_range() to sleep_range_idle() Anna-Maria Behnsen
@ 2024-09-04 13:04 ` Anna-Maria Behnsen
2024-09-06 16:31 ` SeongJae Park
2024-09-04 14:44 ` [PATCH 00/15] timers: Cleanup delay/sleep related mess Rafael J. Wysocki
2024-10-17 14:19 ` (subset) " Mark Brown
3 siblings, 1 reply; 8+ messages in thread
From: Anna-Maria Behnsen @ 2024-09-04 13:04 UTC (permalink / raw)
To: Frederic Weisbecker, Thomas Gleixner, Jonathan Corbet
Cc: linux-kernel, Len Brown, Rafael J. Wysocki, Anna-Maria Behnsen,
SeongJae Park, Andrew Morton, damon, linux-mm
The upper bound for usleep_range_idle() was taken from the outdated
documentation. As a recommondation for the upper bound of usleep_range()
depends on HZ configuration it is not possible to hard code it.
Use the define "USLEEP_RANGE_UPPER_BOUND" instead.
Cc: SeongJae Park <sj@kernel.org>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: damon@lists.linux.dev
Cc: linux-mm@kvack.org
Signed-off-by: Anna-Maria Behnsen <anna-maria@linutronix.de>
---
mm/damon/core.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/mm/damon/core.c b/mm/damon/core.c
index 94fe2f1f9b0e..4b971871da75 100644
--- a/mm/damon/core.c
+++ b/mm/damon/core.c
@@ -1883,8 +1883,7 @@ static unsigned long damos_wmark_wait_us(struct damos *scheme)
static void kdamond_usleep(unsigned long usecs)
{
- /* See Documentation/timers/timers-howto.rst for the thresholds */
- if (usecs > 20 * USEC_PER_MSEC)
+ if (usecs >= USLEEP_RANGE_UPPER_BOUND)
schedule_timeout_idle(usecs_to_jiffies(usecs));
else
usleep_range_idle(usecs, usecs + 1);
--
2.39.2
^ permalink raw reply [flat|nested] 8+ messages in thread* Re: [PATCH 08/15] mm/damon/core: Use generic upper bound recommondation for usleep_range()
2024-09-04 13:04 ` [PATCH 08/15] mm/damon/core: Use generic upper bound recommondation for usleep_range() Anna-Maria Behnsen
@ 2024-09-06 16:31 ` SeongJae Park
0 siblings, 0 replies; 8+ messages in thread
From: SeongJae Park @ 2024-09-06 16:31 UTC (permalink / raw)
To: Anna-Maria Behnsen
Cc: SeongJae Park, Frederic Weisbecker, Thomas Gleixner,
Jonathan Corbet, linux-kernel, Len Brown, Rafael J. Wysocki,
Andrew Morton, damon, linux-mm
On Wed, 04 Sep 2024 15:04:58 +0200 Anna-Maria Behnsen <anna-maria@linutronix.de> wrote:
> The upper bound for usleep_range_idle() was taken from the outdated
> documentation. As a recommondation for the upper bound of usleep_range()
> depends on HZ configuration it is not possible to hard code it.
>
> Use the define "USLEEP_RANGE_UPPER_BOUND" instead.
>
> Cc: SeongJae Park <sj@kernel.org>
> Cc: Andrew Morton <akpm@linux-foundation.org>
> Cc: damon@lists.linux.dev
> Cc: linux-mm@kvack.org
> Signed-off-by: Anna-Maria Behnsen <anna-maria@linutronix.de>
Reviewed-by: SeongJae Park <sj@kernel.org>
Thanks,
SJ
> ---
> mm/damon/core.c | 3 +--
> 1 file changed, 1 insertion(+), 2 deletions(-)
>
> diff --git a/mm/damon/core.c b/mm/damon/core.c
> index 94fe2f1f9b0e..4b971871da75 100644
> --- a/mm/damon/core.c
> +++ b/mm/damon/core.c
> @@ -1883,8 +1883,7 @@ static unsigned long damos_wmark_wait_us(struct damos *scheme)
>
> static void kdamond_usleep(unsigned long usecs)
> {
> - /* See Documentation/timers/timers-howto.rst for the thresholds */
> - if (usecs > 20 * USEC_PER_MSEC)
> + if (usecs >= USLEEP_RANGE_UPPER_BOUND)
> schedule_timeout_idle(usecs_to_jiffies(usecs));
> else
> usleep_range_idle(usecs, usecs + 1);
>
> --
> 2.39.2
>
>
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH 00/15] timers: Cleanup delay/sleep related mess
2024-09-04 13:04 [PATCH 00/15] timers: Cleanup delay/sleep related mess Anna-Maria Behnsen
2024-09-04 13:04 ` [PATCH 05/15] timers: Rename sleep_idle_range() to sleep_range_idle() Anna-Maria Behnsen
2024-09-04 13:04 ` [PATCH 08/15] mm/damon/core: Use generic upper bound recommondation for usleep_range() Anna-Maria Behnsen
@ 2024-09-04 14:44 ` Rafael J. Wysocki
2024-10-17 14:19 ` (subset) " Mark Brown
3 siblings, 0 replies; 8+ messages in thread
From: Rafael J. Wysocki @ 2024-09-04 14:44 UTC (permalink / raw)
To: Anna-Maria Behnsen
Cc: Frederic Weisbecker, Thomas Gleixner, Jonathan Corbet,
linux-kernel, Len Brown, Rafael J. Wysocki, Peter Zijlstra,
SeongJae Park, Andrew Morton, damon, linux-mm, Arnd Bergmann,
linux-arch, Heiner Kallweit, David S. Miller, Andy Whitcroft,
Joe Perches, Dwaipayan Ray, Liam Girdwood, Mark Brown,
Andrew Lunn, Jaroslav Kysela, Takashi Iwai, netdev, linux-sound,
Michael Ellerman, Nathan Lynch, linuxppc-dev,
Mauro Carvalho Chehab, linux-media
On Wed, Sep 4, 2024 at 3:05 PM Anna-Maria Behnsen
<anna-maria@linutronix.de> wrote:
>
> Hi,
>
> a question about which sleeping function should be used in acpi_os_sleep()
> started a discussion and examination about the existing documentation and
> implementation of functions which insert a sleep/delay.
>
> The result of the discussion was, that the documentation is outdated and
> the implemented fsleep() reflects the outdated documentation but doesn't
> help to reflect reality which in turns leads to the queue which covers the
> following things:
>
> - Minor changes (naming and typo fixes)
>
> - Split out all timeout and sleep related functions from hrtimer.c and timer.c
> into a separate file
>
> - Update function descriptions of sleep related functions
>
> - Change fsleep() to reflect reality
>
> - Rework all comments or users which obviously rely on the outdated
> documentation as they reference "Documentation/timers/timers-howto.rst"
>
> - Last but not least (as there are no more references): Update the outdated
> documentation and move it into a file with a self explaining file name
>
> The queue is available here and applies on top of tip/timers/core:
>
> git://git.kernel.org/pub/scm/linux/kernel/git/anna-maria/linux-devel.git timers/misc
>
> Cc: linux-kernel@vger.kernel.org
> Cc: Len Brown <len.brown@intel.com>
> Cc: Rafael J. Wysocki <rafael@kernel.org>
> To: Frederic Weisbecker <frederic@kernel.org>
> To: Thomas Gleixner <tglx@linutronix.de>
> To: Jonathan Corbet <corbet@lwn.net>
> Signed-off-by: Anna-Maria Behnsen <anna-maria@linutronix.de>
>
> Thanks,
>
> Anna-Maria
>
> ---
> Anna-Maria Behnsen (15):
> timers: Rename next_expiry_recalc() to be unique
> cpu: Use already existing usleep_range()
> Comments: Fix wrong singular form of jiffies
> timers: Move *sleep*() and timeout functions into a separate file
> timers: Rename sleep_idle_range() to sleep_range_idle()
> timers: Update function descriptions of sleep/delay related functions
> timers: Adjust flseep() to reflect reality
> mm/damon/core: Use generic upper bound recommondation for usleep_range()
> timers: Add a warning to usleep_range_state() for wrong order of arguments
> checkpatch: Remove broken sleep/delay related checks
> regulator: core: Use fsleep() to get best sleep mechanism
> iopoll/regmap/phy/snd: Fix comment referencing outdated timer documentation
> powerpc/rtas: Use fsleep() to minimize additional sleep duration
> media: anysee: Fix link to outdated sleep function documentation
> timers/Documentation: Cleanup delay/sleep documentation
I like the changes, so
Acked-by: Rafael J. Wysocki <rafael@kernel.org>
for the series.
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: (subset) [PATCH 00/15] timers: Cleanup delay/sleep related mess
2024-09-04 13:04 [PATCH 00/15] timers: Cleanup delay/sleep related mess Anna-Maria Behnsen
` (2 preceding siblings ...)
2024-09-04 14:44 ` [PATCH 00/15] timers: Cleanup delay/sleep related mess Rafael J. Wysocki
@ 2024-10-17 14:19 ` Mark Brown
3 siblings, 0 replies; 8+ messages in thread
From: Mark Brown @ 2024-10-17 14:19 UTC (permalink / raw)
To: Frederic Weisbecker, Thomas Gleixner, Jonathan Corbet,
Anna-Maria Behnsen
Cc: linux-kernel, Len Brown, Rafael J. Wysocki, Peter Zijlstra,
SeongJae Park, Andrew Morton, damon, linux-mm, Arnd Bergmann,
linux-arch, Heiner Kallweit, David S. Miller, Andy Whitcroft,
Joe Perches, Dwaipayan Ray, Liam Girdwood, Andrew Lunn,
Jaroslav Kysela, Takashi Iwai, netdev, linux-sound,
Michael Ellerman, Nathan Lynch, linuxppc-dev,
Mauro Carvalho Chehab, linux-media
On Wed, 04 Sep 2024 15:04:50 +0200, Anna-Maria Behnsen wrote:
> a question about which sleeping function should be used in acpi_os_sleep()
> started a discussion and examination about the existing documentation and
> implementation of functions which insert a sleep/delay.
>
> The result of the discussion was, that the documentation is outdated and
> the implemented fsleep() reflects the outdated documentation but doesn't
> help to reflect reality which in turns leads to the queue which covers the
> following things:
>
> [...]
Applied to
https://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator.git for-next
Thanks!
[11/15] regulator: core: Use fsleep() to get best sleep mechanism
commit: f20669fbcf99d0e15e94fb50929bb1c41618e197
All being well this means that it will be integrated into the linux-next
tree (usually sometime in the next 24 hours) and sent to Linus during
the next merge window (or sooner if it is a bug fix), however if
problems are discovered then the patch may be dropped or reverted.
You may get further e-mails resulting from automated or manual testing
and review of the tree, please engage with people reporting problems and
send followup patches addressing any issues that are reported if needed.
If any updates are required or you are submitting further changes they
should be sent as incremental updates against current git, existing
patches will not be replaced.
Please add any relevant lists and maintainers to the CCs when replying
to this mail.
Thanks,
Mark
^ permalink raw reply [flat|nested] 8+ messages in thread