Re: VM performance problem

From: David S. Miller (davem@redhat.com)
Date: Mon Dec 18 2000 - 13:58:04 EST


   Date: Mon, 18 Dec 2000 14:09:00 -0500 (EST)
   From: "Richard B. Johnson" <root@chaos.analogic.com>

   Well I just use free(), nothing more, nothing special, just like a
   typical data-base program. Free should just set a new break
   address after the reclaimed data falls below some watermarks it has
   established. Both malloc() and free(), use already allocated
   data-space for their work-space (last time I looked at library
   code).

malloc and free maintain their free buffers pools using linked lists,
thus a free() does two stores to the (2 * sizeof(void *)) bytes before
or after that buffer. Thus the swapping.

Use mmap()/munmap() directly and manage things totally yourself to get
rid of this.

Later,
David S. Miller
davem@redhat.com

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Sat Dec 23 2000 - 21:00:22 EST