mbox series

[v3,0/7] Lazy flush for the auth session

Message ID 20240917154444.702370-1-jarkko@kernel.org (mailing list archive)
Headers show
Series Lazy flush for the auth session | expand

Message

Jarkko Sakkinen Sept. 17, 2024, 3:44 p.m. UTC
For the sake of: 
https://bugzilla.kernel.org/show_bug.cgi?id=219229

v2:
https://lore.kernel.org/linux-integrity/20240916110714.1396407-1-jarkko@kernel.org/
v1:
https://lore.kernel.org/linux-integrity/20240915180448.2030115-1-jarkko@kernel.org/

Jarkko Sakkinen (7):
  tpm: Remove the top-level documentation tpm2-sessions.c
  tpm: Return on tpm2_create_null_primary() failure
  tpm: Return on tpm2_create_primary() failure in tpm2_load_null()
  tpm: flush the null key only when /dev/tpm0 is accessed
  tpm: Allocate chip->auth in tpm2_start_auth_session()
  tpm: flush the auth session only when /dev/tpm0 is open
  tpm: open code tpm2_create_null_primary()

 drivers/char/tpm/tpm-chip.c       |  14 +++
 drivers/char/tpm/tpm-dev-common.c |   8 ++
 drivers/char/tpm/tpm-interface.c  |  10 +-
 drivers/char/tpm/tpm2-cmd.c       |   3 +
 drivers/char/tpm/tpm2-sessions.c  | 196 +++++++++++-------------------
 include/linux/tpm.h               |   2 +
 6 files changed, 109 insertions(+), 124 deletions(-)

Comments

Pengyu Ma Sept. 18, 2024, 6:47 a.m. UTC | #1
Hi Jarkko,

After applied this patchset, the boot time become 8.9 secondes, it's
more reasonable.

But this patchset can't be clean applied to upstream 6.11 kernel.
looks like file tpm2-sessions.c is changed in your code base.

Tested-by: Pengyu Ma <mapengyu@gmail.com>

Thanks,
Pengyu

On Tue, Sep 17, 2024 at 11:44 PM Jarkko Sakkinen <jarkko@kernel.org> wrote:
>
> For the sake of:
> https://bugzilla.kernel.org/show_bug.cgi?id=219229
>
> v2:
> https://lore.kernel.org/linux-integrity/20240916110714.1396407-1-jarkko@kernel.org/
> v1:
> https://lore.kernel.org/linux-integrity/20240915180448.2030115-1-jarkko@kernel.org/
>
> Jarkko Sakkinen (7):
>   tpm: Remove the top-level documentation tpm2-sessions.c
>   tpm: Return on tpm2_create_null_primary() failure
>   tpm: Return on tpm2_create_primary() failure in tpm2_load_null()
>   tpm: flush the null key only when /dev/tpm0 is accessed
>   tpm: Allocate chip->auth in tpm2_start_auth_session()
>   tpm: flush the auth session only when /dev/tpm0 is open
>   tpm: open code tpm2_create_null_primary()
>
>  drivers/char/tpm/tpm-chip.c       |  14 +++
>  drivers/char/tpm/tpm-dev-common.c |   8 ++
>  drivers/char/tpm/tpm-interface.c  |  10 +-
>  drivers/char/tpm/tpm2-cmd.c       |   3 +
>  drivers/char/tpm/tpm2-sessions.c  | 196 +++++++++++-------------------
>  include/linux/tpm.h               |   2 +
>  6 files changed, 109 insertions(+), 124 deletions(-)
>
> --
> 2.46.0
>
Jarkko Sakkinen Sept. 18, 2024, 8:38 p.m. UTC | #2
On Wed Sep 18, 2024 at 9:47 AM EEST, Pengyu Ma wrote:
> Hi Jarkko,
>
> After applied this patchset, the boot time become 8.9 secondes, it's
> more reasonable.

Great! I have some ideas how to further optimize but within context of
the bug I think we are now in reasonable figures :-)

>
> But this patchset can't be clean applied to upstream 6.11 kernel.
> looks like file tpm2-sessions.c is changed in your code base.

Thanks for the feedback. I decided to drop the couple of "cleanup"
patches and relabel performance fixes also as bug fixes because I
really think we should backport these to v6.10 and v6.11 trees.

I sent v4 which should be easy to apply on top of v6.11.

>
> Tested-by: Pengyu Ma <mapengyu@gmail.com>

Thank you!
>
> Thanks,
> Pengyu

BR, Jarkko
>
> On Tue, Sep 17, 2024 at 11:44 PM Jarkko Sakkinen <jarkko@kernel.org> wrote:
> >
> > For the sake of:
> > https://bugzilla.kernel.org/show_bug.cgi?id=219229
> >
> > v2:
> > https://lore.kernel.org/linux-integrity/20240916110714.1396407-1-jarkko@kernel.org/
> > v1:
> > https://lore.kernel.org/linux-integrity/20240915180448.2030115-1-jarkko@kernel.org/
> >
> > Jarkko Sakkinen (7):
> >   tpm: Remove the top-level documentation tpm2-sessions.c
> >   tpm: Return on tpm2_create_null_primary() failure
> >   tpm: Return on tpm2_create_primary() failure in tpm2_load_null()
> >   tpm: flush the null key only when /dev/tpm0 is accessed
> >   tpm: Allocate chip->auth in tpm2_start_auth_session()
> >   tpm: flush the auth session only when /dev/tpm0 is open
> >   tpm: open code tpm2_create_null_primary()
> >
> >  drivers/char/tpm/tpm-chip.c       |  14 +++
> >  drivers/char/tpm/tpm-dev-common.c |   8 ++
> >  drivers/char/tpm/tpm-interface.c  |  10 +-
> >  drivers/char/tpm/tpm2-cmd.c       |   3 +
> >  drivers/char/tpm/tpm2-sessions.c  | 196 +++++++++++-------------------
> >  include/linux/tpm.h               |   2 +
> >  6 files changed, 109 insertions(+), 124 deletions(-)
> >
> > --
> > 2.46.0
> >