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:.
Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.