Subject: Re: SMP re-entrancy in kernel drivers/"bottom half?"
To: None <jonathan@dsg.stanford.edu>
From: YAMAMOTO Takashi <yamt@mwd.biglobe.ne.jp>
List: tech-kern
Date: 12/18/2003 12:02:04
> >it sounds like a regression.

> I've sketched a scheme that allows multiple CPUs in the `bottom half'
> of the kernel, in addtion to one CPU coming from uerspace (or running
> softint callouts) .
> 
> I dont see how that can possibly count as a "regression", specially
> not for the kinds of workload I described earlier.

of course, i have no objection to your goal.
however, there's no reason to make spl "global".

for your purpose, i think what you need are:
- change lowlevel intr handler (Xintr_* in the case of i386) not to
  take kernel_lock if the driver is marked as mp-safe.
- make the driver mp-safe.
	- change the driver to acquire per-device lock if needed.
	- change the driver to acquire kernel_lock
	  (or other fine-grained locks) when needed.

YAMAMOTO Takashi