Linux - GeneralThis Linux forum is for general Linux questions and discussion.
If it is Linux Related and doesn't seem to fit in any other forum then 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.
I'm not really sure where this post fits in, I couldn't decide between hardware and software, and I want this to be seen by as many people as possible because I need to figure this out very soon.
I have a PC-104 processor board connecting to two 8-port serial boards that each use a single IRQ. I have RS-232 loopbacks on all 16 of the ports, and run 13 polls/sec with 60-byte polls. Unfortunately, top tells me that around 20% of my cpu is being used for hardware interrupts.
I have no idea what I could change to make this better, so if anyone can offer suggestions or point me in the right direction it would be very helpful.
The kernel is 2.6.5 and 2.6.8.1, same issues with both. I cannot test with a 2.4 kernel because the drivers for these serial boards are only for 2.6.
Also, on versions of top that dont show hardware interrupt usage, top reports 100% free cpu. On these versions, I tried running
bash> cat /dev/urandom > /dev/null & top
and it showed cat taking up 99.8% cpu. On the version that showed hi, in the process listing it showed cat using 100%, but up above it showed 75% usage from system processes, and the 20% hi
Unless they have written some really poor interrupt handlers for the devices you are using I can't believe that is true with that timing. How exactly does top know how long you are spending in hardware interrupts? Those numbers sound pretty fishy to me. Does the system seam like it is bogged down all the time?
it doesnt seem to be bogged down at all. It always seems to run very fast. I have no idea where top gets its numbers from. Could anyone tell me another possible way to get these numbers to see if maybe my problem doesnt really exist?
Well, the reason why I ask is I have been doing a lot of work with the linux kernel these days. Timing is difficult in the best cases, and hardware interrupts are nearly impossible to accurately time, especially for a user space program. I am going to look through the top source code and see how they do it (ie what system calls, ect. they are using). I guess for now I'd say so long as you aren't having any problems with your system running terribly slow it is probably just a bad estimation.
I compiled the newest version of top from unixtop.org, and it reports 100% free. The version of top that shows the "hi" stuff is from fedora core 2. No other versions, including the one I compiled today, include the "hi" reading, and only that one says that more processor time is being used
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.