From owner-freebsd-emulation Fri Feb 23 17:57:54 2001 Delivered-To: freebsd-emulation@freebsd.org Received: from syncopation-01.iinet.net.au (syncopation-01.iinet.net.au [203.59.24.37]) by hub.freebsd.org (Postfix) with SMTP id 9FF8237B503 for ; Fri, 23 Feb 2001 17:57:50 -0800 (PST) (envelope-from julian@elischer.org) Received: (qmail 14183 invoked by uid 666); 24 Feb 2001 02:09:18 -0000 Received: from i074-076.nv.iinet.net.au (HELO elischer.org) (203.59.74.76) by mail.m.iinet.net.au with SMTP; 24 Feb 2001 02:09:18 -0000 Message-ID: <3A9714FB.185D91F7@elischer.org> Date: Fri, 23 Feb 2001 17:57:15 -0800 From: Julian Elischer X-Mailer: Mozilla 4.7 [en] (X11; U; FreeBSD 5.0-CURRENT i386) X-Accept-Language: en, hu MIME-Version: 1.0 To: Andrew Gallatin Cc: Vladimir Silyaev , Matt Dillon , freebsd-emulation@FreeBSD.ORG Subject: Re: Does vmware2 wire pages? References: <3A89B7A0.B47D91E@Lustig.COM> <20010214072943.A365@delta.rc.ny.us> <3A96A29A.3BBF2614@elischer.org> <14998.46507.267723.148767@grasshopper.cs.duke.edu> Content-Type: text/plain; charset=iso-8859-15 Content-Transfer-Encoding: 7bit Sender: owner-freebsd-emulation@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org Andrew Gallatin wrote: > > Julian Elischer writes: > > Vladimir Silyaev wrote: > > > > > > Thanks, barry. > > > > > > For sure vmware is wiring pages. It's about 50% or more percent of pages > > > allocated for guest memory is wired down (i.e. you can easily notice that > > > if you will run systat). But those pages is wired down not calling > > > to mlock by vmware, but it's done inside vmmon driver. > > > > > > Regards, > > > Vladimir > > > > > > > So is there a patch in the works? So we know what is slowing downn the vmware system so much, we just need to find the RIGHT answer. > > As you might recall, vmware appears to stutter frequently and freeze > for small periods of time when run on FreeBSD -- this stuttering > coincides with heavy disk activity and pageouts by the vnode pager. > The "problem" appears to be that FreeBSD actually tries to keep > mmap'ed regions clean. Linux apparently only tries to clean them when > they are unmapped. Linux does not have a MAP_NOSYNC flag to indicate > that a region should be map'ed nosync & it is apparently not removing > the file in question, so MAP_NOSYNC is never getting set. > > Hacking vmware to set wired pages to PG_NOSYNC doesn't seem to help. > However, I have my own local hack which seems to help a great deal: > hacking the Linulator to treat all mmap'ed files as MAP_NOSYNC, in > combination with my fixes to vm_fault so as to correctly tag a page in > a MAP_NOSYNC map with PG_NOSYNC on a read fault. Is this vm_fault patch separatly committable? (i.e. is it a general fix?) > > The first part (hacking the Linulator) is unacceptable for general > consumption & a better way needs to be found. One thing I've thought > of is adding some functionality to the vmmon kernel module to force > the vmware app's mmap'ed regions to be MAP_NOSYNC. I don't know > enough about how vmware works to achieve this & have not had the time > to look into it further. > > Drew -- __--_|\ Julian Elischer / \ julian@elischer.org ( OZ ) World tour 2000-2001 ---> X_.---._/ v To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-emulation" in the body of the message