patches for DPDK stable branches
 help / color / mirror / Atom feed
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


  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).