init_ima() adds 8 % to boot time

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Dear Linux folks,


Debian builds its Linux kernel image with `CONFIG_IMA=y` since version 5.13.9 [1]. Unfortunately, on the Dell Latitude E7250 `init_ima` takes around 33 ms, adding 8 % to the boot time up to loading the initrd.

[ 0.000000] Linux version 5.17.0-rc4-amd64 (debian-kernel@xxxxxxxxxxxxxxxx) (gcc-11 (Debian 11.2.0-16) 11.2.0, GNU ld (GNU Binutils for Debian) 2.38) #1 SMP PREEMPT Debian 5.17~rc4-1~exp1 (2022-02-18)
    […]
    [    0.238520] calling  init_tis+0x0/0xde @ 1
    [    0.254749] tpm_tis 00:08: 1.2 TPM (device-id 0x3205, rev-id 80)
    [    0.285665] initcall init_tis+0x0/0xde returned 0 after 46038 usecs
    […]
    [    0.301327] calling  init_ima+0x0/0xb5 @ 1
    [    0.301332] ima: Allocated hash algorithm: sha256
    [    0.335502] ima: No architecture policies found
    [    0.335520] initcall init_ima+0x0/0xb5 returned 0 after 33389 usecs
    […]
    [    0.447312] Run /init as init process

Tracing `init_ima` with a depth of 5 shows `ima_calc_boot_aggregate_tfm()` takes 24 ms, and `ima_add_template_entry()` takes 10 ms.

1.282630 | 1) swapper-1 | | ima_add_boot_aggregate() { 1.282631 | 1) swapper-1 | | ima_calc_boot_aggregate() { 1.282631 | 1) swapper-1 | 0.153 us | ima_alloc_tfm(); 1.282631 | 1) swapper-1 | * 24404.59 us | ima_calc_boot_aggregate_tfm(); 1.307037 | 1) swapper-1 | 0.482 us | ima_free_tfm.part.0(); 1.307038 | 1) swapper-1 | * 24407.06 us | } /* ima_calc_boot_aggregate */ 1.307038 | 1) swapper-1 | | ima_alloc_init_template() { 1.307038 | 1) swapper-1 | 0.173 us | ima_template_desc_current(); 1.307039 | 1) swapper-1 | 0.836 us | __kmalloc(); 1.307040 | 1) swapper-1 | 0.580 us | __kmalloc(); 1.307041 | 1) swapper-1 | 1.555 us | ima_eventdigest_ng_init(); 1.307043 | 1) swapper-1 | 1.275 us | ima_eventname_ng_init(); 1.307044 | 1) swapper-1 | 0.256 us | ima_eventsig_init(); 1.307045 | 1) swapper-1 | 6.618 us | } /* ima_alloc_init_template */ 1.307045 | 1) swapper-1 | | ima_store_template() { 1.307045 | 1) swapper-1 | 5.049 us | ima_calc_field_array_hash(); 1.307051 | 1) swapper-1 | # 9316.953 us | ima_add_template_entry(); 1.316369 | 1) swapper-1 | # 9323.728 us | } /* ima_store_template */ 1.316369 | 1) swapper-1 | * 33738.54 us | } /* ima_add_boot_aggregate */

Tracing `ima_calc_boot_aggregate_tfm()` (attached) shows that the first `tpm1_pcr_read()` takes 16 ms in `tpm_transmit()`. Is communicating with the TPM supposed to be that slow?

