home *** CD-ROM | disk | FTP | other *** search
- Path: sparky!uunet!olivea!xenitec!news
- From: belal@sco.COM (Bela Lubkin)
- Newsgroups: biz.sco.general
- Subject: Re: Performace degradation under SCO
- Message-ID: <9212221312.aa05623@scoke.sco.COM>
- Date: 22 Dec 92 21:12:19 GMT
- Sender: news@xenitec.on.ca (xenitec.on.ca News Administrator)
- Organization: [resent by] The SCOGEN gateway and Propagation Society
- Lines: 45
- Resent-From: mmdf@xenitec.on.ca
- Submit-To: scogen@xenitec.on.ca
- Precedence: bulk
-
- > The problem may not be related to kernel parameters at all. Many ISA bus
- > motherboards will exhibit major speed degradation when you go past 16 MB
- > of main store.
- >
- > The reason, simplified, is that the ISA bus has 24 address lines for doing
- > memory access, which means it can only directly address 16MB. After that,
- > when UNIX tries to do DMA, it must copy down or page memory chunks to a
- > space below 16 MB. This is very slow. Some MB manufactures have worked
- > around this but for the most part, my experience has been that stock and
- > standard MB's ( read; the ones that work right) will have this limitation.
-
- This is mostly a red herring: first, SCO UNIX 3.2v4/ODT 2.0 knows
- whether your host adapter/bus combination can DMA above 16MB. It goes
- to a lot of effort to make sure that things that might need to be DMA'd
- to/from, like the buffer cache and kernel .data & .bss areas, are stored
- in DMAable memory, while things that will not need to be DMA'd to, like
- kernel .text, are stored in non-DMAable memory if any is available.
- Second, if you compare modern processor and memory speeds to disk
- speeds, you'll find that the cost of doing the memory transfer is
- miniscule compared to the disk I/O. Let's just suppose that you're
- running at 33MHz and that it takes 20 cycles per byte (a wildly
- pessimistic estimate) to copy memory. So to copy a 512-byte buffer
- takes 512*20 = 10240 cycles, or 10240/33 uSec, or .31 milliseconds.
- This is less than 1/50th of a single disk rotation on a typical drive!
- Third, this only affects disk I/O, it shouldn't affect programs that are
- running in memory (except when other processes are doing disk I/O, they
- will have a small amount less CPU time to play with).
-
- (The .31ms result is so low -- so much lower than I expected -- that I'm
- wondering if I didn't blow a step somewhere. Anyone see a mistake?)
-
- > Before ODT came out, we didn't see this often because > 16MB of memory
- > was the exception rather than the rule on x86 hardware. ODT's hunger
- > for main memory has pushed this ISA amonaly into many unsuspecting
- > faces.
- >
- > Prove this by yanking the top 16MB out, and seeing if you still have
- > the problem. Don't let swapping (if any) fog your results.
- >
- > Fix == EISA
-
- Ok, but pulling the top 16MB will also fix the not-enough-cache problem
- that's *really* making the system slow. ;-}
-
- >Bela<
-