It looses information as its doing integer division
Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/tools/pull/184)
Also, while I'm in here, fix an aliasing issue in threadcount, in which
the main routine had a variable overriding the global one.
Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/tools/pull/184)
Make it do the same math the other tests do
Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/tools/pull/184)
Like the other tests, measure time per thread and average those
Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/tools/pull/184)
modify randbytes to measure time the way the other tests do
Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/tools/pull/184)
Convert it to do the same math the other tests do
Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/tools/pull/184)
like handshake and newrawkey, record times per thread and average them
Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/tools/pull/184)
the handshake test records the average time of each thread running
its test, while other tests record the overall duration, leading to
inconsistencies in how we do measurement.
Bring newrawkey into line with how handshake does it.
Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/tools/pull/184)
Add a test to iteratively call [read|write] lock/unlock and see how many
iterations we can get through for a given number of threads
Also accepts an environment variable LOCK_WRITERS to designate how many
of the started threads should be write threads vs read threads
Reviewed-by: Paul Dale <ppzgs1@gmail.com>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/tools/pull/168)
threadcount is defined globally and in main, which is fine, but doing so
causes assignments to use the local scope rather than the global, which
results in div-by-zero in the thread function when we divide NUM_CALLS
by threadcount
Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Hugo Landau <hlandau@openssl.org>
(Merged from https://github.com/openssl/tools/pull/182)
Let Makefile to use CC variable to chose compiler conveniently.
Rename current CFLAGS to CPPFLAGS.
Also we need to pass '-pthread' option on OpenBSD. The option
is carried in CFLAGS now.
Reviewed-by: Neil Horman <nhorman@openssl.org>
Reviewed-by: Richard Levitte <levitte@openssl.org>
Reviewed-by: Dmitry Belyavskiy <beldmit@gmail.com>
(Merged from https://github.com/openssl/tools/pull/188)
Add a check to ensure that we don't merge prs that don't have severity:
urgent or approval: ready to merge set
Reviewed-by: Richard Levitte <levitte@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/tools/pull/190)
updating instructions to remind us to notify community platform owners of a freeze
Reviewed-by: Richard Levitte <levitte@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/tools/pull/190)
Co-authored-by: Anton Arapov <anton@deadbeef.mx>
Reviewed-by: Anton Arapov <anton@openssl.org>
Reviewed-by: Paul Dale <ppzgs1@gmail.com>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/tools/pull/187)
We change the tests to perform the same number
of iterations regardless of the thread counts.
Although this raises the running time for small
number of threads, this avoids very long running
times for 100 or more threads.
Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/tools/pull/162)
Otherwise with larger number of threads it takes too long
to run.
Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/tools/pull/162)
using ghmerge currently creates errors for me, in the form of inability
to load various python packages, as fedora moved to python3 several
releases ago
propose updating the use of python to python3 here to support recent
distributions.
Reviewed-by: Hugo Landau <hlandau@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/tools/pull/176)
"copryight" -> "copyright"
Reviewed-by: Hugo Landau <hlandau@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/tools/pull/173)
When I build to run these tests under perf, I need to include a few
extra cflags (notably -rpath an -fno-omit-frame-pointer). They're not
generally needed, but it would be nice to be able to set them easily in
an environment.
Add CFLAGS and LDFLAGS support to allow for easy
configuration
Reviewed-by: Hugo Landau <hlandau@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/tools/pull/175)
Git worktrees have .git be a file containing a string identifying the
location of the real .git directory. Thus -d will not match these
worktrees. Use -e instead.
Reviewed-by: Richard Levitte <levitte@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/tools/pull/171)
Fixes#134
Co-authored-by: Matthias St. Pierre <matthias.st.pierre@ncp-e.com>
Reviewed-by: Matthias St. Pierre <Matthias.St.Pierre@ncp-e.com>
Reviewed-by: Paul Dale <pauli@openssl.org>
(Merged from https://github.com/openssl/tools/pull/170)
The copyright in README.md is supposed to have global scope.
Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Richard Levitte <levitte@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/tools/pull/159)
This splits up HOWTO-make-a-release.md into two new documents that reflect
the fact that *staging* and *publishing* a release are really two separate
things.
This also reflects that we're working towards full automation for staging
releases.
Reviewed-by: Paul Dale <pauli@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/tools/pull/145)
We repeatedly attempt to load an RSA Private Key and measure performance.
Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Dmitry Belyavskiy <beldmit@gmail.com>
Reviewed-by: Paul Dale <pauli@openssl.org>
(Merged from https://github.com/openssl/tools/pull/161)
The basic data of what is considered premium and what is considered
public releases, a new bash function is added, std_release_type(), found in
release-tools/release-aux/release-data-fn.sh.
Along with this, the non-descript variable 'tag' is renamed to 'release_tag',
and a spelling error is corrected.
Fixes#157
Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/tools/pull/160)
This tests calls the OSSL_PROVIDER_do_all() function repeatedly in a loop.
This function can be called directly by user code, but is also used during
the initialisation of an SSL_CTX to discover TLS capabilities from
providers (e.g. pluggable groups etc).
The underlying internal function ossl_provider_doall_activated() will
also be tested by this. That function is called during algorithm fetching
(if the algorithms have not yet been cached).
Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Paul Dale <pauli@openssl.org>
(Merged from https://github.com/openssl/tools/pull/154)
This test just call X509_STORE_CTX_get1_issuer() in a loop with an empty
store. This function is usually called as part of chain building during a
certificate verify operation.
Reviewed-by: Paul Dale <pauli@openssl.org>
(Merged from https://github.com/openssl/tools/pull/150)
Correcting these issues:
- The update branch and release branch were created each on different sides
of a 'next_release_state' call, which made them differ even though there
shouldn't be any difference (i.e. --branch was given or implied).
- Running 'do-copyright-year' was done after configuration, and may change
Configure, which means that the following 'make' call may reconfigure and
intentionally fail, causing release staging failure.
- In the metadata, the 'staging_update_branch' entry was set to the original
update branch.
Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/tools/pull/153)
Unlike "speed" this performs RSA operations in parallel using threads
(as opposed to the -multi speed option which uses "fork").
Reviewed-by: Paul Dale <pauli@openssl.org>
(Merged from https://github.com/openssl/tools/pull/152)
We add a performance test for repeatedly calling
EVP_PKEY_new_raw_public_key_ex(). Note this test does not support 1.1.1.
Reviewed-by: Paul Dale <pauli@openssl.org>
(Merged from https://github.com/openssl/tools/pull/149)
We repeatedly call SSL_new() and BIO_new() (followed by appropriate free
calls), for a specified number of threads.
Reviewed-by: Paul Dale <pauli@openssl.org>
(Merged from https://github.com/openssl/tools/pull/148)
We move some code out of the randbytes test into perflib so we can later
reuse it.
Reviewed-by: Richard Levitte <levitte@openssl.org>
(Merged from https://github.com/openssl/tools/pull/146)