Subject: Re: Interrupt priority levels
To: Dave Huang <khym@bga.com>
From: Bill Studenmund <wrstuden@loki.stanford.edu>
List: port-mac68k
Date: 11/01/1997 14:06:43
> It was to a file... I tried getting it to /dev/null and got about 800K/s
> (got a bit over 900K/s once too :) So, not too shabby :) (this is on my 3
> computer network at home, so there was basically no other traffic on the
> net). 900K/s _is_ possible, isn't it? I've never seen ethernet transfer
> that fast before, but I rarely transfer a file to /dev/null :) Anyone know
> the absolute theoretical max of TCP on 10Mb ethernet? I'm thinking about
> 1161KB/s (10Mb/s * 1 byte/8 bits * 1452 data bytes/1526 raw bytes *
> 1KB/1024 bytes), but I'm sure there are other factors that slow things
> down more.

That sounds about right (1MB/sec). 

> > > I also made splnet() IPL 4, instead of the 2 that it used to be.  So...
> > > that seems to work for me, but I don't know how it'll affect other Macs.
> > 
> > That will _kill_ serial if you're using both serial and networking on
> > other macs.
> 
> Ah... probably won't be so great even on the AVs either... I know that
> serial still seems to work as well as it used to if there's no network
> activity, but I haven't tried doing both at the same time.

But if you're running ppp over the serial link, you DO have network
activity. I think one of our problems is that the ppp stack sits
at splsoftnet, which is spl1, for a while. That locks out clock ticks.
:-(

One solution to keep serial going would be to use Serial DMA. :-)
But that will be a '98 thing at earliest (I need to defend my PhD first).

> What about the splsoftnet() thing? At first, I just tried changing
> splnet() to _splraise(PSL_S|PSL_IPL4), but that didn't help. So I then
> changed pretty much all of the spl*()s to _splraise()s, but probably
> just changing splsoftnet() would've fixed it.
> 
> Regardless of changing splnet to ipl 4, shouldn't everything be using
> splraise anyways? I vaguely remember seeing something about that on
> one of the mailing lists, and vaguely remember someone saying that
> splraise() needed to be optimized a bit more before being used all
> over the place, due to performance considerations...

I thought at one point they WERE splraise? Doh!

Take care,

Bill