Can anyone please explain about ‘Function call interrupts’ entry in /proc/interrupts?
Can anyone please explain about “Function call interrupts” entry in /proc/interrupts?
https://www.linuxquestions.org/questions/linux-software-2/can-anyone-please-explain-about-function-call-interrupts-entry-in-proc-interrupts-773016/
In the /proc/interrupts file, there is one entry called the Function call interrupts. Can anyone please explain to me how this interrupt is generated or what it does? An example is shown in bold below. Thanks!
$ cat /proc/interrupts
CPU0 CPU1 0: 7531 0 IO-APIC-edge timer 1: 2 0 IO-APIC-edge i8042 4: 2 0 IO-APIC-edge 6: 5 0 IO-APIC-edge floppy 7: 0 0 IO-APIC-edge parport0 8: 1 0 IO-APIC-edge rtc0 9: 0 0 IO-APIC-fasteoi acpi 12: 4 0 IO-APIC-edge i8042 14: 5175137 0 IO-APIC-edge ata_piix 15: 0 0 IO-APIC-edge ata_piix 16: 10030496 0 IO-APIC-fasteoi ohci1394, HDA Intel 17: 33884045 0 IO-APIC-fasteoi eth0 18: 0 0 IO-APIC-fasteoi uhci_hcd:usb4 21: 2710880 0 IO-APIC-fasteoi ehci_hcd:usb1, uhci_hcd:usb2 22: 0 0 IO-APIC-fasteoi uhci_hcd:usb3 23: 0 0 IO-APIC-fasteoi uhci_hcd:usb5 2299: 2586197 0 PCI-MSI-edge ahci NMI: 0 0 Non-maskable interrupts LOC: 173199773 171952935 Local timer interrupts RES: 1503044 3046141 Rescheduling interrupts CAL: 1360 2472 Function call interrupts TLB: 546223 608397 TLB shootdowns SPU: 0 0 Spurious interrupts ERR: 0 MIS: 0 Last edited by cyclops.xmen; 12-02-2009 at 12:52 PM.
Old 12-03-2009, 07:32 PM #2 sundialsvcs LQ Guru
Registered: Feb 2004 Location: SE Tennessee, USA Distribution: Gentoo, LFS Posts: 11,484 Blog Entries: 4
Rep: Reputation: 4232Reputation: 4232Reputation: 4232Reputation: 4232Reputation: 4232Reputation: 4232Reputation: 4232Reputation: 4232Reputation: 4232Reputation: 4232Reputation: 4232
Some implementations of Linux, on some processors, use instructions that trigger software-interrupts to implement system calls. Whether or not your system does so depends on the CPU-type.
Old 12-09-2009, 12:13 PM #3 cyclops.xmen LQ Newbie
Registered: Aug 2009 Posts: 4
Original Poster Rep: Reputation: 0
Sundialsvcs, Thanks a lot for replying to my question! I have been pretty late in thanking you and I apologise for that. From your reply what I understood is function call interrupts actually count software interrupts, executed by the INT <> instruction, depending on the CPU type. However, I found out that this is not the case for both Intel (Core 2 Duo) and AMD (Dual Core Opteron) processors. I’ve used one small assembly instruction in which I use the INT 0x80 instruction a number of times in a loop. This hasn’t led to a single change in the number of function call interrupts. So the function call interrupts do not count the software interrupts at all for these CPU types and the version of Linux I’m using. The linux version for both the systems are given below: $ uname -a Linux ruby 2.6.28-16-generic #55-Ubuntu SMP Tue Oct 20 19:48:32 UTC 2009 x86_64 GNU/Linux Can you please give an example of a CPU type and Linux implementation in which the Function call interrupts in /proc/interrupts actually count the number of software interrupts? It will be very helpful for my work. Thanks once again.