All of lore.kernel.org
 help / color / mirror / Atom feed
* How to implement waiting until processing is done by a device..
@ 2021-08-20 13:09 ckim
  0 siblings, 0 replies; only message in thread
From: ckim @ 2021-08-20 13:09 UTC (permalink / raw)
  To: kernelnewbies


[-- Attachment #1.1: Type: text/plain, Size: 1063 bytes --]

Hello,

We are developing a compute accelerator and I'm not sure which is the best
or normal way to implement the waiting method for the application until the
computing is finished by the accelerator.

The application first sets up input data and configuration for the
accelerator on the memory. It then calls an ioctl which sets up the
registers and it calls another ioctl which trigger the accelerator.

My idea is : 

*	The application process goes into wait queue after calling the
second ioctl by telling the OS "keep me in the wait queue and wake me up
when 'this' signal comes'. 
*	The driver's ISR process sends a signal to the sleeping user process
when processing the 'computing complete' interrupt.

Does this make sense? (Can I define and use a signal for this purpose?) 

And if it does, what function calls should I use? I would appreciate sending
me any link for suggested reading.

It should be possible to use accelerator for multiple processes at the same
time, but I think for now we can just do with single application.

Thanks!

Chan Kim

 


[-- Attachment #1.2: Type: text/html, Size: 6533 bytes --]

[-- Attachment #2: Type: text/plain, Size: 170 bytes --]

_______________________________________________
Kernelnewbies mailing list
Kernelnewbies@kernelnewbies.org
https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2021-08-20 13:09 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-08-20 13:09 How to implement waiting until processing is done by a device ckim

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.