| Electronic Components Datasheet Search |
|
AN3129 Datasheet(PDF) 3 Page - STMicroelectronics |
|
|
|||||||||||||||||||||||||||||
AN3129 Datasheet(HTML) 3 Page - STMicroelectronics |
|
3 / 12 page ![]() AN3129 Linux kernel IRQ handling latency Doc ID 16927 Rev 1 3/12 2 Linux kernel IRQ handling latency In a Linux kernel based system, interrupt latency may occur in the following cases: ● Interrupt latency for top half, ● Various sections where IRQs are disabled Figure 2. IRQ handling latency in Linux Kernel An FIQ is a highest priority interrupt and preempts both of these sources of latency. It can preempt IRQ top half handlers as well as Linux kernel code sections where IRQs are disabled. Further to this, the FIQ handler can not be preempted by other IRQs. This ensures that the platform has predictable worst case timings for FIQ handler latency making FIQ suitable for real-time systems. The FIQ handler can not permit tasks that require other IRQs to be active, including the timer. This also makes it suitable for real-time systems but imposes the following limitations: ● Kernel mode APIs and device driver framework can not be used inside the FIQ handler. These APIs available for Linux driver development may internally rely upon timers, schedulers, spinlocks, etc. for functioning. Linux code also needs to guard against multiple access to objects by spinlocks or other relevant mechanisms. FIQ ISRs can come in the middle of anything and have to get out quickly again too. So unless it is a simple macro, you can not use any Linux APIs in the FIQ ISR. ● Page faults have to be avoided inside the handler (the memory used in the handler should be already allocated and initialized). In case that a page fault occurs inside the FIQ handler, it can not be recovered by the kernel and it would lead to a kernel crash. Interrupt IRQ handler Interrupt latency Interrupt disabling in Kernel OR other interrupt handler Interrupt handler duration |
|
|
Link URL |
| Does ALLDATASHEET help your business so far? [ DONATE ] |
About Alldatasheet | Advertisement | Contact us | Privacy Policy | Link to Datasheet | Link Exchange | Manufacturer List All Rights Reserved©Alldatasheet.com |
| Russian : Alldatasheetru.com | Korean : Alldatasheet.co.kr | Spanish : Alldatasheet.es | French : Alldatasheet.fr | Italian : Alldatasheetit.com Portuguese : Alldatasheetpt.com | Polish : Alldatasheet.pl | Vietnamese : Alldatasheet.vn Indian : Alldatasheet.in | Mexican : Alldatasheet.com.mx | British : Alldatasheet.co.uk | New Zealand : Alldatasheet.co.nz |
|
Family Site : ic2ic.com |
icmetro.com |