Messages in this thread | | | Date | Sat, 25 Mar 2000 13:55:08 +0000 | From | Andrew Morton <> | Subject | Some interrupt latency figures for 2.3.99-pre3 |
| |
400MHz uniprocessor Celeron. I am using non-DMA IDE, networking and very little else.
The workload involved compiling a kernel, starting X, some NFS client activity and a fair bit of paging. All times in microseconds.
file-n-line Count Min Max Avg
console.c:2015 -> console.c:2039 224 .88 2068.86 21.90 console.c:1857 -> console.c:1975 3283 .74 1943.17 15.80 cs89x0.c:1186 -> cs89x0.c:1207 504 43.82 1280.56 143.47 vt.c:810 -> vt.c:812 1 982.32 982.32 982.32 ide-disk.c:451 -> ll_rw_blk.c:277 157 126.23 959.35 334.22 ide-disk.c:451 -> ide.c:1622 1718 118.94 956.99 277.61 ide.c:1533 -> ide.c:1622 8911 14.52 952.61 606.20 ide.c:1533 -> ide.c:1298 3904 10.79 884.30 202.74 ll_rw_blk.c:620 -> ll_rw_blk.c:770 7781 1.53 91.15 7.74 irq.c:355 -> irq.c:367 4898 .79 88.08 2.24 ll_rw_blk.c:620 -> ll_rw_blk.c:728 48205 1.01 86.10 1.34 ll_rw_blk.c:620 -> ll_rw_blk.c:742 124 15.57 81.24 44.12 ll_rw_blk.c:746 -> ll_rw_blk.c:770 124 4.56 52.90 14.19 do_IRQ.in:0 -> softirq.c:66 19418 11.15 35.02 26.28 ll_rw_blk.c:325 -> ll_rw_blk.c:327 251 1.74 34.34 8.44 pc_keyb.c:476 -> pc_keyb.c:478 220 10.71 32.45 25.99 timer.c:644 -> timer.c:655 20138 .82 22.35 2.88 exit.c:363 -> exit.c:395 539 1.19 19.58 1.83 age_alloc.c:194 -> page_alloc.c:211 166766 .87 16.43 3.03 slab.c:1813 -> slab.c:1839 3377 .68 13.22 1.26 kmod.c:81 -> kmod.c:84 2 12.80 12.87 12.83 ll_rw_blk.c:271 -> ide.c:1298 3843 4.36 12.77 10.11 signal.c:306 -> signal.c:410 821 .84 11.55 7.65 sched.c:651 -> sched.c:683 102720 .73 11.25 1.74 ide.c:1714 -> ide.c:1298 8 7.25 10.94 8.98 do_IRQ.in:0 -> irq.c:439 15572 3.33 10.89 6.11 ide.c:1533 -> ide.c:945 4 7.86 10.41 8.93 age_alloc.c:121 -> page_alloc.c:153 160473 .81 10.29 1.44 signal.c:621 -> signal.c:623 595 .84 10.09 6.12 cs89x0.c:1421 -> cs89x0.c:1425 2 7.96 8.83 8.40
It shows that the console switching code and do_con_write() are blocking interrupts for up to two milliseconds.
It shows that the cs89x0 driver is a dog. What dope maintains that? (Actually this shows how slow the ISA bus is).
Probably the most significant source of latency on this system is the PIO-mode IDE driver.
I would be interested in seeing results for more systems: SCSI, DMA-IDE, audio, etc.
I would be interested in hearing views on how significant a 2 msec interrupt blockage really is. Can it cause serial Rx overruns? GigE problems?
Anyway, if anyone has some particular interest in interrupt response times please grab the tools - it's an easy patch.
-- -akpm-
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/
| |