From: Aaron Conole <aconole@redhat.com>
To: David Marchand <david.marchand@redhat.com>
Cc: dev@dpdk.org, stable@dpdk.org
Subject: Re: [dpdk-stable] [PATCH] test/common: fix log2 check
Date: Wed, 04 Dec 2019 16:19:56 -0500 [thread overview]
Message-ID: <f7tsglzbxfn.fsf@dhcp-25.97.bos.redhat.com> (raw)
In-Reply-To: <20191204205241.5691-1-david.marchand@redhat.com> (David Marchand's message of "Wed, 4 Dec 2019 21:52:41 +0100")
David Marchand <david.marchand@redhat.com> writes:
> We recently started to get random failures on the common_autotest ut with
> clang on Ubuntu 16.04.6.
>
> Example: https://travis-ci.com/DPDK/dpdk/jobs/263177424
>
> Wrong rte_log2_u64(0) val 0, expected ffffffff
> Test Failed
>
> The ut passes 0 to log2() to get an expected value.
>
> Quoting log2 / log(3) manual:
> If x is zero, then a pole error occurs, and the functions return
> -HUGE_VAL, -HUGE_VALF, or -HUGE_VALL, respectively.
>
> rte_log2_uXX helpers handle 0 as a special value and return 0.
> Let's have dedicated tests for this case.
>
> Fixes: 05c4345ef5c2 ("test: add unit test for integer log2 function")
> Cc: stable@dpdk.org
>
> Signed-off-by: David Marchand <david.marchand@redhat.com>
> ---
Acked-by: Aaron Conole <aconole@redhat.com>
Somethings that concern me:
1. A log2(0) should probably be an undetermined value, but this
effectively makes log2(0) == log2(1) so that if anyone uses these
for some mathematical work, it will have an exceptional behavior. I
know it's documented from a programmer perspective, but I am all for
documenting the mathematical side effect as well.
2. Why hasn't this been complaining for so long? Or has it and we just
haven't noticed? Were some compiler flags changed recently? (maybe
-funsafe-math was always set or something?)
-Aaron
next prev parent reply other threads:[~2019-12-04 21:20 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-12-04 20:52 David Marchand
2019-12-04 21:19 ` Aaron Conole [this message]
2019-12-05 8:31 ` David Marchand
2019-12-05 14:39 ` Aaron Conole
2019-12-20 14:01 ` [dpdk-stable] [PATCH v2] " David Marchand
2019-12-20 14:06 ` David Marchand
2019-12-20 14:43 ` David Marchand
2019-12-20 14:52 ` Aaron Conole
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=f7tsglzbxfn.fsf@dhcp-25.97.bos.redhat.com \
--to=aconole@redhat.com \
--cc=david.marchand@redhat.com \
--cc=dev@dpdk.org \
--cc=stable@dpdk.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).