How does the timer interrupt handler work ?

How does the timer interrupt handler work ?

Post by Kim Yoon-S » Tue, 25 Apr 1995 04:00:00



Hi! Linuxer.

I want to profile the disk access pattern in LiNUX.(in SCSI HD)
So, I want to know how the timer interrupt handler works.

Is there anyone who can explain the way how the handler works, the
routines and the data structures which are related to the timer ?

Thanks in advance.

--
Operating System Lab. of Dept. of Computer Science & Statistics
Seoul National University
Tel:+82-2-880-6571                                  Kim YoonSoo          

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
I believe in Jesus Christ, who is the Son of God and my Savior.

 
 
 

1. Reentrant timers/interrupt handlers (HELP!)

Hello all,

I am in the process of writing a parallel file system for linux clusters
and have run into a problem that I don't seem to be able to figure out.

The file system is integrated into VFS just like a regular file system.
However, on each node in the cluster, there is a kernel daemon that
handles requests from other nodes in the cluster to read/write/open
files, etc.

My problem is this, basically I have a timer set up that polls a port
every so often and executes a handler if a request as been issued from a
remote node (This could very easily just be an interrupt handler, but
I'm using custom network hardware and the interrupts don't work.), so
essentially it's an interrupt handler, but not one that preempts the
kernel (obviously).

Anyway, the problem is that in order to read/write any of the buffer
blocks in the VFS buffer cache the interrupt handler needs access to the
buffer cache locks. But the buffers may be locked by some non-interrupt
code. In other words, the interrupt handler may have to wait on a lock
and may need to go to sleep.

So....how do I put the interrupt handler to sleep until the buffer is
unlocked? It's not the same as simply putting a user process to sleep
because this handler is acting independent of any particular user
process on the machine. The interrupt handler itself has to be put to
sleep and woken up again at it's previous point of execution, not just
simply being called again. Sleep() doesn't work since interrupt handlers
are not supposed to go to sleep. I get the standard "Aieeee..........."
message when I do that.

Right now the file system works by ignoring the locks (Arghhh!!!). But
I've got to solve this problem.

Any help would be greatly appreciated,
Thanks,
Ekechi Nwokah

2. Connexion : PC to SUN SOLARIS 2.5 by modem

3. lost timer interrupts when doing audio CD burn/extract

4. redhat 6.2 on 486 laptop, video help needed

5. Timer interrupt cleanups [2/3] - local timer

6. Color Scanner

7. Timer interrupt cleanups [1/3] - global timer

8. Need guidance in Software Configuration Management (SCM(

9. Ethernet interrupts getting processed as timer interrupts

10. Handlers, Handlers, Handlers

11. timer handler for audio input

12. timer and signal handlers

13. timer handler for audio input