All of lore.kernel.org
 help / color / mirror / Atom feed
From: Nayna Jain <nayna@linux.vnet.ibm.com>
To: linux-integrity@vger.kernel.org
Cc: zohar@linux.vnet.ibm.com, linux-security-module@vger.kernel.org,
	linux-kernel@vger.kernel.org, peterhuewe@gmx.de,
	jarkko.sakkinen@linux.intel.com, tpmdd@selhorst.net,
	jgunthorpe@obsidianresearch.com, patrickc@us.ibm.com,
	Nayna Jain <nayna@linux.vnet.ibm.com>
Subject: [PATCH v4 0/4] additional TPM performance improvements
Date: Tue, 17 Oct 2017 16:32:28 -0400	[thread overview]
Message-ID: <20171017203232.2262-1-nayna@linux.vnet.ibm.com> (raw)

After further discussions with the TCG Device Driver working group (ddwg),
the following changes were made: 

* Check for burstcount at least once to confirm the TPM is ready to accept
the data. Similarly, query for the TPM Expect status as sanity check at
the end.

* Make the sleep for status check in the loop less than 5msec.

* Make the sleep in the loop while querying for burstcount less than
5msec.

Below is the list of patches along with the performance improvements
seen with a TPM 1.2 with an 8 byte burstcount for 1000 extends: 

Patch                                        |Improvement(time in sec)

tpm: ignore burstcount to improve tpm_tis    | ~41 - ~14
send() performance.

tpm: reduce polling delay in tpm_tis_core    | ~14 - ~9 

tpm: modify tpm_msleep() function to have    | ~9 - ~8
max range

Changelog v4:
* Include Jarkko's feedback on merging two patches reducing sleep
time during polling to TPM.
* Include Jarkko's feedback to clean up the burstcount change
patch and add comment for new #define.

Changelog v3:

* Include Jarkko's feedback to move wait_for_tpm_stat() from
tpm-interface.c to respective driver files tpm_tis_core.c and
xen-tpmfront.c.
* Remove use of module parameter ignore_burst_count and is
now alwaysed ignored in tpm tis send() operation.
* Reduce sleep() time during polling in wait_for_tpm_stat() from
5msec to 1msec for both recv() and send() operation. Version
2 of the patches  had it only for send() operation.

Changelog v2:

* Add module parameter to handle ignoring of burst count during
tpm tis send() operation.
* Add improvements over sleep time to reduce delays.

Nayna Jain (4):
  tpm: move wait_for_tpm_stat() to respective driver files
  tpm: ignore burstcount to improve tpm_tis send() performance
  tpm: reduce tpm polling delay in tpm_tis_core
  tpm: use tpm_msleep() value as max delay

 drivers/char/tpm/tpm-interface.c |  60 ---------------------
 drivers/char/tpm/tpm.h           |   6 +--
 drivers/char/tpm/tpm_tis_core.c  | 110 +++++++++++++++++++++++++++++----------
 drivers/char/tpm/xen-tpmfront.c  |  60 +++++++++++++++++++++
 4 files changed, 144 insertions(+), 92 deletions(-)

-- 
2.13.3

WARNING: multiple messages have this Message-ID (diff)
From: nayna@linux.vnet.ibm.com (Nayna Jain)
To: linux-security-module@vger.kernel.org
Subject: [PATCH v4 0/4] additional TPM performance improvements
Date: Tue, 17 Oct 2017 16:32:28 -0400	[thread overview]
Message-ID: <20171017203232.2262-1-nayna@linux.vnet.ibm.com> (raw)

After further discussions with the TCG Device Driver working group (ddwg),
the following changes were made: 

* Check for burstcount at least once to confirm the TPM is ready to accept
the data. Similarly, query for the TPM Expect status as sanity check at
the end.

* Make the sleep for status check in the loop less than 5msec.

* Make the sleep in the loop while querying for burstcount less than
5msec.

Below is the list of patches along with the performance improvements
seen with a TPM 1.2 with an 8 byte burstcount for 1000 extends: 

Patch                                        |Improvement(time in sec)

tpm: ignore burstcount to improve tpm_tis    | ~41 - ~14
send() performance.

tpm: reduce polling delay in tpm_tis_core    | ~14 - ~9 

tpm: modify tpm_msleep() function to have    | ~9 - ~8
max range

Changelog v4:
* Include Jarkko's feedback on merging two patches reducing sleep
time during polling to TPM.
* Include Jarkko's feedback to clean up the burstcount change
patch and add comment for new #define.

Changelog v3:

* Include Jarkko's feedback to move wait_for_tpm_stat() from
tpm-interface.c to respective driver files tpm_tis_core.c and
xen-tpmfront.c.
* Remove use of module parameter ignore_burst_count and is
now alwaysed ignored in tpm tis send() operation.
* Reduce sleep() time during polling in wait_for_tpm_stat() from
5msec to 1msec for both recv() and send() operation. Version
2 of the patches  had it only for send() operation.

Changelog v2:

* Add module parameter to handle ignoring of burst count during
tpm tis send() operation.
* Add improvements over sleep time to reduce delays.

