From: "Jarkko Sakkinen" <jarkko@kernel.org>
To: "James Bottomley" <James.Bottomley@HansenPartnership.com>,
"Vitor Soares" <ivitro@gmail.com>,
<linux-integrity@vger.kernel.org>
Cc: <keyrings@vger.kernel.org>, "Peter Huewe" <peterhuewe@gmx.de>,
"Jason Gunthorpe" <jgg@ziepe.ca>,
"Mimi Zohar" <zohar@linux.ibm.com>,
"David Howells" <dhowells@redhat.com>,
"Paul Moore" <paul@paul-moore.com>,
"James Morris" <jmorris@namei.org>,
"Serge E. Hallyn" <serge@hallyn.com>,
<linux-kernel@vger.kernel.org>,
<linux-security-module@vger.kernel.org>
Subject: Re: [PATCH 1/3] tpm: Disable TCG_TPM2_HMAC by default
Date: Wed, 22 May 2024 17:13:41 +0300 [thread overview]
Message-ID: <D1G8HOCIDWTC.2ERVA0CYHLY0B@kernel.org> (raw)
In-Reply-To: <17a5dcd7aceb356587ef7c8f45b0f6359b2d2a91.camel@HansenPartnership.com>
On Wed May 22, 2024 at 4:35 PM EEST, James Bottomley wrote:
> On Wed, 2024-05-22 at 09:18 +0100, Vitor Soares wrote:
> > On Tue, 2024-05-21 at 08:33 -0400, James Bottomley wrote:
> > > On Tue, 2024-05-21 at 10:10 +0300, Jarkko Sakkinen wrote:
> > > > This benchmark could be done in user space using /dev/tpm0.
> > >
> > > Let's actually try that. If you have the ibmtss installed, the
> > > command to time primary key generation from userspace on your tpm
> > > is
> > >
> > > time tsscreateprimary -hi n -ecc nistp256
> > >
> > >
> > > And just for chuckles and grins, try it in the owner hierarchy as
> > > well (sometimes slow TPMs cache this)
> > >
> > > time tsscreateprimary -hi o -ecc nistp256
> > >
> > > And if you have tpm2 tools, the above commands should be:
> > >
> > > time tpm2_createprimary -C n -G ecc256
> > > time tpm2_createprimary -C o -G ecc256
> > >
> > > James
> > >
> > >
> >
> > Testing on an arm64 platform I get the following results.
> >
> > hmac disabled:
> > time modprobe tpm_tis_spi
> > real 0m2.776s
> > user 0m0.006s
> > sys 0m0.015s
> >
> > time tpm2_createprimary -C n -G ecc256
> > real 0m0.686s
> > user 0m0.044s
> > sys 0m0.025s
> >
> > time tpm2_createprimary -C o -G ecc256
> > real 0m0.638s
> > user 0m0.048s
> > sys 0m0.009s
> >
> >
> > hmac enabled:
> > time modprobe tpm_tis_spi
> > real 8m5.840s
> > user 0m0.005s
> > sys 0m0.018s
> >
> >
> > time tpm2_createprimary -C n -G ecc256
> > real 5m27.678s
> > user 0m0.059s
> > sys 0m0.009s
> >
> > (after first command)
> > real 0m0.395s
> > user 0m0.040s
> > sys 0m0.015s
> >
> > time tpm2_createprimary -C o -G ecc256
> > real 0m0.418s
> > user 0m0.049s
> > sys 0m0.009s
>
> That's interesting: it suggests the create primary is fast (as
> expected) but that the TPM is blocked for some reason. Is there
> anything else in dmesg if you do
>
> dmesg|grep -i tpm
>
> ?
>
> Unfortunately we don't really do timeouts on our end (we have the TPM
> do it instead), but we could instrument your kernel with command and
> time sent and returned. That may tell us where the problem lies.
If there was possibility to use bpftrace it is trivial to get histogram
of time used where. I can bake a script but I need to know first if it
is available in the first place before going through that trouble.
BR, Jarkko
next prev parent reply other threads:[~2024-05-22 14:13 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-05-19 23:51 [PATCH 0/3] KEYS: trusted: bug fixes Jarkko Sakkinen
2024-05-19 23:51 ` [PATCH 1/3] tpm: Disable TCG_TPM2_HMAC by default Jarkko Sakkinen
2024-05-21 7:03 ` Vitor Soares
2024-05-21 7:10 ` Jarkko Sakkinen
2024-05-21 12:33 ` James Bottomley
2024-05-21 13:00 ` Jarkko Sakkinen
2024-05-21 13:11 ` Jarkko Sakkinen
2024-05-21 13:16 ` Jarkko Sakkinen
2024-05-22 8:18 ` Vitor Soares
2024-05-22 12:01 ` Jarkko Sakkinen
2024-05-22 13:17 ` Vitor Soares
2024-05-22 13:31 ` Vitor Soares
2024-05-22 14:11 ` Jarkko Sakkinen
2024-05-22 14:20 ` James Bottomley
2024-05-22 14:39 ` Jarkko Sakkinen
2024-05-22 13:35 ` James Bottomley
2024-05-22 14:13 ` Jarkko Sakkinen [this message]
2024-05-22 14:58 ` Vitor Soares
2024-05-22 16:11 ` Jarkko Sakkinen
2024-05-23 7:59 ` Vitor Soares
2024-05-27 14:51 ` Jarkko Sakkinen
2024-05-27 15:01 ` Jarkko Sakkinen
2024-05-27 15:12 ` Jarkko Sakkinen
2024-05-27 15:34 ` Jarkko Sakkinen
2024-05-27 17:57 ` James Bottomley
2024-05-27 19:53 ` Jarkko Sakkinen
2024-05-27 20:01 ` Jarkko Sakkinen
2024-05-27 21:36 ` James Bottomley
2024-05-27 23:17 ` Jarkko Sakkinen
2024-05-27 23:44 ` James Bottomley
2024-05-28 1:04 ` Jarkko Sakkinen
2024-05-28 1:07 ` Jarkko Sakkinen
2024-05-19 23:51 ` [PATCH 2/3] KEYS: trusted: Fix memory leak in tpm2_key_encode() Jarkko Sakkinen
2024-05-19 23:51 ` [PATCH 3/3] KEYS: trusted: Do not use WARN when encode fails Jarkko Sakkinen
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=D1G8HOCIDWTC.2ERVA0CYHLY0B@kernel.org \
--to=jarkko@kernel.org \
--cc=James.Bottomley@HansenPartnership.com \
--cc=dhowells@redhat.com \
--cc=ivitro@gmail.com \
--cc=jgg@ziepe.ca \
--cc=jmorris@namei.org \
--cc=keyrings@vger.kernel.org \
--cc=linux-integrity@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-security-module@vger.kernel.org \
--cc=paul@paul-moore.com \
--cc=peterhuewe@gmx.de \
--cc=serge@hallyn.com \
--cc=zohar@linux.ibm.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.