D. Hugh Redelmeier wrote:
Now that the irq command appears to work, I notice that it is too
verbose.
On my machine (AMD Athlon x2), it unconditionally prints 2304 structs,
each taking 27 lines. Of those, only 23 appear to have been used in
the day that the machine had been up.
Is there a simple way to print only the used entries or perhaps only
print an entry if it is different from the one before it?
Does that kind of logic exist for printing other tables? If not,
would it be useful?
Wow -- until fairly recently the NR_IRQS definition has been a
relatively small number, and on most architectures it still is.
I don't think there are any other commands that print such
verbose output for a table containing that many structures
where most of them are unused.
I suppose if it's obvious that an IRQ index is not in use, it's output
could be shortened, or maybe a new option could be added that only
prints out "used" entries. I await your patch suggestion...
I wonder why the kernel allocates so many irq_desc entries. According
to "nm -f sysv vmlinux", irq_desc is 294912 bytes -- more than the
whole RAM on the first UNIX machine I used.
Amazing isn't it?
I was looking at x86_64.c: x86_64_dump_irq. Its last line says:
error(FATAL, "ia64_dump_irq: irq_desc[] does not exist?\n");
It should say:
error(FATAL, "x86_64_dump_irq: irq_desc[] does not exist?\n");
Thanks -- I'll fix that...
Dave