Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 18 Jun 1999 11:44:21 -0700 (PDT)
From:      Julian Elischer <julian@whistle.com>
To:        smp@freebsd.org
Subject:   Call to arms..-SMP
Message-ID:  <Pine.BSF.3.95.990618112103.9498B-100000@current1.whistle.com>

next in thread | raw e-mail | index | archive | help

Ok we've been working on improving some facets of FreeBSD's file IO
however we are trailing Linux in this area, because they have recently
managed to mode a number of important kernel modules out from under the
Giant Lock (TM). Most noticable in this case are:

1/ File reads and writes for file data that is in memory (in the cache).
 Effectively they have the copyout() or uiomove (or whatever they use)
drop the GKL so that more than one processor can do data moving at a time.

2/ In the Networking layer, they have changed things to allow
more than one processor to do packet processing.

BSDI have also done some of this.
their approach has been very interesting:
e.g. re: interrupts,

They define a thread for each interrupt source (e.g. irq6,irg7, etc.)

When the interrupt occurs they save regs and transfer to the stack
associated with that thread. However all extra thread context
switching is delayed (in the hope that it wont have to be done).
If a lock is encountered, the rest of the context switch is done, and the
thread sleeps. (and control is passed back to the holder of the lock (if
they are runnable) or the original process.

Lazy evaluation of the interrupt thread context switch.. very cunning.. 
Maybe something BDE could look at.. he's definitly the most qualified for
that stuff. 

spls go away entirely after locks are ubiquitous.




To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-smp" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.3.95.990618112103.9498B-100000>