Re: Freeing vnodes.

From: Jeff Roberson (jroberson_at_chesapeake.net)
Date: 03/15/05

  • Next message: Matthew Dillon: "Re: Freeing vnodes."
    Date: Tue, 15 Mar 2005 00:39:33 -0500 (EST)
    To: Stephan Uphoff <ups@tree.com>
    
    

    On Mon, 14 Mar 2005, Stephan Uphoff wrote:

    > On Mon, 2005-03-14 at 21:38, Jeff Roberson wrote:
    > > I have a patch at http://www.chesapeake.net/~jroberson/freevnodes.diff
    > > that allows us to start reclaiming vnodes from the free list and release
    > > their memory. It also changes the semantics of wantfreevnodes, and makes
    > > getnewvnode() much prettier.
    > >
    > > The changes attempt to keep some number of vnodes, currently 2.5% of
    > > desiredvnodes, that are free in memory. Free vnodes are vnodes which
    > > have no references or pages in memory. For example, if an application
    > > simply stat's a vnode, it will end up on the free list at the end of the
    > > operation. The algorithm that is currently in place will immediately
    > > recycle these vnodes once there is enough pressure, which will cause us to
    > > do a full lookup and reread the inode, etc. as soon as it is stat'd again.
    > >
    > > This also removes the recycling from the getnewvnode() path. Instead, it
    > > is done by a new helper function that is called from vnlru_proc(). This
    > > function just frees vnodes from the head of the list until we reach our
    > > wantfreevnodes target.
    > >
    > > I haven't perf tested this yet, but I have a box that is doing a
    > > buildworld with a fairly constant freevnodes count which shows that vnodes
    > > are actually being uma_zfree'd.
    > >
    > > Comments? Anyone willing to do some perf tests for me?
    > >
    > > Thanks,
    > > Jeff
    >
    > Just looked at the raw diff and might have missed it - how are the
    > parent directory "name" cache entries ( vnode fields v_dd, v_ddid)
    > handled?

    Just as they were before, by calling cache_purge.

    >
    > Thanks,
    > Stephan
    >
    _______________________________________________
    freebsd-arch@freebsd.org mailing list
    http://lists.freebsd.org/mailman/listinfo/freebsd-arch
    To unsubscribe, send any mail to "freebsd-arch-unsubscribe@freebsd.org"


  • Next message: Matthew Dillon: "Re: Freeing vnodes."

    Relevant Pages

    • Re: 5.x w/auto-maxusers has insane kern.maxvnodes
      ... The target number of vnodes was set to ... I ended up saving a good 100MB of memory just ... > switching from 4.x and seeing paging increase substantially. ...
      (freebsd-current)
    • Re: 5.x w/auto-maxusers has insane kern.maxvnodes
      ... The target number of vnodes was set to ... the default number of vnodes wasn't enough, and caching them in VMIO ... pages didn't work for some reason (either because I was testing a ... >> easy to determine other than the fact that I saved so much memory even ...
      (freebsd-current)
    • Re: Call for PRs: nullfs
      ... One is the direct overhead associated with stacking ... the maxvnodes bound, which causes vnodes to be recycled. ... "memory is no object" -- on other ... rate and disk I/O transaction rates during the benchmark. ...
      (freebsd-current)
    • Freeing vnodes.
      ... that allows us to start reclaiming vnodes from the free list and release ... that are free in memory. ... recycle these vnodes once there is enough pressure, ... is done by a new helper function that is called from vnlru_proc. ...
      (freebsd-arch)
    • Re: Freeing vnodes.
      ... On Mon, 2005-03-14 at 21:38, Jeff Roberson wrote: ... > that allows us to start reclaiming vnodes from the free list and release ... that are free in memory. ... > is done by a new helper function that is called from vnlru_proc. ...
      (freebsd-arch)