*BSD News Article 74256


Return to BSD News archive

Path: euryale.cc.adfa.oz.au!newshost.anu.edu.au!harbinger.cc.monash.edu.au!nntp.coast.net!dispatch.news.demon.net!demon!awfulhak.demon.co.uk!awfulhak.demon.co.uk!awfulhak.demon.co.uk!not-for-mail
From: brian@awfulhak.demon.co.uk (Brian Somers)
Newsgroups: comp.unix.bsd.freebsd.misc
Subject: Re: User PPP connection is s......l......o.......w......!
Date: 20 Jul 1996 05:25:04 +0100
Organization: Coverform Ltd.
Lines: 23
Message-ID: <4spn30$2ds@anorak.coverform.lan>
References: <01bb6e37.014cfd20$38673fcb@simonh.addease.com.au> <4snfb9$35r@uriah.heep.sax.de>
NNTP-Posting-Host: localhost.coverform.lan
X-NNTP-Posting-Host: awfulhak.demon.co.uk
X-Newsreader: TIN [version 1.2 PL2]

J Wunsch (j@uriah.heep.sax.de) wrote:

: They are not being preempted by swtch(), this one is only appropriate
: for process context switches.  (Actually, what Vahalia describes as
: swtch() is mi_switch() in BSD, which in turn calls cpu_switch().)

: Interrupt handlers of the same priority cannot be preempted, but other
: SPLs are always treated as ``higher priority'', i.e. the various SPLs
: are mutually independant.  I haven't looked into what might be locked
: inside the generic interrupt code.

Ah, I misunderstood your use of preempt....  Here, the interrupt handler
is just getting interrupted by a higher priority interrupt (and the
handler for that is being run).  As I understand it, this is not a problem
as far as mucking around with data structures is concerned.  You've got
a situation where *only* higher priority interrupts get run "inside" the
running of the first interrupt handler.  You'll never get a situation
where mi_switch() sticks its head in and puts a kernel-mode process in
front of the interrupt handler.....  Now *that* would be a pig to code !

--
Brian <brian@awfulhak.demon.co.uk>
Don't _EVER_ lose your sense of humour....