From: John Kacur <jkacur@redhat.com>
To: Josh Cartwright <joshc@ni.com>
Cc: John Kacur <jkacur@redhat.com>,
Clark Williams <williams@redhat.com>,
linux-rt-users@vger.kernel.org
Subject: Re: [PATCH rt-tests 3/9] cyclictest: drop unnecessary numa_on_and_available() check
Date: Thu, 17 Sep 2015 21:15:51 +0200 (CEST) [thread overview]
Message-ID: <alpine.LFD.2.20.1509172103120.10090@riemann> (raw)
In-Reply-To: <20150916194728.GH3126@jcartwri.amer.corp.natinst.com>
On Wed, 16 Sep 2015, Josh Cartwright wrote:
> On Tue, Sep 15, 2015 at 11:50:16PM +0200, John Kacur wrote:
> > On Mon, 31 Aug 2015, Josh Cartwright wrote:
> >
> > > The condition that numa_on_and_available() checks is impossible to hit,
> > > as it's already being checked during process_options().
> > >
> > > Removal of numa_on_and_available() also has the side effect of removing
> > > the following warning during build:
> > >
> > > src/cyclictest/rt_numa.h:259:15: warning: implicit declaration of function ???numa_available??? [-Wimplicit-function-declaration]
> > >
> > > Signed-off-by: Josh Cartwright <joshc@ni.com>
>
> [..]
>
> > We don't support building without numa libs anymore, although we of
> > course support running on machines without numa. Never-the-less I
> > created two versions of numa_on_and_available, one for if you build with
> > the unsupported NUMA=0 and one for if you build with NUMA=1, which is
> > the default.
>
> :(. You risk plenty of embedded folks who don't much care about NUMA.
Sorry, there is some confusion here, and it's probably partly on my side.
We do of course still support building without NUMA. All that I was really
referring to was, that if you are building on platforms that support NUMA,
we are making the development libs a requirement for compiling, in our
distro spec files, even you are running without NUMA
But please continue to test with NUMA=0 builds as well as the default, and
report / or fix any builds that don't work with NUMA=0
>
> > I would prefer not to drop this function, since I think it cleanly
> > documents the fact that numa_available must be called before any other
> > numa library functions are defined.
> >
> > As Josh Cartwright reported though, there was no need to call it from
> > main() since it was already tested in process_options(), so I tested it
> > there.
> >
> > Tested by building with NUMA=0, NUMA=1 and with the non-standard
> > -Wimplicit-function-declaration
> >
> > Reported-by: Signed-off-by: Josh Cartwright <joshc@ni.com>
>
> s/Signed-off-by: /
>
Oops, okay, fixing that msg.
> :)
>
> > Signed-off-by: John Kacur <jkacur@redhat.com>
> > ---
> > src/cyclictest/cyclictest.c | 7 ++-----
> > src/cyclictest/rt_numa.h | 18 +++++++++++++-----
> > 2 files changed, 15 insertions(+), 10 deletions(-)
> >
> > diff --git a/src/cyclictest/cyclictest.c b/src/cyclictest/cyclictest.c
> > index 213c527fd714..b3abfcc67407 100644
> > --- a/src/cyclictest/cyclictest.c
> > +++ b/src/cyclictest/cyclictest.c
> > @@ -1451,12 +1451,11 @@ static void process_options (int argc, char *argv[], int max_cpus)
> > setvbuf(stdout, NULL, _IONBF, 0); break;
> > case 'U':
> > case OPT_NUMA: /* NUMA testing */
> > + numa = 1; /* Turn numa on */
> > if (smp)
> > fatal("numa and smp options are mutually exclusive\n");
> > + numa_on_and_available();
>
> ...except numa is always on here. So why check if NUMA is enabled
> again? Seems like a waste.
>
> > #ifdef NUMA
> > - if (numa_available() == -1)
> > - fatal("NUMA functionality not available!");
>
> Perhaps a middle ground should be to keep this check around and define a
> static inline numa_available() in the NUMA:=0 case which unconditionally
> returns -1.
>
> Thanks for taking a look,
You are of course correct here, but it's just one extra check at init
time, so the impact is pretty close to zero.
Will consider more clean-ups in the future, but it's probably not worth
obsessing about. Like I said, I like the api more as documentation for the
process of setting numa up.
Thanks
John
next prev parent reply other threads:[~2015-09-17 19:16 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-08-31 16:35 [PATCH rt-tests 0/9] more rt-tests cleanups and a cyclictest feature Josh Cartwright
2015-08-31 16:35 ` [PATCH rt-tests 1/9] cyclictest: consistently make all functions 'static' Josh Cartwright
2015-09-02 13:03 ` John Kacur
2015-08-31 16:35 ` [PATCH rt-tests 2/9] cyclictest: fixup documentation for --priority option Josh Cartwright
2015-09-01 21:03 ` John Kacur
2015-09-01 21:11 ` Josh Cartwright
2015-08-31 16:35 ` [PATCH rt-tests 3/9] cyclictest: drop unnecessary numa_on_and_available() check Josh Cartwright
2015-09-15 21:50 ` John Kacur
2015-09-16 19:47 ` Josh Cartwright
2015-09-17 19:15 ` John Kacur [this message]
2015-08-31 16:35 ` [PATCH rt-tests 4/9] signaltest: drop unused tsnorm() Josh Cartwright
2015-09-15 22:00 ` John Kacur
2015-09-16 19:48 ` Josh Cartwright
2015-08-31 16:35 ` [PATCH rt-tests 5/9] cyclictest: use correct type when allocating cpu bitmask size Josh Cartwright
2015-09-15 22:19 ` John Kacur
2015-08-31 16:35 ` [PATCH rt-tests 6/9] cyclictest: drop impossible use_fifo conditional Josh Cartwright
2015-09-15 22:24 ` John Kacur
2015-08-31 16:35 ` [PATCH rt-tests 7/9] cyclictest: fail if use_fifo && thread creation failed Josh Cartwright
2015-09-15 22:25 ` John Kacur
2015-08-31 16:35 ` [PATCH rt-tests 8/9] error: mark fatal, err_exit, err_quit as being noreturn Josh Cartwright
2015-09-15 22:31 ` John Kacur
2015-08-31 16:35 ` [PATCH rt-tests 9/9] cyclictest: add option for dumping the histogram in a file Josh Cartwright
2015-09-15 23:05 ` John Kacur
2015-09-16 19:56 ` Josh Cartwright
2015-09-17 19:40 ` John Kacur
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=alpine.LFD.2.20.1509172103120.10090@riemann \
--to=jkacur@redhat.com \
--cc=joshc@ni.com \
--cc=linux-rt-users@vger.kernel.org \
--cc=williams@redhat.com \
/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).