Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 22 Jun 1998 18:00:59 +0000 (GMT)
From:      Terry Lambert <tlambert@primenet.com>
To:        daniel.sundin@engelholm.se (Daniel Sundin)
Cc:        freebsd-hackers@FreeBSD.ORG
Subject:   Re: state inode (top) problem
Message-ID:  <199806221800.LAA12894@usr06.primenet.com>
In-Reply-To: <2.2.32.19980620011743.00862a58@pop.engelholm.se> from "Daniel Sundin" at Jun 20, 98 03:17:43 am

next in thread | previous in thread | raw e-mail | index | archive | help
> What happens when it pauses for 5-6 seconds, according to top, is that it 
> goes into an 'inode' state. During that time the CPU usage and SIZE usage
> decreases alot, but RES stays normal. 

You are hung waiting for the inode to be inserted into the inode
hash list.

Most likely, you are suffering a priority inversion on the combination
of the simple_lock on the ufs_ihash_slock, and the i_lock on the inode.

You could find out if this is the case by placing a printf() before the
lockmgr() call in ufs_ihashins(), and another one after the simple_unlock()
call in the same function.  If there is a delay showing the lock/unlock
on the console, then that could be it.


Typically, this would happen if a single inode were attempted to be placed
onto the hashlist twice; this should never happen.

What this might mean is that an inode is being reused before it is
freed.

Note that I didn't see anywhere where the lock was released.  Depending
on the implementation, this could be a problem.  I would *expect* to see
the release in ufs_ihashrem(), for parity's sake.  Given the way this
is being used, the lock implementation is less opaque than I'd like.


> I'd appricate it alot if someone could either tell me what this
> might be caused of, and/or what the STATE inode in top means exactly. 
> The man pages for -current hasnt been updated to describe the new 
> states.

Neither have the block comments in ufs_ihash.c and ffs_vfsops.c.


					Terry Lambert
					terry@lambert.org
---
Any opinions in this posting are my own and not those of my present
or previous employers.

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



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