Messages in this thread | | | From | Nayna Jain <> | Subject | [PATCH v2 0/2] tpm: improving granularity in poll sleep times | Date | Tue, 17 Apr 2018 09:12:44 -0400 |
| |
The existing TPM polling code sleeps in each loop iteration for time in msecs ranging from 1 msecs to 5 msecs. However, many of the TPM commands complete much faster, resulting in unnecessary delays.
This set of patches identifies such iterations and optimizes the sleep time. The first patch replaces TPM_POLL_SLEEP with TPM_TIMEOUT_POLL and moves it from tpm_tis_core.c to tpm.h as an enum with value 1 msecs. The second patch further reduces the TPM poll sleep time in get_burstcount() and wait_for_tpm_stat() in tpm_tis_core.c by calling usleep_range() directly.
The change is only in the polling time, and the maximum timeout is still maintained the same. Thus, it should not affect the overall existing behavior.
Changelog:
v2:
tpm: reduce poll sleep time in tpm_transmit() * merged previously defined two patches into this. * updated patch description as per Jarkko's feedback
tpm: reduce polling time to usecs for even finer granularity * directly use usleep_range with finer granularity less than 1msec
Nayna Jain (2): tpm: reduce poll sleep time in tpm_transmit() tpm: reduce polling time to usecs for even finer granularity
drivers/char/tpm/tpm-interface.c | 2 +- drivers/char/tpm/tpm.h | 5 ++++- drivers/char/tpm/tpm_tis_core.c | 11 +++-------- 3 files changed, 8 insertions(+), 10 deletions(-)
-- 2.13.3
| |