Messages in this thread | | | From | (John Alvord) | Subject | Re: timer interrupts & scheduling | Date | Mon, 29 Mar 1999 07:26:11 GMT |
| |
On Sun, 28 Mar 1999 22:48:26 -0600 (CST), linas@linas.org wrote:
> >Hi, > >Am porting the Linux kernel to a new architecture (the 370 instruction set). >I noticed that the timer interrupt does very little. The question is this: >how does scheduling work if/when there are no other interrupts occuring? >e.g. have two numeric processes running, neither is making system calls, >neither is swapping. etc. > >The esa/390's are mainframes; there are no serial ports, no video or video interrupts, >no regular i/o or bus interrupts; nothing else is ticking in any sort of >quasi-periodic manner. What should I do, make the timer interrupt do a schedule >every ten ticks or something?
An ESA/390 does have timers. There is a TOD timer and a clock comparator... when equal an external interrupt is generated. Typically you would do a STCK, and something like 10ms to the result, set the clock comparator to that value, and then go do other things. When the value is equal an external interrupt will be presented.
I suggest you invest in an ESA/390 principles of operation book.
That process works just fine in a VM/ESA environment, which most operating system development takes place in.
If you are "faking it" by running an MVS system task or batch job, then you would use an STIMER of some flavor and an exit that gets driven when the time expires.
There is no memory mapped I/O. Typically you set up a channel program (series of channel command words) and then start them. The result is one or more I/O interrupts later on.
All pretty straightforward. There was a project a few years ago which ran AIX natively and it supposedly ran pretty good.
John Alvord
John Alvord Music, Management, Poetry and more... http://www.candlelist.org/kuilema Cheap CDs @ http://www.cruzio.com/~billpeet/MusicByCandlelight
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/
| |