1998-12-19 14:47:14

by Rogier Wolff

[permalink] [raw]
Subject: Re: mmap() is slower than read() on SCSI/IDE on 2.0 and 2.1

Marc Lehmann wrote:
> On Thu, Dec 17, 1998 at 06:52:50AM +0000, Linus Torvalds wrote:
> > Umm, the easiest hint is probably to just look at the faulting address.
> > We have it available, after all.
> >
> > I suspect that such a simple heuristic would be fairly accurate, and it
> > can be coupled with other heuristics to further increase the accuracy.
>
> file copy, yes. But grep (and probably lots of others) don't access memory
> sequentially (as faster search algorithms exist)

A fast search algorithm, touches memory every n bytes where n is the
size of the largest constant string that you're searching for.

That way "n" is typically small, so that you end up hitting the first
n bytes pretty often.

If you're acessing

struct blabla {
int ...
float ...
char [];
}

mmapped from a file, you might be looking for a certain float. As long
as you're doing a linear search, you'll again hit the first few bytes
of a page pretty often.


Roger.

--
** [email protected] ** http://www.BitWizard.nl/ ** +31-15-2137555 **
*-- BitWizard writes Linux device drivers for any device you may have! --*
* Never blow in a cat's ear because if you do, usually after three or *
* four times, they will bite your lips! And they don't let go for at *
* least a minute. -- Lisa Coburn, age 9