From: Mimi Zohar <zohar@linux.vnet.ibm.com>
To: Jason Gunthorpe <jgg@ziepe.ca>, Alexander.Steffen@infineon.com
Cc: pmenzel@molgen.mpg.de, linux-integrity@vger.kernel.org,
linux-kernel@vger.kernel.org
Subject: Re: [Regression 4.15-rc2] New messages `tpm tpm0: A TPM error (2314) occurred continue selftest`
Date: Fri, 08 Dec 2017 11:17:51 -0500 [thread overview]
Message-ID: <1512749871.4364.9.camel@linux.vnet.ibm.com> (raw)
In-Reply-To: <20171208155641.GA2883@ziepe.ca>
On Fri, 2017-12-08 at 08:56 -0700, Jason Gunthorpe wrote:
> On Fri, Dec 08, 2017 at 12:14:04PM +0000, Alexander.Steffen@infineon.com wrote:
>
> > Is it really that ugly? I still need delay_msec to increase the
> > delay each round. I can see the benefit of your suggestion when it
> > is important to get the timing exactly right (and also account for
> > time spent elsewhere, when our code might not be executing). But in
> > this case having delays that are approximately right (or longer than
> > intended) is sufficient.
>
> For timeouts like this we really need to be above the TPM specified
> delay in all cases, even if usleep_range selected something
> smaller/larger.. The only way to do that is with an absolute timeout..
>
>
> > Anyway, from the log messages it is clear that tpm_msleep got called
> > seven times with delays of 20/40/80/160/320/640/1280ms. But still
> > all timestamps lie within the same second. How can this be with a
> > cumulated delay of ~2.5s?
>
> Yes, that does seem to be the bug, our sleep function doesn't work
> aynmore for some reason :|
>
> > Also, I've just noticed that despite the name tpm_msleep calls
> > usleep_range, not msleep. Can this have an influence? Should
> > tpm_msleep call msleep for longer delays, as suggested by
> > Documentation/timers/timers-howto.txt?
>
> This change was introduced recently and is probably the source of this
> regression.
msleep() waited a lot longer than the requested time, causing long
delays. Using usleep_range() still waits more than the requested
time, but less than msleep().
static inline void tpm_msleep(unsigned int delay_msec)
{
usleep_range((delay_msec * 1000) - TPM_TIMEOUT_RANGE_US,
delay_msec * 1000);
};
Other TPM performance improvements have not yet been upstreamed.
Mimi
WARNING: multiple messages have this Message-ID (diff)
From: Mimi Zohar <zohar@linux.vnet.ibm.com>
To: Jason Gunthorpe <jgg@ziepe.ca>, Alexander.Steffen@infineon.com
Cc: pmenzel@molgen.mpg.de, linux-integrity@vger.kernel.org,
linux-kernel@vger.kernel.org
Subject: Re: [Regression 4.15-rc2] New messages `tpm tpm0: A TPM error (2314) occurred continue selftest`
Date: Fri, 08 Dec 2017 11:17:51 -0500 [thread overview]
Message-ID: <1512749871.4364.9.camel@linux.vnet.ibm.com> (raw)
In-Reply-To: <20171208155641.GA2883@ziepe.ca>
On Fri, 2017-12-08 at 08:56 -0700, Jason Gunthorpe wrote:
> On Fri, Dec 08, 2017 at 12:14:04PM +0000, Alexander.Steffen@infineon.com wrote:
>
> > Is it really that ugly? I still need delay_msec to increase the
> > delay each round. I can see the benefit of your suggestion when it
> > is important to get the timing exactly right (and also account for
> > time spent elsewhere, when our code might not be executing). But in
> > this case having delays that are approximately right (or longer than
> > intended) is sufficient.
>
> For timeouts like this we really need to be above the TPM specified
> delay in all cases, even if usleep_range selected something
> smaller/larger.. The only way to do that is with an absolute timeout..
>
>
> > Anyway, from the log messages it is clear that tpm_msleep got called
> > seven times with delays of 20/40/80/160/320/640/1280ms. But still
> > all timestamps lie within the same second. How can this be with a
> > cumulated delay of ~2.5s?
>
> Yes, that does seem to be the bug, our sleep function doesn't work
> aynmore for some reason :|
>
> > Also, I've just noticed that despite the name tpm_msleep calls
> > usleep_range, not msleep. Can this have an influence? Should
> > tpm_msleep call msleep for longer delays, as suggested by
> > Documentation/timers/timers-howto.txt?
>
> This change was introduced recently and is probably the source of this
> regression.
msleep() waited a lot longer than the requested time, causing long
delays. Using usleep_range() still waits more than the requested
time, but less than msleep().
static inline void tpm_msleep(unsigned int delay_msec)
{
usleep_range((delay_msec * 1000) - TPM_TIMEOUT_RANGE_US,
delay_msec * 1000);
};
Other TPM performance improvements have not yet been upstreamed.
Mimi
next prev parent reply other threads:[~2017-12-08 16:17 UTC|newest]
Thread overview: 51+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-12-06 12:34 [Regression 4.15-rc2] New messages `tpm tpm0: A TPM error (2314) occurred continue selftest` Paul Menzel
2017-12-06 12:34 ` Paul Menzel
2017-12-06 16:40 ` Jason Gunthorpe
2017-12-06 16:40 ` Jason Gunthorpe
2017-12-07 15:56 ` Alexander.Steffen
2017-12-07 15:56 ` Alexander.Steffen
2017-12-07 18:37 ` Jason Gunthorpe
2017-12-07 18:37 ` Jason Gunthorpe
2017-12-08 12:14 ` Alexander.Steffen
2017-12-08 12:14 ` Alexander.Steffen
2017-12-08 15:56 ` Jason Gunthorpe
2017-12-08 16:07 ` Paul Menzel
2017-12-08 16:07 ` Paul Menzel
2017-12-08 16:18 ` Jason Gunthorpe
2017-12-08 16:18 ` Jason Gunthorpe
2017-12-11 12:54 ` Paul Menzel
2017-12-11 12:54 ` Paul Menzel
2017-12-11 16:08 ` Alexander.Steffen
2017-12-11 16:08 ` Alexander.Steffen
2017-12-14 10:33 ` Paul Menzel
2017-12-14 10:33 ` Paul Menzel
2017-12-14 12:20 ` Alexander.Steffen
2017-12-14 12:20 ` Alexander.Steffen
2017-12-14 14:15 ` Mario.Limonciello
2017-12-14 14:15 ` Mario.Limonciello
2017-12-14 16:12 ` Alexander.Steffen
2017-12-14 16:12 ` Alexander.Steffen
2017-12-14 19:43 ` Mario.Limonciello
2017-12-14 19:43 ` Mario.Limonciello
2017-12-15 11:54 ` Paul Menzel
2017-12-15 11:54 ` Paul Menzel
2017-12-15 14:39 ` Mario.Limonciello
2017-12-15 14:39 ` Mario.Limonciello
2017-12-15 15:10 ` Paul Menzel
2017-12-15 15:10 ` Paul Menzel
2017-12-15 15:24 ` Mario.Limonciello
2017-12-15 15:24 ` Mario.Limonciello
2017-12-15 15:38 ` Paul Menzel
2017-12-15 15:38 ` Paul Menzel
2017-12-15 14:54 ` Alexander.Steffen
2017-12-15 14:54 ` Alexander.Steffen
2017-12-15 15:26 ` Paul Menzel
2017-12-15 15:26 ` Paul Menzel
2017-12-21 13:36 ` Mimi Zohar
2017-12-21 13:36 ` Mimi Zohar
2017-12-22 14:00 ` Alexander.Steffen
2017-12-22 14:00 ` Alexander.Steffen
2017-12-22 14:08 ` Paul Menzel
2017-12-22 14:08 ` Paul Menzel
2017-12-08 16:17 ` Mimi Zohar [this message]
2017-12-08 16:17 ` Mimi Zohar
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=1512749871.4364.9.camel@linux.vnet.ibm.com \
--to=zohar@linux.vnet.ibm.com \
--cc=Alexander.Steffen@infineon.com \
--cc=jgg@ziepe.ca \
--cc=linux-integrity@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=pmenzel@molgen.mpg.de \
/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.