Real‐time performance assessment using fast interrupt request on a standard Linux kernel
Summary This article presents the use of ARM's fast interrupt request (FIQ) to accomplish better jitter performance on real‐time drivers without using patches for real‐time extensions on the native Linux kernel code. Writing an FIQ interrupt handler is challenging due to the lack of Linux kerne...
Main Authors: | , , , , , |
---|---|
Format: | Article |
Language: | English |
Published: |
Wiley
2020-01-01
|
Series: | Engineering Reports |
Subjects: | |
Online Access: | https://doi.org/10.1002/eng2.12114 |
id |
doaj-dbed6370782f4bcd97a6f78f32cf3d00 |
---|---|
record_format |
Article |
spelling |
doaj-dbed6370782f4bcd97a6f78f32cf3d002020-11-24T21:40:54ZengWileyEngineering Reports2577-81962020-01-0121n/an/a10.1002/eng2.12114Real‐time performance assessment using fast interrupt request on a standard Linux kernelRayanne Souza0Miguel Freitas1Marcelo Jimenez2João Magalhães3Alan C. Kubrusly4Noemi Rodriguez5Center for Telecommunication Studies Pontifical Catholic University of Rio de Janeiro Rio de Janeiro BrazilCenter for Telecommunication Studies Pontifical Catholic University of Rio de Janeiro Rio de Janeiro BrazilCenter for Telecommunication Studies Pontifical Catholic University of Rio de Janeiro Rio de Janeiro BrazilCenter for Telecommunication Studies Pontifical Catholic University of Rio de Janeiro Rio de Janeiro BrazilCenter for Telecommunication Studies Pontifical Catholic University of Rio de Janeiro Rio de Janeiro BrazilComputer Science Department Pontifical Catholic University of Rio de Janeiro Rio de Janeiro BrazilSummary This article presents the use of ARM's fast interrupt request (FIQ) to accomplish better jitter performance on real‐time drivers without using patches for real‐time extensions on the native Linux kernel code. Writing an FIQ interrupt handler is challenging due to the lack of Linux kernel support and the need to avoid page faults exception during its execution. We investigate and evaluate a mechanism that employs static mapping for peripherals and changes on the Linux kernel code to allow the FIQ interrupt handler to be written in the C language. Furthermore, the FIQ performance was evaluated by comparing it with a timer Interrupt Request on Linux PREEMPT‐RT in full CONFIG_PREEMPT_RT mode. Both were applied on a Linux driver for data acquisition of a pipeline inspection gauge system. Results show that the FIQ approach was able to reduce in 97.49% the interrupt jitter and, as a result, allowed an increase in the data acquisition frequency from 1024 Hz to 2048 Hz, showing that the FIQ approach can be considered for real‐time applications without resorting to real‐time extensions.https://doi.org/10.1002/eng2.12114embedded softwareFIQ interruptjitterLinux kernelpipeline inspection gaugereal‐time driver |
collection |
DOAJ |
language |
English |
format |
Article |
sources |
DOAJ |
author |
Rayanne Souza Miguel Freitas Marcelo Jimenez João Magalhães Alan C. Kubrusly Noemi Rodriguez |
spellingShingle |
Rayanne Souza Miguel Freitas Marcelo Jimenez João Magalhães Alan C. Kubrusly Noemi Rodriguez Real‐time performance assessment using fast interrupt request on a standard Linux kernel Engineering Reports embedded software FIQ interrupt jitter Linux kernel pipeline inspection gauge real‐time driver |
author_facet |
Rayanne Souza Miguel Freitas Marcelo Jimenez João Magalhães Alan C. Kubrusly Noemi Rodriguez |
author_sort |
Rayanne Souza |
title |
Real‐time performance assessment using fast interrupt request on a standard Linux kernel |
title_short |
Real‐time performance assessment using fast interrupt request on a standard Linux kernel |
title_full |
Real‐time performance assessment using fast interrupt request on a standard Linux kernel |
title_fullStr |
Real‐time performance assessment using fast interrupt request on a standard Linux kernel |
title_full_unstemmed |
Real‐time performance assessment using fast interrupt request on a standard Linux kernel |
title_sort |
real‐time performance assessment using fast interrupt request on a standard linux kernel |
publisher |
Wiley |
series |
Engineering Reports |
issn |
2577-8196 |
publishDate |
2020-01-01 |
description |
Summary This article presents the use of ARM's fast interrupt request (FIQ) to accomplish better jitter performance on real‐time drivers without using patches for real‐time extensions on the native Linux kernel code. Writing an FIQ interrupt handler is challenging due to the lack of Linux kernel support and the need to avoid page faults exception during its execution. We investigate and evaluate a mechanism that employs static mapping for peripherals and changes on the Linux kernel code to allow the FIQ interrupt handler to be written in the C language. Furthermore, the FIQ performance was evaluated by comparing it with a timer Interrupt Request on Linux PREEMPT‐RT in full CONFIG_PREEMPT_RT mode. Both were applied on a Linux driver for data acquisition of a pipeline inspection gauge system. Results show that the FIQ approach was able to reduce in 97.49% the interrupt jitter and, as a result, allowed an increase in the data acquisition frequency from 1024 Hz to 2048 Hz, showing that the FIQ approach can be considered for real‐time applications without resorting to real‐time extensions. |
topic |
embedded software FIQ interrupt jitter Linux kernel pipeline inspection gauge real‐time driver |
url |
https://doi.org/10.1002/eng2.12114 |
work_keys_str_mv |
AT rayannesouza realtimeperformanceassessmentusingfastinterruptrequestonastandardlinuxkernel AT miguelfreitas realtimeperformanceassessmentusingfastinterruptrequestonastandardlinuxkernel AT marcelojimenez realtimeperformanceassessmentusingfastinterruptrequestonastandardlinuxkernel AT joaomagalhaes realtimeperformanceassessmentusingfastinterruptrequestonastandardlinuxkernel AT alanckubrusly realtimeperformanceassessmentusingfastinterruptrequestonastandardlinuxkernel AT noemirodriguez realtimeperformanceassessmentusingfastinterruptrequestonastandardlinuxkernel |
_version_ |
1725924124605284352 |