Messages in this thread | | | From | Bruno Haible <> | Date | Sun, 30 Aug 1998 18:24:06 +0200 (MET DST) | Subject | Re: 2.1.xxx makes Electric Fence 22x slower |
| |
Linus wrote:
> The avl code didn't have any replacement, but was removed because it no > longer mattered for the common case (which was verify_area() - now > thankfully gone).
Applications which need a lot of page-sized VMAs are:
* object-oriented databases, * generational garbage collection (Java, Lisp), * debugging tools (ElectricFence, software watchpoints).
When we put the AVL code in, it was because these applications spent a lot of time in merge_segments(). verify_area() was not the point.
> I would try a one-entry cache, that's probably fine for all common uses.
For the first two classes of applications, such a cache won't help, because when mprotect() is called on a page, it is usually far away from the last page on which mprotect() was called.
"Common" or not, these applications have a lot of VMAs and do a lot of mmap() and mprotect().
Bruno
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.altern.org/andrebalsa/doc/lkml-faq.html
| |