All of lore.kernel.org
 help / color / mirror / Atom feed
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

  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.