Nayna Jain (4):
  tpm: move wait_for_tpm_stat() to respective driver files
  tpm: ignore burstcount to improve tpm_tis send() performance
  tpm: reduce tpm polling delay in tpm_tis_core
  tpm: use tpm_msleep() value as max delay

 drivers/char/tpm/tpm-interface.c |  60 ---------------------
 drivers/char/tpm/tpm.h           |   6 +--
 drivers/char/tpm/tpm_tis_core.c  | 110 +++++++++++++++++++++++++++++----------
 drivers/char/tpm/xen-tpmfront.c  |  60 +++++++++++++++++++++
 4 files changed, 144 insertions(+), 92 deletions(-)

-- 
2.13.3

--
To unsubscribe from this list: send the line "unsubscribe linux-security-module" in
the body of a message to majordomo at vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

             reply	other threads:[~2017-10-17 20:32 UTC|newest]

Thread overview: 63+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-10-17 20:32 Nayna Jain [this message]
2017-10-17 20:32 ` [PATCH v4 0/4] additional TPM performance improvements Nayna Jain
2017-10-17 20:32 ` [PATCH v4 1/4] tpm: move wait_for_tpm_stat() to respective driver files Nayna Jain
2017-10-17 20:32   ` Nayna Jain
2017-10-19 14:21   ` Jarkko Sakkinen
2017-10-19 14:21     ` Jarkko Sakkinen
2017-10-19 17:00     ` Alexander.Steffen
2017-10-19 17:00       ` Alexander.Steffen at infineon.com
2017-10-20  8:56       ` Jarkko Sakkinen
2017-10-20  8:56         ` Jarkko Sakkinen
2017-10-23 13:32         ` Nayna Jain
2017-10-23 13:32           ` Nayna Jain
2017-10-23 13:32           ` Nayna Jain
2017-10-24 13:45           ` Jarkko Sakkinen
2017-10-24 13:45             ` Jarkko Sakkinen
2017-10-17 20:32 ` [PATCH v4 2/4] tpm: ignore burstcount to improve tpm_tis send() performance Nayna Jain
2017-10-17 20:32   ` Nayna Jain
2017-10-18 15:25   ` Jarkko Sakkinen
2017-10-18 15:25     ` Jarkko Sakkinen
2017-10-19 14:23   ` Jarkko Sakkinen
2017-10-19 14:23     ` Jarkko Sakkinen
2017-10-20 14:42   ` Alexander.Steffen
2017-10-20 14:42     ` Alexander.Steffen at infineon.com
2017-10-20 18:02     ` Ken Goldman
2017-10-20 18:02       ` Ken Goldman
2017-10-23  2:57     ` Jarkko Sakkinen
2017-10-23  2:57       ` Jarkko Sakkinen
2017-11-07 18:29     ` Nayna Jain
2017-11-07 18:29       ` Nayna Jain
2017-11-07 18:29       ` Nayna Jain
2017-11-08 11:32       ` Alexander.Steffen
2017-11-08 11:32         ` Alexander.Steffen at infineon.com
2017-11-16 14:34       ` Alexander.Steffen
2017-11-16 14:34         ` Alexander.Steffen at infineon.com
2017-11-22  6:52       ` Alexander.Steffen
2017-11-22  6:52         ` Alexander.Steffen at infineon.com
2017-11-23 14:47         ` Nayna Jain
2017-11-23 14:47           ` Nayna Jain
2017-11-23 16:19           ` Alexander.Steffen
2017-11-23 16:19             ` Alexander.Steffen at infineon.com
2017-11-26 15:22           ` Jarkko Sakkinen
2017-11-26 15:22             ` Jarkko Sakkinen
2017-11-26 16:37             ` Mimi Zohar
2017-11-26 16:37               ` Mimi Zohar
2017-11-27  7:08               ` Leendert van Doorn
2017-11-27  7:08                 ` Leendert van Doorn
2017-11-27  7:08                 ` Leendert van Doorn
2017-11-27 13:22                 ` Mimi Zohar
2017-11-27 13:22                   ` Mimi Zohar
2017-11-27 13:22                   ` Mimi Zohar
2017-11-28 20:19                 ` Jarkko Sakkinen
2017-11-28 20:19                   ` Jarkko Sakkinen
2017-11-28 20:19                   ` Jarkko Sakkinen
2017-10-17 20:32 ` [PATCH v4 3/4] tpm: reduce tpm polling delay in tpm_tis_core Nayna Jain
2017-10-17 20:32   ` Nayna Jain
2017-10-18 15:24   ` Jarkko Sakkinen
2017-10-18 15:24     ` Jarkko Sakkinen
2017-10-19 14:22     ` Jarkko Sakkinen
2017-10-19 14:22       ` Jarkko Sakkinen
2017-10-17 20:32 ` [PATCH v4 4/4] tpm: use tpm_msleep() value as max delay Nayna Jain
2017-10-17 20:32   ` Nayna Jain
2017-10-19 14:22   ` Jarkko Sakkinen
2017-10-19 14:22     ` 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=20171017203232.2262-1-nayna@linux.vnet.ibm.com \
    --to=nayna@linux.vnet.ibm.com \
    --cc=jarkko.sakkinen@linux.intel.com \
    --cc=jgunthorpe@obsidianresearch.com \
    --cc=linux-integrity@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-security-module@vger.kernel.org \
    --cc=patrickc@us.ibm.com \
    --cc=peterhuewe@gmx.de \
    --cc=tpmdd@selhorst.net \
    --cc=zohar@linux.vnet.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.