On Tue, Nov 07, 2006 at 06:06:48PM -0700, Mark Maybee wrote:
> The problem is that in ZFS the vnode holds onto more memory than just
> the vnode itself.  Its fine to place the vnode on a "free vnodes list"
> after a VOP_INACTIVE()... but you need to make sure the you have
> "released" the *extra* memory associated with the vnode:
>       vnode refs a znode (356 bytes + 512 bytes for the phys)
>       znode refs a dnode (756 bytes + 512-16k for the phys)
> So a vnode could be holding up to 17k of data in memory!
> 
> I suggest you free up the znode at VOP_INACTIVE() rather than waiting
> until VOP_RECLAIM().

How? From What I see znode is freed via zfs_znode_free() called from
znode_pageout_func(). I don't think I can just call zfs_znode_free(), as
I'm quite sure there are some dependent resources I need to release.
Which function should I used for this?

-- 
Pawel Jakub Dawidek                       http://www.wheel.pl
pjd at FreeBSD.org                           http://www.FreeBSD.org
FreeBSD committer                         Am I Evil? Yes, I Am!
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 187 bytes
Desc: not available
URL: 
<http://mail.opensolaris.org/pipermail/zfs-code/attachments/20061110/9c933ccd/attachment.bin>

Reply via email to