All of lore.kernel.org
 help / color / mirror / Atom feed
From: Michael Ellerman <mpe@ellerman.id.au>
To: Anna-Maria Behnsen <anna-maria@linutronix.de>,
	Frederic Weisbecker <frederic@kernel.org>,
	Thomas Gleixner <tglx@linutronix.de>,
	Jonathan Corbet <corbet@lwn.net>
Cc: linux-kernel@vger.kernel.org, Len Brown <len.brown@intel.com>,
	"Rafael J. Wysocki" <rafael@kernel.org>,
	Anna-Maria Behnsen <anna-maria@linutronix.de>,
	Nathan Lynch <nathanl@linux.ibm.com>,
	linuxppc-dev@lists.ozlabs.org
Subject: Re: [PATCH 13/15] powerpc/rtas: Use fsleep() to minimize additional sleep duration
Date: Thu, 05 Sep 2024 22:24:05 +1000	[thread overview]
Message-ID: <87cyli5lwa.fsf@mail.lhotse> (raw)
In-Reply-To: <20240904-devel-anna-maria-b4-timers-flseep-v1-13-e98760256370@linutronix.de>

Anna-Maria Behnsen <anna-maria@linutronix.de> writes:
> When commit 38f7b7067dae ("powerpc/rtas: rtas_busy_delay() improvements")
> was introduced, documentation about proper usage of sleep realted functions
> was outdated.
>
...
> Use fsleep() directly instead of using an own heuristic for the best
> sleeping mechanism to use..

Thanks for tidying this up. I only learnt about fsleep() in the last ~year.

Two minor nits ...

> diff --git a/arch/powerpc/kernel/rtas.c b/arch/powerpc/kernel/rtas.c
> index f7e86e09c49f..0794ca28e51e 100644
> --- a/arch/powerpc/kernel/rtas.c
> +++ b/arch/powerpc/kernel/rtas.c
> @@ -1390,21 +1390,14 @@ bool __ref rtas_busy_delay(int status)
>  		 */
>  		ms = clamp(ms, 1U, 1000U);
>  		/*
> -		 * The delay hint is an order-of-magnitude suggestion, not
> -		 * a minimum. It is fine, possibly even advantageous, for
> -		 * us to pause for less time than hinted. For small values,
> -		 * use usleep_range() to ensure we don't sleep much longer
> -		 * than actually needed.
> -		 *
> -		 * See Documentation/timers/timers-howto.rst for
> -		 * explanation of the threshold used here. In effect we use
> -		 * usleep_range() for 9900 and 9901, msleep() for
> -		 * 9902-9905.
> +		 * The delay hint is an order-of-magnitude suggestion, not a
> +		 * minimum. It is fine, possibly even advantageous, for us to
> +		 * pause for less time than hinted. To make sure pause time will
> +		 * not be a way longer than requested independent of HZ
 
"not be way longer" reads better I think?

> +		 * configuration, use fsleep(). See fsleep() for detailes of
                                                                 ^
                                                                 details
> +		 * used sleeping functions.
>  		 */
> -		if (ms <= 20)
> -			usleep_range(ms * 100, ms * 1000);
> -		else
> -			msleep(ms);
> +		fsleep(ms * 1000);
>  		break;
>  	case RTAS_BUSY:
>  		ret = true;

Acked-by: Michael Ellerman <mpe@ellerman.id.au> (powerpc)


cheers


  reply	other threads:[~2024-09-05 12:24 UTC|newest]

Thread overview: 43+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-09-04 13:04 [PATCH 00/15] timers: Cleanup delay/sleep related mess Anna-Maria Behnsen
2024-09-04 13:04 ` [PATCH 01/15] timers: Rename next_expiry_recalc() to be unique Anna-Maria Behnsen
2024-09-06 13:25   ` Frederic Weisbecker
2024-09-08 18:58   ` [tip: timers/core] " tip-bot2 for Anna-Maria Behnsen
2024-09-04 13:04 ` [PATCH 02/15] cpu: Use already existing usleep_range() Anna-Maria Behnsen
2024-09-06 13:27   ` Frederic Weisbecker
2024-09-08 18:58   ` [tip: timers/core] " tip-bot2 for Anna-Maria Behnsen
2024-09-04 13:04 ` [PATCH 03/15] Comments: Fix wrong singular form of jiffies Anna-Maria Behnsen
2024-09-05  8:42   ` Geert Uytterhoeven
2024-09-08 18:58   ` [tip: timers/core] treewide: Fix wrong singular form of jiffies in comments tip-bot2 for Anna-Maria Behnsen
2024-09-04 13:04 ` [PATCH 04/15] timers: Move *sleep*() and timeout functions into a separate file Anna-Maria Behnsen
2024-09-06 13:42   ` Frederic Weisbecker
2024-09-09  8:10     ` Anna-Maria Behnsen
2024-09-09 12:11       ` Thomas Gleixner
2024-09-08 18:58   ` [tip: timers/core] " tip-bot2 for 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-06 13:45   ` Frederic Weisbecker
2024-09-06 16:25   ` SeongJae Park
2024-09-08 18:58   ` [tip: timers/core] " tip-bot2 for Anna-Maria Behnsen
2024-09-04 13:04 ` [PATCH 06/15] timers: Update function descriptions of sleep/delay related functions Anna-Maria Behnsen
2024-09-04 14:30   ` Arnd Bergmann
2024-09-05  6:59   ` Thomas Gleixner
2024-09-05 16:07     ` Thomas Gleixner
2024-09-05 19:49       ` Anna-Maria Behnsen
2024-09-04 13:04 ` [PATCH 07/15] timers: Adjust flseep() to reflect reality 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-06 16:31   ` SeongJae Park
2024-09-04 13:04 ` [PATCH 09/15] timers: Add a warning to usleep_range_state() for wrong order of arguments Anna-Maria Behnsen
2024-09-04 13:05 ` [PATCH 10/15] checkpatch: Remove broken sleep/delay related checks Anna-Maria Behnsen
2024-09-05  1:28   ` Joe Perches
2024-09-05  8:04     ` Anna-Maria Behnsen
2024-09-04 13:05 ` [PATCH 11/15] regulator: core: Use fsleep() to get best sleep mechanism Anna-Maria Behnsen
2024-09-04 13:28   ` Mark Brown
2024-09-05  8:24     ` Anna-Maria Behnsen
2024-09-04 13:05 ` [PATCH 12/15] iopoll/regmap/phy/snd: Fix comment referencing outdated timer documentation Anna-Maria Behnsen
2024-09-04 14:03   ` Andrew Lunn
2024-09-05  8:15     ` Anna-Maria Behnsen
2024-09-04 13:05 ` [PATCH 13/15] powerpc/rtas: Use fsleep() to minimize additional sleep duration Anna-Maria Behnsen
2024-09-05 12:24   ` Michael Ellerman [this message]
2024-09-04 13:05 ` [PATCH 14/15] media: anysee: Fix link to outdated sleep function documentation Anna-Maria Behnsen
2024-09-04 13:05 ` [PATCH 15/15] timers/Documentation: Cleanup delay/sleep documentation Anna-Maria Behnsen
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

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87cyli5lwa.fsf@mail.lhotse \
    --to=mpe@ellerman.id.au \
    --cc=anna-maria@linutronix.de \
    --cc=corbet@lwn.net \
    --cc=frederic@kernel.org \
    --cc=len.brown@intel.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linuxppc-dev@lists.ozlabs.org \
    --cc=nathanl@linux.ibm.com \
    --cc=rafael@kernel.org \
    --cc=tglx@linutronix.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.