On 07/16/2018 10:34 AM, Jarkko Sakkinen wrote: > On Thu, Jul 05, 2018 at 04:15:06PM -0700, flihp wrote: >> Thanks for reviewing the patch Jarkko. While you're doing that I took >> some time to hack up code to demonstrate the utility of supporting this >> feature. The code can be found here: >> >> https://github.com/flihp/glib-tss2-async-example >> >> In short, the example application `glib-tss2-event` uses a glib main >> event loop to create an RSA 2048 primary key in the TPM2 NULL hierarchy >> while using a glib timer event to time the operation. A GSource object >> is used to generate an event when the FD underlying the tss2 function >> call has data ready. While the application waits for an event indicating >> that the CreatePrimary operation is complete, it counts timer events >> that occur every 100ms. Once the CreatePrimary operation completes the >> number of timer events that occurred is used to make a rough calculation >> of the elapsed time. This value is then printed to the console. >> >> This takes ~300 lines of C code and requires no management or >> synchronization of threads. The glib GMainContext is "just a poll() >> loop" according to the glib documentation here: >> >> https://developer.gnome.org/programming-guidelines/stable/main-contexts.html.en >> >> and so supporting 'poll' is the easiest way to integrate with glib / >> gtk+. This is true of any other event system that relies on 'poll' >> instead of worker threads. >> >> I've tested this against the userspace resource management daemon (which >> supports 'poll') as well as the kernel interface using Tadeusz's patch >> currently under review here. If / when this gets merged feel free to add >> a "tested-by" line for myself: >> Tested-by: Philip Tricca <philip.b.tricca@xxxxxxxxx> > > I see the value now. I'll test this at early August when I'm back from > my leave. > > Noticed now that the whole patch should be reposted because CC is missing > linux-kernel and linux-security-module (maybe with a link to your test > application in the cover letter). I'll rebase and resend it after you will be back from vacation. Thanks, -- Tadeusz