Submit Search
Upload
Interrupts
•
14 likes
•
48,295 views
Anil Kumar Pugalia
Follow
Interrupts, SoftIRQs and their handling in Linux
Read less
Read more
Technology
Entertainment & Humor
Report
Share
Report
Share
1 of 18
Recommended
Block Drivers
Block Drivers
Anil Kumar Pugalia
Jtag presentation
Jtag presentation
klinetik
Linux device drivers
Linux device drivers
Emertxe Information Technologies Pvt Ltd
Verification Strategy for PCI-Express
Verification Strategy for PCI-Express
DVClub
System verilog assertions
System verilog assertions
HARINATH REDDY
Pcie basic
Pcie basic
Saifuddin Kaijar
Character Drivers
Character Drivers
Anil Kumar Pugalia
Network Drivers
Network Drivers
Anil Kumar Pugalia
Recommended
Block Drivers
Block Drivers
Anil Kumar Pugalia
Jtag presentation
Jtag presentation
klinetik
Linux device drivers
Linux device drivers
Emertxe Information Technologies Pvt Ltd
Verification Strategy for PCI-Express
Verification Strategy for PCI-Express
DVClub
System verilog assertions
System verilog assertions
HARINATH REDDY
Pcie basic
Pcie basic
Saifuddin Kaijar
Character Drivers
Character Drivers
Anil Kumar Pugalia
Network Drivers
Network Drivers
Anil Kumar Pugalia
Slideshare - PCIe
Slideshare - PCIe
Jin Wu
PCI Drivers
PCI Drivers
Anil Kumar Pugalia
Direct Memory Access (DMA)-Working and Implementation
Direct Memory Access (DMA)-Working and Implementation
Shubham Kumar
FIFO Design
FIFO Design
Arrow Devices
JTAG Interface (Intro)
JTAG Interface (Intro)
Nitesh Bhatia
U-Boot - An universal bootloader
U-Boot - An universal bootloader
Emertxe Information Technologies Pvt Ltd
I2C Drivers
I2C Drivers
SysPlay eLearning Academy for You
SPI introduction(Serial Peripheral Interface)
SPI introduction(Serial Peripheral Interface)
SUNODH GARLAPATI
axi protocol
axi protocol
Azad Mishra
Board Bringup
Board Bringup
Anil Kumar Pugalia
Bootloaders
Bootloaders
Anil Kumar Pugalia
Spi drivers
Spi drivers
pradeep_tewani
Understanding a kernel oops and a kernel panic
Understanding a kernel oops and a kernel panic
Joseph Lu
UVM Methodology Tutorial
UVM Methodology Tutorial
Arrow Devices
Interrupts
Interrupts
Zara Tariq
Pcie drivers basics
Pcie drivers basics
Venkatesh Malla
I2C Protocol
I2C Protocol
Sudhanshu Janwadkar
Coa INTERUPT
Coa INTERUPT
Piyush Rochwani
Linux Porting
Linux Porting
Anil Kumar Pugalia
Embedded Linux Kernel - Build your custom kernel
Embedded Linux Kernel - Build your custom kernel
Emertxe Information Technologies Pvt Ltd
Serial Drivers
Serial Drivers
SysPlay eLearning Academy for You
SPI Drivers
SPI Drivers
SysPlay eLearning Academy for You
More Related Content
What's hot
Slideshare - PCIe
Slideshare - PCIe
Jin Wu
PCI Drivers
PCI Drivers
Anil Kumar Pugalia
Direct Memory Access (DMA)-Working and Implementation
Direct Memory Access (DMA)-Working and Implementation
Shubham Kumar
FIFO Design
FIFO Design
Arrow Devices
JTAG Interface (Intro)
JTAG Interface (Intro)
Nitesh Bhatia
U-Boot - An universal bootloader
U-Boot - An universal bootloader
Emertxe Information Technologies Pvt Ltd
I2C Drivers
I2C Drivers
SysPlay eLearning Academy for You
SPI introduction(Serial Peripheral Interface)
SPI introduction(Serial Peripheral Interface)
SUNODH GARLAPATI
axi protocol
axi protocol
Azad Mishra
Board Bringup
Board Bringup
Anil Kumar Pugalia
Bootloaders
Bootloaders
Anil Kumar Pugalia
Spi drivers
Spi drivers
pradeep_tewani
Understanding a kernel oops and a kernel panic
Understanding a kernel oops and a kernel panic
Joseph Lu
UVM Methodology Tutorial
UVM Methodology Tutorial
Arrow Devices
Interrupts
Interrupts
Zara Tariq
Pcie drivers basics
Pcie drivers basics
Venkatesh Malla
I2C Protocol
I2C Protocol
Sudhanshu Janwadkar
Coa INTERUPT
Coa INTERUPT
Piyush Rochwani
Linux Porting
Linux Porting
Anil Kumar Pugalia
Embedded Linux Kernel - Build your custom kernel
Embedded Linux Kernel - Build your custom kernel
Emertxe Information Technologies Pvt Ltd
What's hot
(20)
Slideshare - PCIe
Slideshare - PCIe
PCI Drivers
PCI Drivers
Direct Memory Access (DMA)-Working and Implementation
Direct Memory Access (DMA)-Working and Implementation
FIFO Design
FIFO Design
JTAG Interface (Intro)
JTAG Interface (Intro)
U-Boot - An universal bootloader
U-Boot - An universal bootloader
I2C Drivers
I2C Drivers
SPI introduction(Serial Peripheral Interface)
SPI introduction(Serial Peripheral Interface)
axi protocol
axi protocol
Board Bringup
Board Bringup
Bootloaders
Bootloaders
Spi drivers
Spi drivers
Understanding a kernel oops and a kernel panic
Understanding a kernel oops and a kernel panic
UVM Methodology Tutorial
UVM Methodology Tutorial
Interrupts
Interrupts
Pcie drivers basics
Pcie drivers basics
I2C Protocol
I2C Protocol
Coa INTERUPT
Coa INTERUPT
Linux Porting
Linux Porting
Embedded Linux Kernel - Build your custom kernel
Embedded Linux Kernel - Build your custom kernel
Viewers also liked
Serial Drivers
Serial Drivers
SysPlay eLearning Academy for You
SPI Drivers
SPI Drivers
SysPlay eLearning Academy for You
File System Modules
File System Modules
Anil Kumar Pugalia
Introduction to Linux Drivers
Introduction to Linux Drivers
Anil Kumar Pugalia
USB Drivers
USB Drivers
Anil Kumar Pugalia
Kernel Debugging & Profiling
Kernel Debugging & Profiling
Anil Kumar Pugalia
References
References
Anil Kumar Pugalia
gcc and friends
gcc and friends
Anil Kumar Pugalia
Embedded C
Embedded C
Anil Kumar Pugalia
Platform Drivers
Platform Drivers
SysPlay eLearning Academy for You
Low-level Accesses
Low-level Accesses
Anil Kumar Pugalia
Kernel Programming
Kernel Programming
Anil Kumar Pugalia
Audio Drivers
Audio Drivers
Anil Kumar Pugalia
Video Drivers
Video Drivers
Anil Kumar Pugalia
BeagleBoard-xM Bootloaders
BeagleBoard-xM Bootloaders
SysPlay eLearning Academy for You
BeagleBone Black Bootloaders
BeagleBone Black Bootloaders
SysPlay eLearning Academy for You
File Systems
File Systems
Anil Kumar Pugalia
Viewers also liked
(17)
Serial Drivers
Serial Drivers
SPI Drivers
SPI Drivers
File System Modules
File System Modules
Introduction to Linux Drivers
Introduction to Linux Drivers
USB Drivers
USB Drivers
Kernel Debugging & Profiling
Kernel Debugging & Profiling
References
References
gcc and friends
gcc and friends
Embedded C
Embedded C
Platform Drivers
Platform Drivers
Low-level Accesses
Low-level Accesses
Kernel Programming
Kernel Programming
Audio Drivers
Audio Drivers
Video Drivers
Video Drivers
BeagleBoard-xM Bootloaders
BeagleBoard-xM Bootloaders
BeagleBone Black Bootloaders
BeagleBone Black Bootloaders
File Systems
File Systems
Similar to Interrupts
Signals
Signals
Anil Kumar Pugalia
SR-IOV Introduce
SR-IOV Introduce
Lingfei Kong
IRQs: the Hard, the Soft, the Threaded and the Preemptible
IRQs: the Hard, the Soft, the Threaded and the Preemptible
Alison Chaiken
MICROCONTROLLER PROGRAMMING.pdf
MICROCONTROLLER PROGRAMMING.pdf
KarthiA15
Kernel Debugging & Profiling
Kernel Debugging & Profiling
Anil Kumar Pugalia
Rsockets ofa12
Rsockets ofa12
trustitrusti
Mastering Microcontroller : TIMERS, PWM, CAN, RTC,LOW POWER
Mastering Microcontroller : TIMERS, PWM, CAN, RTC,LOW POWER
FastBit Embedded Brain Academy
Embedded Software Design
Embedded Software Design
Anil Kumar Pugalia
Kernel Timing Management
Kernel Timing Management
SysPlay eLearning Academy for You
Synchronization
Synchronization
Anil Kumar Pugalia
Quick and Easy Device Drivers for Embedded Linux Using UIO
Quick and Easy Device Drivers for Embedded Linux Using UIO
Chris Simmonds
Training report on embedded sys_AVR
Training report on embedded sys_AVR
Galgotias College of Engg. & Tech.
SPI Drivers
SPI Drivers
SysPlay eLearning Academy for You
With suitable diagram explain the working of 8255 a and inerrupts
With suitable diagram explain the working of 8255 a and inerrupts
ransherraj
Simple Single Instruction Multiple Data (SIMD) with the Intel® Implicit SPMD ...
Simple Single Instruction Multiple Data (SIMD) with the Intel® Implicit SPMD ...
Intel® Software
OSMC 2014: Server Hardware Monitoring done right | Werner Fischer
OSMC 2014: Server Hardware Monitoring done right | Werner Fischer
NETWAYS
Summer training embedded system and its scope
Summer training embedded system and its scope
Arshit Rai
리눅스 드라이버 #2
리눅스 드라이버 #2
Sangho Park
Kernel Memory Protection by an Insertable Hypervisor which has VM Introspec...
Kernel Memory Protection by an Insertable Hypervisor which has VM Introspec...
Kuniyasu Suzaki
IRJET- Design of Low Power 32- Bit RISC Processor using Verilog HDL
IRJET- Design of Low Power 32- Bit RISC Processor using Verilog HDL
IRJET Journal
Similar to Interrupts
(20)
Signals
Signals
SR-IOV Introduce
SR-IOV Introduce
IRQs: the Hard, the Soft, the Threaded and the Preemptible
IRQs: the Hard, the Soft, the Threaded and the Preemptible
MICROCONTROLLER PROGRAMMING.pdf
MICROCONTROLLER PROGRAMMING.pdf
Kernel Debugging & Profiling
Kernel Debugging & Profiling
Rsockets ofa12
Rsockets ofa12
Mastering Microcontroller : TIMERS, PWM, CAN, RTC,LOW POWER
Mastering Microcontroller : TIMERS, PWM, CAN, RTC,LOW POWER
Embedded Software Design
Embedded Software Design
Kernel Timing Management
Kernel Timing Management
Synchronization
Synchronization
Quick and Easy Device Drivers for Embedded Linux Using UIO
Quick and Easy Device Drivers for Embedded Linux Using UIO
Training report on embedded sys_AVR
Training report on embedded sys_AVR
SPI Drivers
SPI Drivers
With suitable diagram explain the working of 8255 a and inerrupts
With suitable diagram explain the working of 8255 a and inerrupts
Simple Single Instruction Multiple Data (SIMD) with the Intel® Implicit SPMD ...
Simple Single Instruction Multiple Data (SIMD) with the Intel® Implicit SPMD ...
OSMC 2014: Server Hardware Monitoring done right | Werner Fischer
OSMC 2014: Server Hardware Monitoring done right | Werner Fischer
Summer training embedded system and its scope
Summer training embedded system and its scope
리눅스 드라이버 #2
리눅스 드라이버 #2
Kernel Memory Protection by an Insertable Hypervisor which has VM Introspec...
Kernel Memory Protection by an Insertable Hypervisor which has VM Introspec...
IRJET- Design of Low Power 32- Bit RISC Processor using Verilog HDL
IRJET- Design of Low Power 32- Bit RISC Processor using Verilog HDL
More from Anil Kumar Pugalia
File System Modules
File System Modules
Anil Kumar Pugalia
Processes
Processes
Anil Kumar Pugalia
System Calls
System Calls
Anil Kumar Pugalia
Introduction to Linux
Introduction to Linux
Anil Kumar Pugalia
Playing with R L C Circuits
Playing with R L C Circuits
Anil Kumar Pugalia
Mobile Hacking using Linux Drivers
Mobile Hacking using Linux Drivers
Anil Kumar Pugalia
Shell Scripting
Shell Scripting
Anil Kumar Pugalia
Functional Programming with LISP
Functional Programming with LISP
Anil Kumar Pugalia
Power of vi
Power of vi
Anil Kumar Pugalia
"make" system
"make" system
Anil Kumar Pugalia
Hardware Design for Software Hackers
Hardware Design for Software Hackers
Anil Kumar Pugalia
RPM Building
RPM Building
Anil Kumar Pugalia
Linux User Space Debugging & Profiling
Linux User Space Debugging & Profiling
Anil Kumar Pugalia
Linux Network Management
Linux Network Management
Anil Kumar Pugalia
System Calls
System Calls
Anil Kumar Pugalia
Timers
Timers
Anil Kumar Pugalia
Threads
Threads
Anil Kumar Pugalia
Processes
Processes
Anil Kumar Pugalia
Linux Memory Management
Linux Memory Management
Anil Kumar Pugalia
Linux File System
Linux File System
Anil Kumar Pugalia
More from Anil Kumar Pugalia
(20)
File System Modules
File System Modules
Processes
Processes
System Calls
System Calls
Introduction to Linux
Introduction to Linux
Playing with R L C Circuits
Playing with R L C Circuits
Mobile Hacking using Linux Drivers
Mobile Hacking using Linux Drivers
Shell Scripting
Shell Scripting
Functional Programming with LISP
Functional Programming with LISP
Power of vi
Power of vi
"make" system
"make" system
Hardware Design for Software Hackers
Hardware Design for Software Hackers
RPM Building
RPM Building
Linux User Space Debugging & Profiling
Linux User Space Debugging & Profiling
Linux Network Management
Linux Network Management
System Calls
System Calls
Timers
Timers
Threads
Threads
Processes
Processes
Linux Memory Management
Linux Memory Management
Linux File System
Linux File System
Recently uploaded
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
apidays
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Miguel Araújo
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Neo4j
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
debabhi2
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
The Digital Insurer
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Principled Technologies
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
The Digital Insurer
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
Khushali Kathiriya
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
UK Journal
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024
SynarionITSolutions
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
Radu Cotescu
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
The Digital Insurer
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
Anna Loughnan Colquhoun
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
wesley chun
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
Product Anonymous
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
sammart93
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Juan lago vázquez
Recently uploaded
(20)
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Interrupts
1.
© 2010-15 SysPlay
Workshops <workshop@sysplay.in> All Rights Reserved. Interrupts
2.
2© 2010-15 SysPlay
Workshops <workshop@sysplay.in> All Rights Reserved. What to Expect? W's & How's of Interrupts? The IRQ Interrupt Handling & Handlers Soft IRQs
3.
3© 2010-15 SysPlay
Workshops <workshop@sysplay.in> All Rights Reserved. W's of an Interrupt? What is an Interrupt? Intervention to get Attention Here, from the Devices to the CPU Why is an Interrupt required? Mismatch of Device & CPU speeds Get overall better efficiency & latency
4.
4© 2010-15 SysPlay
Workshops <workshop@sysplay.in> All Rights Reserved. How does interrupt work? Interrupt is a Hardware thing It needs Physical connection In Processors Typically have one or two interrupt lines Handled by a Interrupt Controller, called PIC And PIC informs the Processor through its one line In Micro-controllers Each GPIO can act as an interrupt line Interrupt Controller is in-built In both cases, the CPU then decodes the IRQ And calls the corresponding registered interrupt handler
5.
5© 2010-15 SysPlay
Workshops <workshop@sysplay.in> All Rights Reserved. Interrupt ReQuest (IRQ) Number derived by CPU & Board Programmed or Hard Coded with Interrupt Controller Hence, one key component of LSPs In x86 CPU Specific: 0x00 to 0x1F (Hard coded) Board Specific: 0x20 to 0xFF Header: <asm/interrupt.h> → <asm/irq.h> → irq*.h In Microcontrollers Depends on the controller Header: <asm/interrupt.h> → <asm/irq.h> → irq*.h
6.
6© 2010-15 SysPlay
Workshops <workshop@sysplay.in> All Rights Reserved. Programming Interface Header: <asm/interrupt.h> Type: typedef irqreturn_t (*irq_handler_t)(int, void *); APIs int request_irq(unsigned int irq, irq_handler_t handler, unsigned long flags, const char *name, void *dev_id); void free_irq(unsigned int irq, void *dev_id); int can_request_irq(irq, flags); Flags IRQF_TRIGGER_RISING, ..., IRQF_TRIGGER_HIGH, ... IRQF_SAMPLE_RANDOM IRQF_SHARED, ...
7.
7© 2010-15 SysPlay
Workshops <workshop@sysplay.in> All Rights Reserved. IRQ Handler Do's & Don'ts No sleeping – direct or indirect Example: schedule_timeout, input_register_device No mutexes Rather use spin_locks, if you must Can't exchange data with User Space In their own context. current is invalid If lot to be done, break it into two Top Half & Bottom Half Need not be re-entrant May get interrupted by higher priority interrupt handlers
8.
8© 2010-15 SysPlay
Workshops <workshop@sysplay.in> All Rights Reserved. The Additional Info IRQ Control enable_irq(irq); disable_irq(irq); IRQ Handler returns IRQ_NONE IRQ_HANDLED Check for execution state in_interrupt(); Synchronous interrupts, treated alike Exceptions to report grave runtime errors Software interrupts such as the int 0x80 used for system calls in x86 architecture
9.
9© 2010-15 SysPlay
Workshops <workshop@sysplay.in> All Rights Reserved. Message Signaled Interrupts Specifically for PCI Devices Advantages No sharing, No sync issues, More interrupts Modes: MSI or MSI-X (only one at a time) MSI (since PCI 2.2) Special Address: PCI config space Interrupts / Device: Upto 32 in powers of 2 MSI-X (since PCI 3.0) Special Address: Bus address Interrupts / Device: Sparse & upto 2048
10.
10© 2010-15 SysPlay
Workshops <workshop@sysplay.in> All Rights Reserved. MSI/MSI-X APIs MSI int pci_enable_msi(strcut pci_dev *); int pci_enable_msi_block(strcut pci_dev *, int cnt); void pci_disable_msi(strcut pci_dev *); MSI-X int pci_enable_msix(strcut pci_dev *, struct msix_entry *, int nvec); struct msix_entry { u16 vector /* allocated irq */, entry; }; void pci_disable_msix(strcut pci_dev *);
11.
11© 2010-15 SysPlay
Workshops <workshop@sysplay.in> All Rights Reserved. Soft IRQs
12.
12© 2010-15 SysPlay
Workshops <workshop@sysplay.in> All Rights Reserved. What is a Soft IRQ? Basic Bottom Half Synchronous Interrupt Have strong locking requirements Used for the performance sensitive subsystems Not same as Software Interrupt
13.
13© 2010-15 SysPlay
Workshops <workshop@sysplay.in> All Rights Reserved. Typical Soft IRQs Timer Network Block Tasklet Scheduler High Resolution Timer
14.
14© 2010-15 SysPlay
Workshops <workshop@sysplay.in> All Rights Reserved. Linux Execution Model Interrupt Handlers Soft IRQ Handlers Kernel Threads Timer Network... Timer Network...Scheduler ... User Processes Work Q Kernel Thread User Process Pn User Process P1 ...
15.
15© 2010-15 SysPlay
Workshops <workshop@sysplay.in> All Rights Reserved. Programming Header: <linux/interrupt.h> APIs void open_softirq(int nr, void (*action)(struct softirq_action *)); void raise_softirq(unsigned int nr);
16.
16© 2010-15 SysPlay
Workshops <workshop@sysplay.in> All Rights Reserved. Top & Bottom Halves Top Half Registered through request_irq Bottom Half Tasklet Soft IRQ Context Fast & Atomic Only different tasklets can run on different CPUs Work Queue Special Kernel Process Context Allowed to sleep Can run simultaneously on different CPUs
17.
17© 2010-15 SysPlay
Workshops <workshop@sysplay.in> All Rights Reserved. What all have we learnt? W's & How's of Interrupts? The IRQ Interrupt Handling & Handlers Message Signalled Interrupts Soft IRQs: The Bottom Halves
18.
18© 2010-15 SysPlay
Workshops <workshop@sysplay.in> All Rights Reserved. Any Queries?