All of lore.kernel.org
 help / color / mirror / Atom feed
* RE: Interrupts
@ 2022-06-20 15:17 Russell Johnson
  2022-06-20 15:42 ` Interrupts Philippe Gerum
  0 siblings, 1 reply; 9+ messages in thread
From: Russell Johnson @ 2022-06-20 15:17 UTC (permalink / raw)
  To: xenomai@lists.linux.dev


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

> The recommended way with EVL is to follow the common patterns used for
> developing regular linux drivers, except that the EVL kernel API must be
> used instead of the regular/in-band kernel API for anything which wants
> to synchronize threads over the oob stage.
> 
> Typically, you could share an EVL semaphore [1] or an event flag group
> [2] between the interrupt handler and the oob_ioctl() or oob_read()
> call, which would block the user-space task until the matching event
> happens. To monitor complex events, you could use an EVL wait queue
> instead of a semaphore or a flag.
> 
> If you need to monitor multiple event sources in userland, you can use
> the EVL poll API [4] with the file descriptors you would otherwise pass
> to the oob_{ioctl, read, write}() calls.
> 
> [1] https://evlproject.org/core/user-api/semaphore/
> [2] https://evlproject.org/core/user-api/flags/
> [3] https://evlproject.org/core/kernel-api/wait/
> [4] https://evlproject.org/core/user-api/poll/
> 
> -- 
> Philippe.
 
If I create an EVL semaphore or event flag group on the userspace side
(using the libevl API), how would I go about passing a reference to that
down to the kernel driver (through ioctl)? Wouldn't the kernel driver need
to know what a "struct evl_sem" or a "struct evl_flags" is? But those are
defined in the libevl usersapce API and the kernel does not have access to
those headers from what I can see.
 
Thanks,
 
Russell

 


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

[-- Attachment #2: smime.p7s --]
[-- Type: application/pkcs7-signature, Size: 6759 bytes --]

^ permalink raw reply	[flat|nested] 9+ messages in thread
* Interrupts
@ 2022-06-17 19:23 Russell Johnson
  2022-06-18  8:44 ` Interrupts Philippe Gerum
  0 siblings, 1 reply; 9+ messages in thread
From: Russell Johnson @ 2022-06-17 19:23 UTC (permalink / raw)
  To: Xenomai@xenomai.org

The app that I am currently working with has an interrupt scheme as follows:
device on the PCIe bus sends an interrupt to the CPU, our linux driver then
has an MSI interrupt handler (will be replaced by the EVL oob interrupt
handler), the handler then calls eventfd_signal() to alert the userspace app
that an interrupt happened. On the userspace side, there is a thread that
implements an epoll that is monitoring the eventfd for an event. The issue
is that eventfd and epoll are both Linux OS items, so I am not sure if
sticking with this kind of method is the best option. Is there a more
generally excepted method when developing with EVL to have an EVL kernel
driver notify a userspace EVL thread that there was an interrupt?

 

Thanks,

 

Russell

-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 6759 bytes
Desc: not available
URL: <http://xenomai.org/pipermail/xenomai/attachments/20220617/2dbd8004/attachment.bin>

^ permalink raw reply	[flat|nested] 9+ messages in thread
* Interrupts
@ 2007-04-01 15:05 Guy Zana
  0 siblings, 0 replies; 9+ messages in thread
From: Guy Zana @ 2007-04-01 15:05 UTC (permalink / raw)
  To: xen-devel


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

IO-APICs -> Any ideas of how can I check whether a signal is asserted
(level) for a real PCI device?
 
Thanks,
Guy.
 

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

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

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xensource.com
http://lists.xensource.com/xen-devel

^ permalink raw reply	[flat|nested] 9+ messages in thread
* Interrupts
@ 2004-03-15  3:22 Nishant Nagalia
  2004-03-15  5:51 ` Interrupts Zwane Mwaikambo
  0 siblings, 1 reply; 9+ messages in thread
From: Nishant Nagalia @ 2004-03-15  3:22 UTC (permalink / raw)
  To: linux-kernel

Hello,

I am trying to modify linux scheduler for my project.

I want to schedule interrupts whenever I want,means I want to queue
an interrupt when it comes and execute it when my scheduler will want it
to. I should be able to queue it before it executes any function/ISR
inside kernel and then schedule it when required.

I am not able to find proper documentation of how exactly I can do this. I
would really appreciate if anyone can help me in this regards.

Nishant.

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2022-06-20 15:57 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <D6CF33887D864426B02D21261537559B@ChuckPC>
2010-09-17 16:42 ` interrupts Luis R. Rodriguez
2010-09-17 17:39   ` interrupts Christian Lamparter
2022-06-20 15:17 Interrupts Russell Johnson
2022-06-20 15:42 ` Interrupts Philippe Gerum
  -- strict thread matches above, loose matches on Subject: below --
2022-06-17 19:23 Interrupts Russell Johnson
2022-06-18  8:44 ` Interrupts Philippe Gerum
2007-04-01 15:05 Interrupts Guy Zana
2004-03-15  3:22 Interrupts Nishant Nagalia
2004-03-15  5:51 ` Interrupts Zwane Mwaikambo

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.