Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 15 Jan 2002 17:01:07 -0800 (PST)
From:      Matthew Dillon <dillon@apollo.backplane.com>
To:        Andrew Lankford <arlankfo@141.com>
Cc:        stable@FreeBSD.ORG
Subject:   Re:what's vnlru?
Message-ID:  <200201160101.g0G117r64693@apollo.backplane.com>
References:   <200201151618468.SM01176@141.com>

next in thread | previous in thread | raw e-mail | index | archive | help
    vnlru is responsible for flushing and freeing vnodes when you
    hit the kern.maxvnodes limit.  The history of this is:

    4.4 and earlier	vnodes were only freed if they had no cached pages.
			This could lead to a vnode blowout on machines with
			large amounts of ram accessing lots of small files.
			(the kern.maxvnodes limit was essentially ignored)

    4.4-stable		I introduced code to flush/reuse vnodes on the fly,
			but this lead to possible locking deadlocks.

    4.5-*		Peter introduced a separate kernel thread to deal with
			vnode flushing issues, 'vnlru', in order to fix the
			possible locking deadlocks.  The on-the-fly code
			was changed to only be called from the kernel thread.

    This kernel thread will generally not be very active, even on a heavily
    loaded system.  You have to have a lot of ram and be accessing tens of
    thousands of tiny files to activate the thread.

					-Matt
					Matthew Dillon 
					<dillon@backplane.com>


:My assumption is that it has something to do with ipfw.
:
:>
:>Any ideas?
:>
:>$ps ax|head
:>  PID  TT  STAT      TIME COMMAND
:>  0  ??  DLs    0:00.00  (swapper)
:>  1  ??  ILs    0:00.01 /sbin/init --
:>  2  ??  DL     0:00.00  (pagedaemon)
:>  3  ??  DL     0:00.00  (vmdaemon)
:>  4  ??  DL     0:00.00  (bufdaemon)
:>  5  ??  DL     0:00.00  (vnlru)
:


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-stable" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200201160101.g0G117r64693>