On Wed, 20 Nov 2002, Tony Finch wrote: > David Schultz <[EMAIL PROTECTED]> wrote: > > > >BSS and modified data are not shared, and Matt is only counting > >zero fill and COW faults. > > Most of the BSS is mmapped zero pages that are copy-on-write, so in simple > programs they should be mostly shared. See rtld-elf/map_object.c > > Tony.
I'm curious how well COW sharing really works under FreeBSD. Earlier this year, I fixed a piece of code which was O((processes sharing a page)^2) in the VM system. When certain simple forkbombs were run, they would cause the machine to freeze for 30 seconds at a time or more once the VM cleanup routines kicked in and ran the O(N^2) piece of code. What bugged me at the time was that I couldn't seem to reproduce the problem with other programs... this led me to believe that we aren't really sharing too many pages in common use, but I didn't have time to investigate if that was true or not. Someone with an interest in VM implementations might want to take a wander through and see how well page sharing really works on a typical FreeBSD system. :) Mike "Silby" Silbersack To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-hackers" in the body of the message