Knowledge (XXG)

Interrupt latency

Source 📝

28: 200:
of code. During the execution of such a critical section, all interrupt handlers that cannot execute safely within a critical section are blocked (they save the minimum amount of information required to restart the interrupt handler after all critical sections have exited). So the interrupt latency
281:
by having the hardware wait a programmable minimum amount of time between each interrupt it generates. Interrupt rate limiting reduces the amount of time spent servicing interrupts, allowing the processor to spend more time doing useful work. Exceeding this time results in a soft (recoverable) or
169:
design that improve interrupt latency will decrease throughput and increase processor utilization. Techniques that increase throughput may increase interrupt latency and increase processor utilization. Lastly, trying to reduce processor utilization may increase interrupt latency and decrease
392: 270:, interrupt rate limiting, and hardware flow control. Buffers allow data to be stored until it can be transferred, and flow control allows the network card to pause communications without having to discard data if the buffer is full. 195:
Maximum interrupt latency is largely determined by the methods an OS uses for interrupt handling. For example, most processors allow programs to disable interrupts, putting off the execution of interrupt handlers, in order to protect
384: 261:
Also, there are many other methods hardware may use to help lower the requirements for shorter interrupt latency in order to make a given interrupt latency tolerable in a situation. These include buffers, and
128:
refers to the delay between the start of an Interrupt Request (IRQ) and the start of the respective Interrupt Service Routine (ISR). For many operating systems, devices are serviced as soon as the device's
201:
for a blocked interrupt is extended to the end of the critical section, plus any interrupts with equal and higher priority that arrived while the block was in place.
291: 413:
Lin, Feng; Ashley, David T.; Burke, Michael J.; Heymann, Michael (1999). "A Hybrid System Solution of the Interrupt Latency Compatibility Problem".
45: 330: 111: 92: 64: 49: 71: 216:(RTOS). An RTOS makes the promise that no more than a specified maximum amount of time will pass between executions of 336: 228:
Advanced interrupt controllers implement a multitude of hardware features in order to minimize the overhead during
220:. In order to do this, the RTOS must also guarantee that interrupt latency will never exceed a predefined maximum. 213: 78: 38: 308: 60: 189: 324: 185: 346: 341: 297: 17: 174: 138: 454: 263: 182: 430: 385:"A Beginner's Guide on Interrupt Latency - and Interrupt Latency of the Arm Cortex-M processors" 85: 422: 319: 130: 197: 166: 146: 274: 205: 229: 209: 162: 134: 448: 267: 27: 302: 217: 158: 426: 314: 278: 273:
Modern hardware also implements interrupt rate limiting. This helps prevent
142: 434: 192:
is well known for producing a huge amount of interrupt latency jitter.
178: 232:
and the effective interrupt latency. These include features like:
204:
Many computer systems require low interrupt latencies, especially
266:. For example, most network cards implement transmit and receive 21: 181:
in the interrupt latency, which can drastically affect the
177:
circuit and its configuration. They can also affect the
157:
There is usually a trade-off between interrupt latency,
212:
machinery in real-time. Sometimes these systems use a
173:
Minimum interrupt latency is largely determined by the
161:, and processor utilization. Many of the techniques of 236:
Minimum jitter through non-interruptible instructions
52:. Unsourced material may be challenged and removed. 378: 376: 374: 372: 370: 368: 366: 364: 362: 133:is executed. Interrupt latency may be affected by 347:Computer hardware and operating system latency 8: 292:Advanced Programmable Interrupt Controller 112:Learn how and when to remove this message 358: 305:(802.3x PAUSE frames for flow control) 239:Zero wait states for the memory system 7: 149:'s (OS) interrupt handling methods. 50:adding citations to reliable sources 14: 331:Programmable Interrupt Controller 26: 395:from the original on 2019-06-15 37:needs additional citations for 282:hard (non-recoverable) error. 1: 471: 383:Yiu, Joseph (2016-04-01). 337:Response time (technology) 214:real-time operating system 15: 309:Inter-processor interrupt 242:Switchable register banks 190:Intel APIC architecture 325:Non-maskable interrupt 342:Latency (engineering) 298:Ethernet flow control 257:Sleep-on-exit feature 139:interrupt controllers 18:Latency (engineering) 175:interrupt controller 46:improve this article 188:of the system. The 61:"Interrupt latency" 320:Interrupt handler 198:critical sections 143:interrupt masking 131:interrupt handler 126:interrupt latency 122: 121: 114: 96: 462: 439: 438: 415:SAE Transactions 410: 404: 403: 401: 400: 380: 275:interrupt storms 230:context switches 206:embedded systems 147:operating system 117: 110: 106: 103: 97: 95: 54: 30: 22: 470: 469: 465: 464: 463: 461: 460: 459: 445: 444: 443: 442: 412: 411: 407: 398: 396: 382: 381: 360: 355: 288: 226: 155: 118: 107: 101: 98: 55: 53: 43: 31: 20: 12: 11: 5: 468: 466: 458: 457: 447: 446: 441: 440: 405: 357: 356: 354: 351: 350: 349: 344: 339: 334: 328: 322: 317: 312: 306: 300: 295: 287: 284: 259: 258: 255: 254:Pop preemption 252: 249: 246: 243: 240: 237: 225: 224:Considerations 222: 186:schedulability 154: 151: 135:microprocessor 124:In computing, 120: 119: 34: 32: 25: 13: 10: 9: 6: 4: 3: 2: 467: 456: 453: 452: 450: 436: 432: 428: 424: 421:: 2112–2125. 420: 416: 409: 406: 394: 390: 389:Arm Community 386: 379: 377: 375: 373: 371: 369: 367: 365: 363: 359: 352: 348: 345: 343: 340: 338: 335: 332: 329: 326: 323: 321: 318: 316: 313: 310: 307: 304: 301: 299: 296: 293: 290: 289: 285: 283: 280: 276: 271: 269: 265: 256: 253: 250: 248:Lazy stacking 247: 245:Tail chaining 244: 241: 238: 235: 234: 233: 231: 223: 221: 219: 215: 211: 208:that need to 207: 202: 199: 193: 191: 187: 184: 180: 176: 171: 168: 164: 160: 152: 150: 148: 144: 140: 136: 132: 127: 116: 113: 105: 94: 91: 87: 84: 80: 77: 73: 70: 66: 63: –  62: 58: 57:Find sources: 51: 47: 41: 40: 35:This article 33: 29: 24: 23: 19: 418: 414: 408: 397:. Retrieved 388: 272: 268:ring buffers 264:flow control 260: 251:Late arrival 227: 203: 194: 172: 170:throughput. 156: 125: 123: 108: 99: 89: 82: 75: 68: 56: 44:Please help 39:verification 36: 218:subroutines 455:Interrupts 399:2019-06-15 353:References 303:IEEE 802.3 279:live-locks 159:throughput 153:Background 145:, and the 72:newspapers 16:See also: 427:0096-736X 315:Interrupt 183:real-time 102:June 2019 449:Category 435:44733861 393:Archived 286:See also 137:design, 210:control 86:scholar 433:  425:  294:(APIC) 179:jitter 88:  81:  74:  67:  59:  431:JSTOR 333:(PIC) 327:(NMI) 311:(IPI) 93:JSTOR 79:books 423:ISSN 165:and 65:news 419:108 277:or 163:CPU 48:by 451:: 429:. 417:. 391:. 387:. 361:^ 167:OS 141:, 437:. 402:. 115:) 109:( 104:) 100:( 90:· 83:· 76:· 69:· 42:.

Index

Latency (engineering)

verification
improve this article
adding citations to reliable sources
"Interrupt latency"
news
newspapers
books
scholar
JSTOR
Learn how and when to remove this message
interrupt handler
microprocessor
interrupt controllers
interrupt masking
operating system
throughput
CPU
OS
interrupt controller
jitter
real-time
schedulability
Intel APIC architecture
critical sections
embedded systems
control
real-time operating system
subroutines

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.