From: Jarkko Sakkinen <jarkko@kernel.org>
To: Stefano Garzarella <sgarzare@redhat.com>
Cc: Jason Gunthorpe <jgg@ziepe.ca>,
Sumit Garg <sumit.garg@kernel.org>,
linux-kernel@vger.kernel.org, Peter Huewe <peterhuewe@gmx.de>,
linux-integrity@vger.kernel.org,
James Bottomley <James.Bottomley@hansenpartnership.com>,
Jens Wiklander <jens.wiklander@linaro.org>
Subject: Re: [PATCH 2/2] tpm/tpm_ftpm_tee: use send_recv() op
Date: Thu, 27 Mar 2025 15:04:39 +0200 [thread overview]
Message-ID: <Z-VM56u1zWQSPemh@kernel.org> (raw)
In-Reply-To: <6mpece5tkoie6ngv3j3xzjkotn6x6wu2vjs7pc44ns76z6v3d2@c6jinanngw5o>
On Thu, Mar 27, 2025 at 10:27:48AM +0100, Stefano Garzarella wrote:
> On Wed, Mar 26, 2025 at 10:37:09PM +0200, Jarkko Sakkinen wrote:
> > On Wed, Mar 26, 2025 at 05:58:33PM +0200, Jarkko Sakkinen wrote:
> > > On Wed, Mar 26, 2025 at 04:57:47PM +0200, Jarkko Sakkinen wrote:
> > > > On Wed, Mar 26, 2025 at 11:34:01AM -0300, Jason Gunthorpe wrote:
> > > > > On Wed, Mar 26, 2025 at 02:11:12PM +0200, Jarkko Sakkinen wrote:
> > > > >
> > > > > > Generally speaking I don't see enough value in complicating
> > > > > > callback interface. It's better to handle complications in
> > > > > > the leaves (i.e. dictatorship of majority ;-) ).
> > > > >
> > > > > That is very much not the way most driver subsystems view the
> > > > > world. We want to pull logical things into the core code and remove
> > > > > them from drivers to make the drivers simpler and more robust.
> > > > >
> > > > > The amount of really dumb driver boiler plate that this series
> > > > > obviously removes is exactly the sort of stuff we should be fixing by
> > > > > improving the core code.
> > > > >
> > > > > The callback interface was never really sanely designed, it was just
> > > > > built around the idea of pulling the timout processing into the core
> > > > > code for TIS hardware. It should be revised to properly match these
> > > > > new HW types that don't have this kind of timeout mechanism.
> > > >
> > > > Both TIS and CRB, which are TCG standards and they span to many
> > > > different types of drivers and busses. I don't have the figures but
> > > > probably they cover vast majority of the hardware.
> > > >
> > > > We are talking about 39 lines of reduced complexity at the cost
> > > > of complicating branching at the top level. I doubt that there
> > > > is either any throughput or latency issues.
> > > >
> > > > What is measurable benefit? The rationale is way way too abstract
> > > > for me to cope, sorry.
> > >
> > > E.g., here's how you can get rid of extra cruft in tpm_ftpm_tee w/o
> > > any new callbacks.
>
> Yeah, I agree that your patch should go in any case, with send_recv() or
> not. It's a good cleanup.
>
> >
> > Measurable benefit: no need to allocate memory buffer.
>
> That's right, I read the whole thread before responding, but that's exactly
> what I wanted to highlight. Implementing send_recv() we could completely
> remove the buffer for the cache here in tpm_ftpm_tee, simplifying it quite a
> bit.
>
> In tpm_svsm instead we allocate it while probing anyway to avoid having to
> allocate it every time, but we could potentially do the same (I don't know
> if it makes sense honestly). We do this because for SVSM any buffer is fine,
> as it can access all guest kernel memory, whereas IIUC for ftpm it has to be
> taken from shared memory.
>
> >
> > Let's take that as a starting point ;-)
>
> Yeah!
>
> >
> > On that basis I can consider this (i.e. something to measure).
>
> Okay, I explain this better in the commit description for the next version!
Awesome :-) Thanks for the patience with this. I rather precautionaly
throw sticks on the road than go through fixes post upstreaming, which
is factors more nasty and time-consuming...
>
> Thanks,
> Stefano
>
BR, Jarkko
prev parent reply other threads:[~2025-03-27 13:04 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-03-20 15:24 [PATCH 0/2] tpm: add send_recv() op and use it in tpm_ftpm_tee driver Stefano Garzarella
2025-03-20 15:24 ` [PATCH 1/2] tpm: add send_recv() op in tpm_class_ops Stefano Garzarella
2025-03-26 16:53 ` Jarkko Sakkinen
2025-03-27 9:48 ` Stefano Garzarella
2025-03-27 13:02 ` Jarkko Sakkinen
2025-03-27 14:44 ` Stefano Garzarella
2025-03-20 15:24 ` [PATCH 2/2] tpm/tpm_ftpm_tee: use send_recv() op Stefano Garzarella
2025-03-25 5:19 ` Sumit Garg
2025-03-26 12:11 ` Jarkko Sakkinen
2025-03-26 14:34 ` Jason Gunthorpe
2025-03-26 14:57 ` Jarkko Sakkinen
2025-03-26 15:58 ` Jarkko Sakkinen
2025-03-26 20:37 ` Jarkko Sakkinen
2025-03-27 9:27 ` Stefano Garzarella
2025-03-27 13:04 ` Jarkko Sakkinen [this message]
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=Z-VM56u1zWQSPemh@kernel.org \
--to=jarkko@kernel.org \
--cc=James.Bottomley@hansenpartnership.com \
--cc=jens.wiklander@linaro.org \
--cc=jgg@ziepe.ca \
--cc=linux-integrity@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=peterhuewe@gmx.de \
--cc=sgarzare@redhat.com \
--cc=sumit.garg@kernel.org \
/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.