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

Jarkko Sakkinen posted 7 patches 2 months, 1 week ago
There is a newer version of this series
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(-)
[PATCH v3 0/7] Lazy flush for the auth session
Posted by Jarkko Sakkinen 2 months, 1 week ago
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
Re: [PATCH v3 0/7] Lazy flush for the auth session
Posted by Pengyu Ma 2 months, 1 week ago
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
>
Re: [PATCH v3 0/7] Lazy flush for the auth session
Posted by Jarkko Sakkinen 2 months, 1 week ago
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
> >