From: David Laight <David.Laight@ACULAB.COM>
To: "'José Pekkarinen'" <jose.pekkarinen@foxhound.fi>,
"seanjc@google.com" <seanjc@google.com>,
"pbonzini@redhat.com" <pbonzini@redhat.com>,
"tglx@linutronix.de" <tglx@linutronix.de>,
"mingo@redhat.com" <mingo@redhat.com>,
"bp@alien8.de" <bp@alien8.de>,
"dave.hansen@linux.intel.com" <dave.hansen@linux.intel.com>,
"skhan@linuxfoundation.org" <skhan@linuxfoundation.org>
Cc: "x86@kernel.org" <x86@kernel.org>,
"linux-kernel-mentees@lists.linuxfoundation.org"
<linux-kernel-mentees@lists.linuxfoundation.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"kvm@vger.kernel.org" <kvm@vger.kernel.org>,
"hpa@zytor.com" <hpa@zytor.com>
Subject: RE: [PATCH] KVM: x86: replace do_div with div64_ul
Date: Tue, 31 Oct 2023 09:35:23 +0000 [thread overview]
Message-ID: <23f90fd3273a4d7f961b277758ac7af8@AcuMS.aculab.com> (raw)
In-Reply-To: <20231029093928.138570-1-jose.pekkarinen@foxhound.fi>
From: José Pekkarinen
> Sent: 29 October 2023 09:39
>
> Reported by coccinelle, there is a do_div call that does
> 64-by-32 divisions even in 64bit platforms, this patch will
> move it to div64_ul macro that will decide the correct
> division function for the platform underneath. The output
> the warning follows:
>
> arch/x86/kvm/lapic.c:1948:1-7: WARNING: do_div() does a 64-by-32 division, please consider using
> div64_ul instead.
That is about the worst message from the coccinelle scripts.
It really ought to ask you to check the domain on the values.
>
> Signed-off-by: José Pekkarinen <jose.pekkarinen@foxhound.fi>
> ---
> arch/x86/kvm/lapic.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/arch/x86/kvm/lapic.c b/arch/x86/kvm/lapic.c
> index 3e977dbbf993..0b90c6ad5091 100644
> --- a/arch/x86/kvm/lapic.c
> +++ b/arch/x86/kvm/lapic.c
> @@ -1945,7 +1945,7 @@ static void start_sw_tscdeadline(struct kvm_lapic *apic)
> guest_tsc = kvm_read_l1_tsc(vcpu, rdtsc());
>
> ns = (tscdeadline - guest_tsc) * 1000000ULL;
> - do_div(ns, this_tsc_khz);
> + div64_ul(ns, this_tsc_khz);
Did you test this?
Hint - you didn't.
David
>
> if (likely(tscdeadline > guest_tsc) &&
> likely(ns > apic->lapic_timer.timer_advance_ns)) {
> --
> 2.39.2
-
Registered Address Lakeside, Bramley Road, Mount Farm, Milton Keynes, MK1 1PT, UK
Registration No: 1397386 (Wales)
_______________________________________________
Linux-kernel-mentees mailing list
Linux-kernel-mentees@lists.linuxfoundation.org
https://lists.linuxfoundation.org/mailman/listinfo/linux-kernel-mentees
WARNING: multiple messages have this Message-ID (diff)
From: David Laight <David.Laight@ACULAB.COM>
To: "'José Pekkarinen'" <jose.pekkarinen@foxhound.fi>,
"seanjc@google.com" <seanjc@google.com>,
"pbonzini@redhat.com" <pbonzini@redhat.com>,
"tglx@linutronix.de" <tglx@linutronix.de>,
"mingo@redhat.com" <mingo@redhat.com>,
"bp@alien8.de" <bp@alien8.de>,
"dave.hansen@linux.intel.com" <dave.hansen@linux.intel.com>,
"skhan@linuxfoundation.org" <skhan@linuxfoundation.org>
Cc: "x86@kernel.org" <x86@kernel.org>,
"hpa@zytor.com" <hpa@zytor.com>,
"kvm@vger.kernel.org" <kvm@vger.kernel.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"linux-kernel-mentees@lists.linuxfoundation.org"
<linux-kernel-mentees@lists.linuxfoundation.org>
Subject: RE: [PATCH] KVM: x86: replace do_div with div64_ul
Date: Tue, 31 Oct 2023 09:35:23 +0000 [thread overview]
Message-ID: <23f90fd3273a4d7f961b277758ac7af8@AcuMS.aculab.com> (raw)
In-Reply-To: <20231029093928.138570-1-jose.pekkarinen@foxhound.fi>
From: José Pekkarinen
> Sent: 29 October 2023 09:39
>
> Reported by coccinelle, there is a do_div call that does
> 64-by-32 divisions even in 64bit platforms, this patch will
> move it to div64_ul macro that will decide the correct
> division function for the platform underneath. The output
> the warning follows:
>
> arch/x86/kvm/lapic.c:1948:1-7: WARNING: do_div() does a 64-by-32 division, please consider using
> div64_ul instead.
That is about the worst message from the coccinelle scripts.
It really ought to ask you to check the domain on the values.
>
> Signed-off-by: José Pekkarinen <jose.pekkarinen@foxhound.fi>
> ---
> arch/x86/kvm/lapic.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/arch/x86/kvm/lapic.c b/arch/x86/kvm/lapic.c
> index 3e977dbbf993..0b90c6ad5091 100644
> --- a/arch/x86/kvm/lapic.c
> +++ b/arch/x86/kvm/lapic.c
> @@ -1945,7 +1945,7 @@ static void start_sw_tscdeadline(struct kvm_lapic *apic)
> guest_tsc = kvm_read_l1_tsc(vcpu, rdtsc());
>
> ns = (tscdeadline - guest_tsc) * 1000000ULL;
> - do_div(ns, this_tsc_khz);
> + div64_ul(ns, this_tsc_khz);
Did you test this?
Hint - you didn't.
David
>
> if (likely(tscdeadline > guest_tsc) &&
> likely(ns > apic->lapic_timer.timer_advance_ns)) {
> --
> 2.39.2
-
Registered Address Lakeside, Bramley Road, Mount Farm, Milton Keynes, MK1 1PT, UK
Registration No: 1397386 (Wales)
next prev parent reply other threads:[~2023-10-31 9:42 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-10-29 9:39 [PATCH] KVM: x86: replace do_div with div64_ul José Pekkarinen
2023-10-29 9:39 ` José Pekkarinen
2023-10-30 16:12 ` Sean Christopherson via Linux-kernel-mentees
2023-10-30 16:12 ` Sean Christopherson
2023-10-31 9:35 ` David Laight [this message]
2023-10-31 9:35 ` David Laight
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=23f90fd3273a4d7f961b277758ac7af8@AcuMS.aculab.com \
--to=david.laight@aculab.com \
--cc=bp@alien8.de \
--cc=dave.hansen@linux.intel.com \
--cc=hpa@zytor.com \
--cc=jose.pekkarinen@foxhound.fi \
--cc=kvm@vger.kernel.org \
--cc=linux-kernel-mentees@lists.linuxfoundation.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@redhat.com \
--cc=pbonzini@redhat.com \
--cc=seanjc@google.com \
--cc=skhan@linuxfoundation.org \
--cc=tglx@linutronix.de \
--cc=x86@kernel.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.