6
votes
2answers
2k views

Linux kernel interrupt handler mutex protection?

Do I need to protect my interrupt handler being called many times for the same interrupt? Given the following code, I am not sure on the system calls I should make. I am getting rare, random ...
2
votes
1answer
184 views

Spinlock not working to protect critical section on multi-core system

I have a character device driver which is causing a system deadlock on a multicore system. The write call has a critical section protected by a spin lock (spin_lock_irqsave). The ISR must obtain this ...
2
votes
3answers
519 views

What happens to preempted interrupt handler?

I could not find a proper answer for the following questions even in some well written kernel books: They are saying that an ISR can't sleep because its not possible to reschedule an ISR as it is ...
1
vote
3answers
134 views

concurrent interrupt handling linux

What are the things that can be done or needs to be done in the top-half of a ISR handler. I see that the interrupts are disabled first,but when this is done don't we miss the interrupts(on same IRQ ...
1
vote
3answers
2k views

Linux device driver handling multiple interrupt sources/vectors

I am writing a device driver to handle interrupts for a PCIe card, which currently works for any interrupt vector raised on the IRQ line. But it has a few types that can be raised, flagged by the ...
1
vote
1answer
57 views

Can't access /proc/interrupts after free_irq

I am writing a kernel v4l2 driver for an ov7670 CMOS element attached to GPIO pins on a Raspberry Pi. I set up three IRQ lines (Pixel, Href, and Vsync) Here is how I am requesting them: ret = ...
1
vote
1answer
138 views

How to measure ISR execution time?

I am on linux kernel 2.6.32. I am facing an issue in which one of the two ISR (serial and ethernet) are taking more time (hundreds of microseconds) on several occasion/under some scenarios which I ...
1
vote
1answer
146 views

linux interrupt diagram

I am new to linux and recently looking at some linux driver code related to interrupt. I am starting from this tutorial http://www.redhat.com/mirrors/LDP/LDP/tlk/dd/interrupts.html, but not sure if i ...
1
vote
1answer
323 views

Linux SPI driver crasj

I am trying to write a SPI driver for Angstrom Linux 2.6.36 for Gumstix Overo Fire. My driver keeps on crashing in the interrupt handler. Here is the full code #include <linux/init.h> #include ...
1
vote
1answer
89 views

Do I need to do some special setting for Virtual Legacy Wire in Linux kernel?

In my x86 main board, I connect some special interrupt sources (including NMI) to the south bridge chip. In the datasheet of the chip, it says that these interrupts are sent to CPU via virtual legacy ...
1
vote
0answers
142 views

Submitting a BIO from a work queue

I'm using 2.6.39.1 version of the Linux kernel. In my block device driver, I'm queuing a struct work_struct from the bottom half of the interrupt handler, i.e., in the ->bi_end_io function of a ...
0
votes
3answers
894 views

low latency Interrupt handling (expected avg time to return from kernel to user space is?)

I have a Fibre Optic link, with a proprietary Device Driver. The link goes into a PCIe card. Running on a RHEL 5.2 (2.6.18-128~) I have mmap'ed the interface on the card for setup and FIFO access etc, ...
0
votes
0answers
53 views

linux motor control device driver — design suggestion needed? [closed]

I am not expert in linux driver programming, but starting the same way i started with AVR. I have designed motor control application using AVR, now trying my hand on linux & 32 bit controller. I ...
0
votes
0answers
37 views

Whic softiq will execute if interrupt is generated on same line.prempted or new sofirq?

Following is sequence: interrupt generated at line 1. line 1 disable. ISR executed.set sofirq bit 1 line 1 enable. softirq executes and suddenly interrupts come at line 1. softirq preempted. ISR ...
0
votes
2answers
304 views

Does any interrupt occur when a usb device is connected?

I am working on USB HIDs on linux platform. Keyboards, mouse etc., are examples of Human Interface Devices. Whenever a HID is inserted to a system, at first device enumeration occurs. Then an entry in ...