Date: Thu, 26 Nov 2009 10:34:41 -0500 From: Ryan Stone <rysto32@gmail.com> To: Linda Messerschmidt <linda.messerschmidt@gmail.com> Cc: freebsd-hackers@freebsd.org Subject: Re: Superpages on amd64 FreeBSD 7.2-STABLE Message-ID: <bc2d970911260734g2c3720f3qf9ba3cb729a49f35@mail.gmail.com> In-Reply-To: <237c27100911260714x2fcb194ew1e6ce11e764efd08@mail.gmail.com> References: <237c27100911260714x2fcb194ew1e6ce11e764efd08@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
Is squid multithreaded? My first guess would be that you have one thread forking off all of these processes while other threads are still doing work and writing to different parts of the address space. I don't know the details of the superpages implementation but I could definitely see that this could be a problem. When the process is forked off the vm layer has to mark all of the pages in the parent process as copy-on-write. If there are other threads in squid writing to memory in this time, the vm layer will have to allocate a new page of memory for every page that squid writes to. This breaks up the superpage(superpages must be physically contiguous in memory). I don't know if the superpage implementation tries to alleviate this situation at all.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bc2d970911260734g2c3720f3qf9ba3cb729a49f35>