Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 23 Feb 2001 17:57:15 -0800
From:      Julian Elischer <julian@elischer.org>
To:        Andrew Gallatin <gallatin@cs.duke.edu>
Cc:        Vladimir Silyaev <vsilyaev@mindspring.com>, Matt Dillon <dillon@earth.backplane.com>, freebsd-emulation@FreeBSD.ORG
Subject:   Re: Does vmware2 wire pages?
Message-ID:  <3A9714FB.185D91F7@elischer.org>
References:  <3A89B7A0.B47D91E@Lustig.COM> <20010214072943.A365@delta.rc.ny.us> <3A96A29A.3BBF2614@elischer.org> <14998.46507.267723.148767@grasshopper.cs.duke.edu>

next in thread | previous in thread | raw e-mail | index | archive | help
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




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3A9714FB.185D91F7>