Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 8 Jan 2002 13:22:29 -0800 (PST)
From:      Matthew Dillon <dillon@apollo.backplane.com>
To:        steve@Watt.COM (Steve Watt)
Cc:        stable@FreeBSD.ORG, re@FreeBSD.ORG
Subject:   Re: VXLOCK interlock avoided messages
Message-ID:  <200201082122.g08LMTp61466@apollo.backplane.com>
References:   <200201082110.g08LAqJ97852@wattres.Watt.COM>

next in thread | previous in thread | raw e-mail | index | archive | help
    We changed this warning into a log() message, but perhaps we should
    simply remove it entirely.

    Basically there is no problem.  This message is 'normal' now due to
    us *finally* reclaiming vnodes when we've gone over the kern.maxvnodes
    limit.

    Normally vnodes are reclaimed only when their VM objects have no cached
    pages left.  This worked just fine until people starting putting 2G+
    of ram into their machines.  Once that started happening it was possible
    to hit the kernel malloc pool limit for vnodes and/or inodes due to not
    being able to free vnodes due to their VM objects still having cached
    pages.

    So now we reclaim vnodes proactively when the total number exceeds
    kern.maxvnodes.

    However, this has a side effect, for it means we are now reclaiming
    vnodes which may still have dirty pages... dirty pages which now must
    be flushed inside vgonel() while we hold VXLOCK.  Flushing these pages
    can often cause vget() to be called, which locks the vnodes and poof,
    you get the warning.

    It's a bogus warning.  If the RE's agree I would like to simply remove
    the associated log() calls.

						-Matt

:Greetings!
:
:I recently upgraded to a fresher stable (4.5-PRE, 2002-Jan-3 20:43PST),
:and just saw (in my security report) the following very interesting
:looking errors:
:Jan  8 03:36:10 wattres /kernel: VXLOCK interlock avoided
:Jan  8 03:36:10 wattres /kernel: VXLOCK interlock avoided in vn_lock
:
:The box is usually pretty busy at that time of day running news expiry
:and the various odd cron jobs (daily, etc.).  My news spool and libraries
:reside on different spindles, news articles on /news, news libraries
:on /old/local (filesystem list below).
:
:The previous update was 27 Oct in the evening PST, and I've never seen
:this message before.
:
:I see that it's a self-deadlock avoider in the code, but I don't
:know how to reproduce it (yet).  I'll keep an eye on it and see if
:it occurs again.
:
:Mostly, this is a heads-up, and I'm wondering if anyone has seen this
:before and/or wants to gather more information.

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?200201082122.g08LMTp61466>