Find the answer to your Linux question:
Results 1 to 3 of 3
Enjoy an ad free experience by logging in. Not a member yet? Register.
  1. #1

    Query about "Function call interrupts" entry in /proc/interrupts file

    Hi all,

    In the /proc/interrupts file, there is one entry called "Function
    call interrupts".
    Can anyone please explain to me how this interrupt is generated or
    what it does?


    $ cat /proc/interrupts

    CPU0 CPU1
    0: 7555 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: 5184503 0 IO-APIC-edge ata_piix
    15: 0 0 IO-APIC-edge ata_piix
    16: 10030496 0 IO-APIC-fasteoi ohci1394, HDA Intel
    17: 33961000 0 IO-APIC-fasteoi eth0
    18: 0 0 IO-APIC-fasteoi uhci_hcd:usb4
    21: 2710967 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: 2594538 0 PCI-MSI-edge ahci
    NMI: 0 0 Non-maskable interrupts
    LOC: 175008553 173744798 Local timer interrupts
    RES: 1503295 3085980 Rescheduling interrupts
    CAL: 1361 2486 Function call interrupts
    TLB: 546223 608398 TLB shootdowns
    SPU: 0 0 Spurious interrupts
    ERR: 0
    MIS: 0

  2. #2
    Linux Guru Rubberman's Avatar
    Join Date
    Apr 2009
    I can be found either 40 miles west of Chicago, in Chicago, or in a galaxy far, far away.
    Man, this is being pulled out of my deep, dark past! Anyway, system functions are normally executed with a software interrupt. DOS system call interrupts were IRQ10 as I recall. To execute a system function, you would assign the arguments to some system registers (or push them onto the stack, which I don't recall exactly as I haven't done any of this for about 20 years) and then issue the interrupt. The INT10 system handler would look at the registers and/or stack and call the appropriate function. This is how the bios bootstraps the operating system. In fact, the last time I really got into this stuff was in the mid-80's when I was writing boot loaders.
    Sometimes, real fast is almost as good as real time.
    Just remember, Semper Gumbi - always be flexible!

  3. #3
    Thanks a lot for replying to my question!
    I have been pretty late in thanking you and I apologize for that.
    From your reply what I understood is function call interrupts actually count software interrupts, executed by the INT <> instruction.
    However, I found out that this is not the case.
    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.
    Please correct me if I'm wrong.
    Thanks once again.

  4. $spacer_open

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts