From: Eric Biggers <ebiggers@kernel.org>
To: Herbert Xu <herbert@gondor.apana.org.au>
Cc: Linux Crypto Mailing List <linux-crypto@vger.kernel.org>
Subject: Re: [PATCH 2/10] crypto: aead - Count error stats differently
Date: Wed, 15 Feb 2023 22:31:27 -0800 [thread overview]
Message-ID: <Y+3Nv2Me9c8KYcQU@sol.localdomain> (raw)
In-Reply-To: <Y+3GdBy7H5/sELON@gondor.apana.org.au>
On Thu, Feb 16, 2023 at 02:00:20PM +0800, Herbert Xu wrote:
> > > + if (IS_ENABLED(CONFIG_CRYPTO_STATS))
> > > + memset(istat, 0, sizeof(*istat));
> > > +
> >
> > Above is another place that can just do 'if (istat)'.
>
> As I mentioned before, this would create an unnecessary branch
> when STATS are enabled (which would presumably be the common case).
>
I was hoping the compiler would know the pointer is non-NULL, since it's created
through an expression like &foo->bar where bar is at nonzero offset, and foo is
also dereferenced. Unfortunately it does seem that's not the case, though,
probably because of some of the compiler flags the kernel is compiled with
(-fno-strict-aliasing and -fno-delete-null-pointer-checks, maybe?).
Anyway, if CONFIG_CRYPTO_STATS=y is the common case, that's unfortunate. Surely
hardly anyone actually uses the feature, and all this stats collection for every
crypto operation is for nothing?
Here's a thread where someone claimed that disabling CONFIG_CRYPTO_STATS
significantly improves performance:
https://lists.ceph.io/hyperkitty/list/ceph-users@ceph.io/thread/44GMO5UGOXDZKFSOQMCPPHYTREUEA3ZI/
IMO this feature should never have been accepted. But could we at least put the
stats collection behind a static branch that defaults to off? If someone really
wants to collect stats, they can set a sysctl that turns on the static branch.
- Eric
next prev parent reply other threads:[~2023-02-16 6:31 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-02-15 9:24 [PATCH 0/10] crypto: api - Restructure stats code Herbert Xu
2023-02-15 9:25 ` [PATCH 1/10] crypto: algapi - Move stat reporting into algapi Herbert Xu
2023-02-15 9:25 ` [PATCH 2/10] crypto: aead - Count error stats differently Herbert Xu
2023-02-16 5:35 ` Eric Biggers
2023-02-16 5:58 ` Herbert Xu
2023-02-16 5:45 ` Eric Biggers
2023-02-16 6:00 ` Herbert Xu
2023-02-16 6:31 ` Eric Biggers [this message]
2023-02-16 8:34 ` Herbert Xu
2023-02-15 9:25 ` [PATCH 3/10] crypto: akcipher " Herbert Xu
2023-02-15 9:25 ` [PATCH 4/10] crypto: hash " Herbert Xu
2023-02-16 5:58 ` Eric Biggers
2023-02-16 6:02 ` Herbert Xu
2023-02-16 6:14 ` Eric Biggers
2023-02-16 8:09 ` Herbert Xu
2023-02-15 9:25 ` [PATCH 5/10] crypto: acomp " Herbert Xu
2023-02-15 9:25 ` [PATCH 6/10] crypto: kpp " Herbert Xu
2023-02-15 9:25 ` [PATCH 7/10] crypto: skcipher " Herbert Xu
2023-02-15 9:25 ` [PATCH 8/10] crypto: rng " Herbert Xu
2023-02-16 5:46 ` Eric Biggers
2023-02-16 5:56 ` Herbert Xu
2023-02-16 6:01 ` Eric Biggers
2023-02-15 9:25 ` [PATCH 9/10] crypto: api - Move MODULE_ALIAS_CRYPTO to algapi.h Herbert Xu
2023-02-16 5:17 ` Eric Biggers
2023-02-16 5:18 ` Herbert Xu
2023-02-15 9:25 ` [PATCH 10/10] crypto: api - Check CRYPTO_USER instead of NET for report Herbert Xu
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=Y+3Nv2Me9c8KYcQU@sol.localdomain \
--to=ebiggers@kernel.org \
--cc=herbert@gondor.apana.org.au \
--cc=linux-crypto@vger.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox