[SOLVED] Question about /proc/interrupts virtual file
Linux - NewbieThis Linux forum is for members that are new to Linux.
Just starting out and have a question?
If it is not in the man pages or the how-to's this is the place!
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
Hi everyone,
I have the following 2 questions about the /proc/interrupts virtual file (refer to the contents of the file in my Debian Wheezy box below):
1) If more than one device is using the same IRQ, i.e. IRQ #5, is it correct to assume that one of those devices (or all of them altogether) can experience issues? If so, how can I assign a different IRQ to each device in order to avoid those issues?
2) Is the order of IRQs relevant, meaning that they will get system resources (allocated memory, CPU time) in the order they are listed? Kind of in this example, as far as system resources are concerned, will the floppy drive have priority over usb1 and usb2?
Thanks in advance!
To elaborate: Up to the early 2000s, 2 devices on the same interrupt meant a hardware lockup as soon as they were both accessed. Turn off the power and try again.
This became unworkable. The fix was a hardware fix. The original IBM XT (which everything is/was theoretically compatible with) used an 8259 chip for interrupts - 8 inputs --> 1 output, for processing these; a second 8259 was added in the AT, giving 16 interrupts. Now it's all in asics, So you can add mad numbers of hardware interrupts. They also started polling the devices assigned to each interrupt ("Did you call me?"). So interrupts can be shared, and they started giving interrupts to internal stuff in the kernel to make life easier.
You can often change some interrupts (pci cards) in the bios. Other IRQs are traditionally assigned to certain devices, and it's better not to mess with that, in case the software relies on that. None should, but . . .
Devices also have a few choices of interrupt saved on sram, so it will be assigned one it wants to use. My advice is not to mess.
The devices are not necessarily listed in order of priority, but in some order convenient to the hardware. You can grok source code if you really want to know. Priority settings of the programs accessing them would probably matter more (Man nice if you're interested).
Last edited by business_kid; 06-01-2013 at 01:45 PM.
To elaborate: Up to the early 2000s, 2 devices on the same interrupt meant a hardware lockup as soon as they were both accessed. Turn off the power and try again.
This became unworkable. The fix was a hardware fix. The original IBM XT (which everything is/was theoretically compatible with) used an 8259 chip for interrupts - 8 inputs --> 1 output, for processing these; a second 8259 was added in the AT, giving 16 interrupts. Now it's all in asics, So you can add mad numbers of hardware interrupts. They also started polling the devices assigned to each interrupt ("Did you call me?"). So interrupts can be shared, and they started giving interrupts to internal stuff in the kernel to make life easier.
You can often change some interrupts (pci cards) in the bios. Other IRQs are traditionally assigned to certain devices, and it's better not to mess with that, in case the software relies on that. None should, but . . .
Devices also have a few choices of interrupt saved on sram, so it will be assigned one it wants to use. My advice is not to mess.
The devices are not necessarily listed in order of priority, but in some order convenient to the hardware. You can grok source code if you really want to know. Priority settings of the programs accessing them would probably matter more (Man nice if you're interested).
Thanks a lot for taking the time to read my question and to answer it so thoroughly. I will add to your reputation and mark this as solved.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.