In the last years, Linux decreased it’s boot time a lot, so do you see a way to move things out of the hot path and get `init_ima` well below 10 ms? (As systems get faster and faster, having systems with standard distributions to be up below two seconds after pressing the power button should be a reasonable goal (500 ms firmware (like coreboot) + 500 ms Linux kernel + 1 s user space).


Kind regards,

Paul


[1]: https://salsa.debian.org/kernel-team/linux/-/commit/6e679322d7d98d30b4a8a3d1b659c899a6e9d4df
# tracer: function_graph
#
#     TIME        CPU  TASK/PID         DURATION                  FUNCTION CALLS
#      |          |     |    |           |   |                     |   |   |   |
    1.278970 |   0)   swapper-1    |               |  ima_calc_boot_aggregate_tfm() {
    1.278971 |   0)   swapper-1    |               |    tpm_pcr_read() {
    1.278971 |   0)   swapper-1    |               |      tpm_find_get_ops() {
    1.278971 |   0)   swapper-1    |               |        tpm_try_get_ops() {
    1.278971 |   0)   swapper-1    |   0.201 us    |          get_device();
    1.278972 |   0)   swapper-1    |   0.265 us    |          down_read();
    1.278972 |   0)   swapper-1    |   0.252 us    |          mutex_lock();
    1.278972 |   0)   swapper-1    |   8.257 us    |          tpm_chip_start();
    1.278981 |   0)   swapper-1    |   9.794 us    |        } /* tpm_try_get_ops */
    1.278981 |   0)   swapper-1    | + 10.120 us   |      } /* tpm_find_get_ops */
    1.278981 |   0)   swapper-1    |               |      tpm1_pcr_read() {
    1.278981 |   0)   swapper-1    |               |        __get_free_pages() {
    1.278981 |   0)   swapper-1    |   0.825 us    |          alloc_pages();
    1.278982 |   0)   swapper-1    |   1.122 us    |        } /* __get_free_pages */
    1.278983 |   0)   swapper-1    |               |        tpm_transmit_cmd() {
    1.278983 |   0)   swapper-1    |               |          tpm_transmit() {
    1.295183 |   3)   swapper-1    | * 16199.26 us |          } /* tpm_transmit */
    1.295183 |   3)   swapper-1    | * 16200.69 us |        } /* tpm_transmit_cmd */
    1.295184 |   3)   swapper-1    |               |        free_pages() {
    1.295184 |   3)   swapper-1    |   1.827 us    |          __free_pages();
    1.295186 |   3)   swapper-1    |   2.395 us    |        } /* free_pages */
    1.295186 |   3)   swapper-1    | * 16205.24 us |      } /* tpm1_pcr_read */
    1.295187 |   3)   swapper-1    |               |      tpm_put_ops() {
    1.295187 |   3)   swapper-1    |               |        tpm_chip_stop() {
    1.295187 |   3)   swapper-1    |   0.398 us    |          tpm_relinquish_locality();
    1.295188 |   3)   swapper-1    |   0.256 us    |          tpm_tis_clkrun_enable();
    1.295188 |   3)   swapper-1    |   1.426 us    |        } /* tpm_chip_stop */
    1.295189 |   3)   swapper-1    |   0.173 us    |        mutex_unlock();
    1.295189 |   3)   swapper-1    |   0.175 us    |        up_read();
    1.295189 |   3)   swapper-1    |   0.236 us    |        put_device();
    1.295190 |   3)   swapper-1    |   3.051 us    |      } /* tpm_put_ops */
    1.295190 |   3)   swapper-1    | * 16219.30 us |    } /* tpm_pcr_read */
    1.295190 |   3)   swapper-1    |               |    crypto_shash_update() {
    1.295191 |   3)   swapper-1    |   0.200 us    |      crypto_sha1_update();
    1.295191 |   3)   swapper-1    |   0.693 us    |    } /* crypto_shash_update */
    1.295191 |   3)   swapper-1    |               |    tpm_pcr_read() {
    1.295191 |   3)   swapper-1    |               |      tpm_find_get_ops() {
    1.295192 |   3)   swapper-1    |               |        tpm_try_get_ops() {
    1.295192 |   3)   swapper-1    |   0.241 us    |          get_device();
    1.295192 |   3)   swapper-1    |   0.245 us    |          down_read();
    1.295193 |   3)   swapper-1    |   0.232 us    |          mutex_lock();
    1.295193 |   3)   swapper-1    |   8.181 us    |          tpm_chip_start();
    1.295201 |   3)   swapper-1    |   9.890 us    |        } /* tpm_try_get_ops */
    1.295202 |   3)   swapper-1    | + 10.217 us   |      } /* tpm_find_get_ops */
    1.295202 |   3)   swapper-1    |               |      tpm1_pcr_read() {
    1.295202 |   3)   swapper-1    |               |        __get_free_pages() {
    1.295202 |   3)   swapper-1    |   2.108 us    |          alloc_pages();
    1.295205 |   3)   swapper-1    |   2.512 us    |        } /* __get_free_pages */
    1.295205 |   3)   swapper-1    |               |        tpm_transmit_cmd() {
    1.295205 |   3)   swapper-1    | # 1186.160 us |          tpm_transmit();
    1.296392 |   3)   swapper-1    | # 1187.552 us |        } /* tpm_transmit_cmd */
    1.296393 |   3)   swapper-1    |               |        free_pages() {
    1.296393 |   3)   swapper-1    |   1.615 us    |          __free_pages();
    1.296395 |   3)   swapper-1    |   2.090 us    |        } /* free_pages */
    1.296395 |   3)   swapper-1    | # 1193.126 us |      } /* tpm1_pcr_read */
    1.296395 |   3)   swapper-1    |               |      tpm_put_ops() {
    1.296396 |   3)   swapper-1    |               |        tpm_chip_stop() {
    1.296396 |   3)   swapper-1    |   0.394 us    |          tpm_relinquish_locality();
    1.296396 |   3)   swapper-1    |   0.249 us    |          tpm_tis_clkrun_enable();
    1.296397 |   3)   swapper-1    |   1.338 us    |        } /* tpm_chip_stop */
    1.296397 |   3)   swapper-1    |   0.168 us    |        mutex_unlock();
    1.296397 |   3)   swapper-1    |   0.163 us    |        up_read();
    1.296398 |   3)   swapper-1    |   0.241 us    |        put_device();
    1.296398 |   3)   swapper-1    |   2.996 us    |      } /* tpm_put_ops */
    1.296398 |   3)   swapper-1    | # 1207.262 us |    } /* tpm_pcr_read */
    1.296399 |   3)   swapper-1    |               |    crypto_shash_update() {
    1.296399 |   3)   swapper-1    |   0.189 us    |      crypto_sha1_update();
    1.296400 |   3)   swapper-1    |   0.919 us    |    } /* crypto_shash_update */
    1.296400 |   3)   swapper-1    |               |    tpm_pcr_read() {
    1.296400 |   3)   swapper-1    |               |      tpm_find_get_ops() {
    1.296400 |   3)   swapper-1    |               |        tpm_try_get_ops() {
    1.296401 |   3)   swapper-1    |   0.239 us    |          get_device();
    1.296401 |   3)   swapper-1    |   0.243 us    |          down_read();
    1.296402 |   3)   swapper-1    |   0.228 us    |          mutex_lock();
    1.296402 |   3)   swapper-1    |   7.939 us    |          tpm_chip_start();
    1.296410 |   3)   swapper-1    |   9.650 us    |        } /* tpm_try_get_ops */
    1.296410 |   3)   swapper-1    |   9.975 us    |      } /* tpm_find_get_ops */
    1.296411 |   3)   swapper-1    |               |      tpm1_pcr_read() {
    1.296411 |   3)   swapper-1    |               |        __get_free_pages() {
    1.296411 |   3)   swapper-1    |   2.460 us    |          alloc_pages();
    1.296414 |   3)   swapper-1    |   2.867 us    |        } /* __get_free_pages */
    1.296414 |   3)   swapper-1    |               |        tpm_transmit_cmd() {
    1.296414 |   3)   swapper-1    | # 1187.963 us |          tpm_transmit();
    1.297603 |   3)   swapper-1    | # 1189.319 us |        } /* tpm_transmit_cmd */
    1.297604 |   3)   swapper-1    |               |        free_pages() {
    1.297604 |   3)   swapper-1    |   1.612 us    |          __free_pages();
    1.297606 |   3)   swapper-1    |   2.114 us    |        } /* free_pages */
    1.297606 |   3)   swapper-1    | # 1195.291 us |      } /* tpm1_pcr_read */
    1.297606 |   3)   swapper-1    |               |      tpm_put_ops() {
    1.297606 |   3)   swapper-1    |               |        tpm_chip_stop() {
    1.297607 |   3)   swapper-1    |   0.407 us    |          tpm_relinquish_locality();
    1.297607 |   3)   swapper-1    |   0.254 us    |          tpm_tis_clkrun_enable();
    1.297608 |   3)   swapper-1    |   1.354 us    |        } /* tpm_chip_stop */
    1.297608 |   3)   swapper-1    |   0.178 us    |        mutex_unlock();
    1.297608 |   3)   swapper-1    |   0.157 us    |        up_read();
    1.297609 |   3)   swapper-1    |   0.235 us    |        put_device();
    1.297609 |   3)   swapper-1    |   2.973 us    |      } /* tpm_put_ops */
    1.297609 |   3)   swapper-1    | # 1209.350 us |    } /* tpm_pcr_read */
    1.297610 |   3)   swapper-1    |               |    crypto_shash_update() {
    1.297610 |   3)   swapper-1    |   0.186 us    |      crypto_sha1_update();
    1.297611 |   3)   swapper-1    |   0.919 us    |    } /* crypto_shash_update */
    1.297611 |   3)   swapper-1    |               |    tpm_pcr_read() {
    1.297611 |   3)   swapper-1    |               |      tpm_find_get_ops() {
    1.297612 |   3)   swapper-1    |               |        tpm_try_get_ops() {
    1.297612 |   3)   swapper-1    |   0.238 us    |          get_device();
    1.297612 |   3)   swapper-1    |   0.241 us    |          down_read();
    1.297613 |   3)   swapper-1    |   0.231 us    |          mutex_lock();
    1.297613 |   3)   swapper-1    |   7.872 us    |          tpm_chip_start();
    1.297621 |   3)   swapper-1    |   9.611 us    |        } /* tpm_try_get_ops */
    1.297621 |   3)   swapper-1    |   9.953 us    |      } /* tpm_find_get_ops */
    1.297622 |   3)   swapper-1    |               |      tpm1_pcr_read() {
    1.297622 |   3)   swapper-1    |               |        __get_free_pages() {
    1.297622 |   3)   swapper-1    |   2.088 us    |          alloc_pages();
    1.297624 |   3)   swapper-1    |   2.499 us    |        } /* __get_free_pages */
    1.297625 |   3)   swapper-1    |               |        tpm_transmit_cmd() {
    1.297625 |   3)   swapper-1    | # 1186.932 us |          tpm_transmit();
    1.298813 |   3)   swapper-1    | # 1188.266 us |        } /* tpm_transmit_cmd */
    1.298813 |   3)   swapper-1    |               |        free_pages() {
    1.298814 |   3)   swapper-1    |   1.605 us    |          __free_pages();
    1.298815 |   3)   swapper-1    |   2.086 us    |        } /* free_pages */
    1.298815 |   3)   swapper-1    | # 1193.817 us |      } /* tpm1_pcr_read */
    1.298816 |   3)   swapper-1    |               |      tpm_put_ops() {
    1.298816 |   3)   swapper-1    |               |        tpm_chip_stop() {
    1.298816 |   3)   swapper-1    |   0.415 us    |          tpm_relinquish_locality();
    1.298817 |   3)   swapper-1    |   0.264 us    |          tpm_tis_clkrun_enable();
    1.298817 |   3)   swapper-1    |   1.364 us    |        } /* tpm_chip_stop */
    1.298818 |   3)   swapper-1    |   0.170 us    |        mutex_unlock();
    1.298818 |   3)   swapper-1    |   0.157 us    |        up_read();
    1.298818 |   3)   swapper-1    |   0.264 us    |        put_device();
    1.298819 |   3)   swapper-1    |   3.007 us    |      } /* tpm_put_ops */
    1.298819 |   3)   swapper-1    | # 1207.997 us |    } /* tpm_pcr_read */
    1.298820 |   3)   swapper-1    |               |    crypto_shash_update() {
    1.298820 |   3)   swapper-1    |   0.776 us    |      crypto_sha1_update();
    1.298821 |   3)   swapper-1    |   1.564 us    |    } /* crypto_shash_update */
    1.298821 |   3)   swapper-1    |               |    tpm_pcr_read() {
    1.298821 |   3)   swapper-1    |               |      tpm_find_get_ops() {
    1.298821 |   3)   swapper-1    |               |        tpm_try_get_ops() {
    1.298822 |   3)   swapper-1    |   0.239 us    |          get_device();
    1.298822 |   3)   swapper-1    |   0.252 us    |          down_read();
    1.298823 |   3)   swapper-1    |   0.228 us    |          mutex_lock();
    1.298823 |   3)   swapper-1    |   7.872 us    |          tpm_chip_start();
    1.298831 |   3)   swapper-1    |   9.576 us    |        } /* tpm_try_get_ops */
    1.298831 |   3)   swapper-1    |   9.900 us    |      } /* tpm_find_get_ops */
    1.298831 |   3)   swapper-1    |               |      tpm1_pcr_read() {
    1.298832 |   3)   swapper-1    |               |        __get_free_pages() {
    1.298832 |   3)   swapper-1    |   2.257 us    |          alloc_pages();
    1.298834 |   3)   swapper-1    |   2.674 us    |        } /* __get_free_pages */
    1.298835 |   3)   swapper-1    |               |        tpm_transmit_cmd() {
    1.298835 |   3)   swapper-1    | # 1186.138 us |          tpm_transmit();
    1.300022 |   3)   swapper-1    | # 1187.494 us |        } /* tpm_transmit_cmd */
    1.300022 |   3)   swapper-1    |               |        free_pages() {
    1.300023 |   3)   swapper-1    |   1.619 us    |          __free_pages();
    1.300025 |   3)   swapper-1    |   2.099 us    |        } /* free_pages */
    1.300025 |   3)   swapper-1    | # 1193.254 us |      } /* tpm1_pcr_read */
    1.300025 |   3)   swapper-1    |               |      tpm_put_ops() {
    1.300025 |   3)   swapper-1    |               |        tpm_chip_stop() {
    1.300026 |   3)   swapper-1    |   0.402 us    |          tpm_relinquish_locality();
    1.300026 |   3)   swapper-1    |   0.245 us    |          tpm_tis_clkrun_enable();
    1.300027 |   3)   swapper-1    |   1.339 us    |        } /* tpm_chip_stop */
    1.300027 |   3)   swapper-1    |   0.170 us    |        mutex_unlock();
    1.300027 |   3)   swapper-1    |   0.156 us    |        up_read();
    1.300028 |   3)   swapper-1    |   0.236 us    |        put_device();
    1.300028 |   3)   swapper-1    |   2.927 us    |      } /* tpm_put_ops */
    1.300028 |   3)   swapper-1    | # 1206.993 us |    } /* tpm_pcr_read */
    1.300028 |   3)   swapper-1    |               |    crypto_shash_update() {
    1.300029 |   3)   swapper-1    |   0.191 us    |      crypto_sha1_update();
    1.300029 |   3)   swapper-1    |   0.688 us    |    } /* crypto_shash_update */
    1.300029 |   3)   swapper-1    |               |    tpm_pcr_read() {
    1.300030 |   3)   swapper-1    |               |      tpm_find_get_ops() {
    1.300030 |   3)   swapper-1    |               |        tpm_try_get_ops() {
    1.300030 |   3)   swapper-1    |   0.239 us    |          get_device();
    1.300031 |   3)   swapper-1    |   0.248 us    |          down_read();
    1.300031 |   3)   swapper-1    |   0.233 us    |          mutex_lock();
    1.300031 |   3)   swapper-1    |   8.122 us    |          tpm_chip_start();
    1.300040 |   3)   swapper-1    |   9.962 us    |        } /* tpm_try_get_ops */
    1.300040 |   3)   swapper-1    | + 10.292 us   |      } /* tpm_find_get_ops */
    1.300040 |   3)   swapper-1    |               |      tpm1_pcr_read() {
    1.300041 |   3)   swapper-1    |               |        __get_free_pages() {
    1.300041 |   3)   swapper-1    |   2.407 us    |          alloc_pages();
    1.300043 |   3)   swapper-1    |   2.813 us    |        } /* __get_free_pages */
    1.300044 |   3)   swapper-1    |               |        tpm_transmit_cmd() {
    1.300044 |   3)   swapper-1    | # 1186.643 us |          tpm_transmit();
    1.301232 |   3)   swapper-1    | # 1188.031 us |        } /* tpm_transmit_cmd */
    1.301232 |   3)   swapper-1    |               |        free_pages() {
    1.301232 |   3)   swapper-1    |   1.604 us    |          __free_pages();
    1.301234 |   3)   swapper-1    |   2.095 us    |        } /* free_pages */
    1.301234 |   3)   swapper-1    | # 1193.909 us |      } /* tpm1_pcr_read */
    1.301234 |   3)   swapper-1    |               |      tpm_put_ops() {
    1.301235 |   3)   swapper-1    |               |        tpm_chip_stop() {
    1.301235 |   3)   swapper-1    |   0.402 us    |          tpm_relinquish_locality();
    1.301236 |   3)   swapper-1    |   0.247 us    |          tpm_tis_clkrun_enable();
    1.301236 |   3)   swapper-1    |   1.622 us    |        } /* tpm_chip_stop */
    1.301237 |   3)   swapper-1    |   0.166 us    |        mutex_unlock();
    1.301237 |   3)   swapper-1    |   0.167 us    |        up_read();
    1.301237 |   3)   swapper-1    |   0.235 us    |        put_device();
    1.301238 |   3)   swapper-1    |   3.237 us    |      } /* tpm_put_ops */
    1.301238 |   3)   swapper-1    | # 1208.564 us |    } /* tpm_pcr_read */
    1.301239 |   3)   swapper-1    |               |    crypto_shash_update() {
    1.301239 |   3)   swapper-1    |   0.185 us    |      crypto_sha1_update();
    1.301239 |   3)   swapper-1    |   0.933 us    |    } /* crypto_shash_update */
    1.301239 |   3)   swapper-1    |               |    tpm_pcr_read() {
    1.301240 |   3)   swapper-1    |               |      tpm_find_get_ops() {
    1.301240 |   3)   swapper-1    |               |        tpm_try_get_ops() {
    1.301240 |   3)   swapper-1    |   0.240 us    |          get_device();
    1.301241 |   3)   swapper-1    |   0.247 us    |          down_read();
    1.301241 |   3)   swapper-1    |   0.233 us    |          mutex_lock();
    1.301242 |   3)   swapper-1    |   7.824 us    |          tpm_chip_start();
    1.301250 |   3)   swapper-1    |   9.726 us    |        } /* tpm_try_get_ops */
    1.301250 |   3)   swapper-1    | + 10.054 us   |      } /* tpm_find_get_ops */
    1.301250 |   3)   swapper-1    |               |      tpm1_pcr_read() {
    1.301250 |   3)   swapper-1    |               |        __get_free_pages() {
    1.301250 |   3)   swapper-1    |   2.341 us    |          alloc_pages();
    1.301253 |   3)   swapper-1    |   2.754 us    |        } /* __get_free_pages */
    1.301253 |   3)   swapper-1    |               |        tpm_transmit_cmd() {
    1.301253 |   3)   swapper-1    | # 1163.840 us |          tpm_transmit();
    1.302418 |   3)   swapper-1    | # 1164.639 us |        } /* tpm_transmit_cmd */
    1.302418 |   3)   swapper-1    |               |        free_pages() {
    1.302418 |   3)   swapper-1    |   0.715 us    |          __free_pages();
    1.302419 |   3)   swapper-1    |   1.154 us    |        } /* free_pages */
    1.302419 |   3)   swapper-1    | # 1169.348 us |      } /* tpm1_pcr_read */
    1.302420 |   3)   swapper-1    |               |      tpm_put_ops() {
    1.302420 |   3)   swapper-1    |               |        tpm_chip_stop() {
    1.302420 |   3)   swapper-1    |   0.331 us    |          tpm_relinquish_locality();
    1.302420 |   3)   swapper-1    |   0.185 us    |          tpm_tis_clkrun_enable();
    1.302421 |   3)   swapper-1    |   1.094 us    |        } /* tpm_chip_stop */
    1.302421 |   3)   swapper-1    |   0.180 us    |        mutex_unlock();
    1.302421 |   3)   swapper-1    |   0.159 us    |        up_read();
    1.302422 |   3)   swapper-1    |   0.177 us    |        put_device();
    1.302422 |   3)   swapper-1    |   2.493 us    |      } /* tpm_put_ops */
    1.302422 |   3)   swapper-1    | # 1182.716 us |    } /* tpm_pcr_read */
    1.302422 |   3)   swapper-1    |               |    crypto_shash_update() {
    1.302423 |   3)   swapper-1    |   0.751 us    |      crypto_sha1_update();
    1.302423 |   3)   swapper-1    |   1.103 us    |    } /* crypto_shash_update */
    1.302424 |   3)   swapper-1    |               |    tpm_pcr_read() {
    1.302424 |   3)   swapper-1    |               |      tpm_find_get_ops() {
    1.302424 |   3)   swapper-1    |               |        tpm_try_get_ops() {
    1.302424 |   3)   swapper-1    |   0.178 us    |          get_device();
    1.302425 |   3)   swapper-1    |   0.250 us    |          down_read();
    1.302425 |   3)   swapper-1    |   0.232 us    |          mutex_lock();
    1.302425 |   3)   swapper-1    |   7.807 us    |          tpm_chip_start();
    1.302433 |   3)   swapper-1    |   9.333 us    |        } /* tpm_try_get_ops */
    1.302433 |   3)   swapper-1    |   9.656 us    |      } /* tpm_find_get_ops */
    1.302434 |   3)   swapper-1    |               |      tpm1_pcr_read() {
    1.302434 |   3)   swapper-1    |               |        __get_free_pages() {
    1.302434 |   3)   swapper-1    |   1.314 us    |          alloc_pages();
    1.302436 |   3)   swapper-1    |   1.672 us    |        } /* __get_free_pages */
    1.302436 |   3)   swapper-1    |               |        tpm_transmit_cmd() {
    1.302436 |   3)   swapper-1    | # 1185.055 us |          tpm_transmit();
    1.303622 |   3)   swapper-1    | # 1186.412 us |        } /* tpm_transmit_cmd */
    1.303623 |   3)   swapper-1    |               |        free_pages() {
    1.303623 |   3)   swapper-1    |   1.623 us    |          __free_pages();
    1.303625 |   3)   swapper-1    |   2.188 us    |        } /* free_pages */
    1.303625 |   3)   swapper-1    | # 1191.170 us |      } /* tpm1_pcr_read */
    1.303625 |   3)   swapper-1    |               |      tpm_put_ops() {
    1.303625 |   3)   swapper-1    |               |        tpm_chip_stop() {
    1.303626 |   3)   swapper-1    |   0.391 us    |          tpm_relinquish_locality();
    1.303626 |   3)   swapper-1    |   0.263 us    |          tpm_tis_clkrun_enable();
    1.303627 |   3)   swapper-1    |   1.360 us    |        } /* tpm_chip_stop */
    1.303627 |   3)   swapper-1    |   0.172 us    |        mutex_unlock();
    1.303627 |   3)   swapper-1    |   0.159 us    |        up_read();
    1.303628 |   3)   swapper-1    |   0.228 us    |        put_device();
    1.303628 |   3)   swapper-1    |   2.958 us    |      } /* tpm_put_ops */
    1.303628 |   3)   swapper-1    | # 1204.582 us |    } /* tpm_pcr_read */
    1.303629 |   3)   swapper-1    |               |    crypto_shash_update() {
    1.303629 |   3)   swapper-1    |   0.183 us    |      crypto_sha1_update();
    1.303630 |   3)   swapper-1    |   0.974 us    |    } /* crypto_shash_update */
    1.303630 |   3)   swapper-1    |               |    crypto_shash_final() {
    1.303630 |   3)   swapper-1    |   0.720 us    |      sha1_final();
    1.303631 |   3)   swapper-1    |   1.155 us    |    } /* crypto_shash_final */
    1.303631 |   3)   swapper-1    | * 24661.94 us |  } /* ima_calc_boot_aggregate_tfm */

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux Kernel]     [Linux Kernel Hardening]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux SCSI]

  Powered by Linux