All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Nicholas Piggin" <npiggin@gmail.com>
To: "Cédric Le Goater" <clg@kaod.org>,
	"Richard Henderson" <richard.henderson@linaro.org>,
	"Daniel Henrique Barboza" <danielhb413@gmail.com>
Cc: "David Gibson" <david@gibson.dropbear.id.au>,
	"Greg Kurz" <groug@kaod.org>,
	"Harsh Prateek Bora" <harshpb@linux.ibm.com>,
	"Pavel Dovgalyuk" <pavel.dovgaluk@ispras.ru>,
	"Paolo Bonzini" <pbonzini@redhat.com>,
	qemu-ppc@nongnu.org, qemu-devel@nongnu.org,
	"Peter Maydell" <peter.maydell@linaro.org>,
	"Daniel P. Berrangé" <berrange@redhat.com>
Subject: Re: [PATCH v2 05/19] host-utils: Add muldiv64_round_up
Date: Tue, 05 Sep 2023 13:56:23 +1000	[thread overview]
Message-ID: <CVAOJDUN9ZX3.1WW9S8M3AWBQY@wheely> (raw)
In-Reply-To: <e32cdddb-8455-7bae-3280-4ab7d33d4a57@kaod.org>

On Mon Sep 4, 2023 at 11:30 PM AEST, Cédric Le Goater wrote:
> On 9/4/23 15:07, Nicholas Piggin wrote:
> > On Sat Sep 2, 2023 at 3:02 AM AEST, Richard Henderson wrote:
> >> On 9/1/23 04:51, Cédric Le Goater wrote:
> >>> Adding more reviewers since this patch is modifying a common service.
> >>>
> >>> Thanks,
> >>>
> >>> C.
> >>>
> >>>
> >>> On 8/8/23 06:19, Nicholas Piggin wrote:
> >>>> This will be used for converting time intervals in different base units
> >>>> to host units, for the purpose of scheduling timers to emulate target
> >>>> timers. Timers typically must not fire before their requested expiry
> >>>> time but may fire some time afterward, so rounding up is the right way
> >>>> to implement these.
> >>>>
> >>>> Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
> >>>> ---
> >>>>    include/qemu/host-utils.h | 21 ++++++++++++++++++++-
> >>>>    1 file changed, 20 insertions(+), 1 deletion(-)
> >>>>
> >>>> diff --git a/include/qemu/host-utils.h b/include/qemu/host-utils.h
> >>>> index 011618373e..e2a50a567f 100644
> >>>> --- a/include/qemu/host-utils.h
> >>>> +++ b/include/qemu/host-utils.h
> >>>> @@ -56,6 +56,11 @@ static inline uint64_t muldiv64(uint64_t a, uint32_t b, uint32_t c)
> >>>>        return (__int128_t)a * b / c;
> >>>>    }
> >>>> +static inline uint64_t muldiv64_round_up(uint64_t a, uint32_t b, uint32_t c)
> >>>> +{
> >>>> +    return ((__int128_t)a * b + c - 1) / c;
> >>>> +}
> >>>> +
> >>>>    static inline uint64_t divu128(uint64_t *plow, uint64_t *phigh,
> >>>>                                   uint64_t divisor)
> >>>>    {
> >>>> @@ -83,7 +88,8 @@ void mulu64(uint64_t *plow, uint64_t *phigh, uint64_t a, uint64_t b);
> >>>>    uint64_t divu128(uint64_t *plow, uint64_t *phigh, uint64_t divisor);
> >>>>    int64_t divs128(uint64_t *plow, int64_t *phigh, int64_t divisor);
> >>>> -static inline uint64_t muldiv64(uint64_t a, uint32_t b, uint32_t c)
> >>>> +static inline uint64_t __muldiv64(uint64_t a, uint32_t b, uint32_t c,
> >>>> +                                  bool round_up)
> >>
> >> Perhaps better avoiding the reserved name: muldiv64_internal?
> > 
> > Thanks, that would be okay. Or could be muldiv64_rounding?
> > 
> >>
> >> Otherwise,
> >> Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
>
> oh, and I already sent the PR with the Rb of Richard ... :/
> Sorry about that. Can we fix it later ? Or I will respin with
> the update.
>
> Someone really ought to take over PPC. Daniel and I are real
> busy on other subsystems. Volunteers ?

I suppose I should. I could try do the next PR after this one
is merged.

Thanks,
Nick


  reply	other threads:[~2023-09-05  3:57 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-08-08  4:19 [PATCH v2 for-8.2 00/19] ppc: record-replay enablement and fixes Nicholas Piggin
2023-08-08  4:19 ` [PATCH v2 01/19] ppc/vhyp: reset exception state when handling vhyp hcall Nicholas Piggin
2023-08-08  4:19 ` [PATCH v2 02/19] ppc/vof: Fix missed fields in VOF cleanup Nicholas Piggin
2023-08-17  2:57   ` Alexey Kardashevskiy
2023-08-08  4:19 ` [PATCH v2 03/19] hw/ppc/ppc.c: Tidy over-long lines Nicholas Piggin
2023-08-08  4:19 ` [PATCH v2 04/19] hw/ppc: Introduce functions for conversion between timebase and nanoseconds Nicholas Piggin
2023-08-08  4:19 ` [PATCH v2 05/19] host-utils: Add muldiv64_round_up Nicholas Piggin
2023-09-01 11:51   ` Cédric Le Goater
2023-09-01 17:02     ` Richard Henderson
2023-09-04 13:07       ` Nicholas Piggin
2023-09-04 13:30         ` Cédric Le Goater
2023-09-05  3:56           ` Nicholas Piggin [this message]
2023-09-05  6:48             ` Cédric Le Goater
2023-09-05  9:09             ` Philippe Mathieu-Daudé
2023-09-06  9:21         ` Cédric Le Goater
2023-08-08  4:19 ` [PATCH v2 06/19] hw/ppc: Round up the decrementer interval when converting to ns Nicholas Piggin
2023-08-08  4:19 ` [PATCH v2 07/19] hw/ppc: Avoid decrementer rounding errors Nicholas Piggin
2023-08-08  4:19 ` [PATCH v2 08/19] target/ppc: Sign-extend large decrementer to 64-bits Nicholas Piggin
2023-09-01 12:25   ` Cédric Le Goater
2023-09-04 13:09     ` Nicholas Piggin
2023-08-08  4:19 ` [PATCH v2 09/19] hw/ppc: Always store the decrementer value Nicholas Piggin
2023-08-08  4:19 ` [PATCH v2 10/19] target/ppc: Migrate DECR SPR Nicholas Piggin
2023-08-09 12:56   ` Cédric Le Goater
2023-08-10  1:12     ` Nicholas Piggin
2023-08-08  4:19 ` [PATCH v2 11/19] hw/ppc: Reset timebase facilities on machine reset Nicholas Piggin
2023-08-08  4:19 ` [PATCH v2 12/19] hw/ppc: Read time only once to perform decrementer write Nicholas Piggin
2023-08-08  4:19 ` [PATCH v2 13/19] target/ppc: Fix CPU reservation migration for record-replay Nicholas Piggin
2023-08-08  4:19 ` [PATCH v2 14/19] target/ppc: Fix timebase reset with record-replay Nicholas Piggin
2023-08-08  4:19 ` [PATCH v2 15/19] spapr: Fix machine reset deadlock from replay-record Nicholas Piggin
2023-08-08  4:19 ` [PATCH v2 16/19] spapr: Fix record-replay machine reset consuming too many events Nicholas Piggin
2023-08-08  4:19 ` [PATCH v2 17/19] tests/avocado: boot ppc64 pseries replay-record test to Linux VFS mount Nicholas Piggin
2023-08-08  4:20 ` [PATCH v2 18/19] tests/avocado: reverse-debugging cope with re-executing breakpoints Nicholas Piggin
2023-08-08  4:20 ` [PATCH v2 19/19] tests/avocado: ppc64 reverse debugging tests for pseries and powernv Nicholas Piggin
2023-08-29 16:43 ` [PATCH v2 for-8.2 00/19] ppc: record-replay enablement and fixes Cédric Le Goater

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=CVAOJDUN9ZX3.1WW9S8M3AWBQY@wheely \
    --to=npiggin@gmail.com \
    --cc=berrange@redhat.com \
    --cc=clg@kaod.org \
    --cc=danielhb413@gmail.com \
    --cc=david@gibson.dropbear.id.au \
    --cc=groug@kaod.org \
    --cc=harshpb@linux.ibm.com \
    --cc=pavel.dovgaluk@ispras.ru \
    --cc=pbonzini@redhat.com \
    --cc=peter.maydell@linaro.org \
    --cc=qemu-devel@nongnu.org \
    --cc=qemu-ppc@nongnu.org \
    --cc=richard.henderson@linaro.org \
    /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.