Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 28 Mar 2002 16:46:45 -0500
From:      Alexander Kabaev <ak03@gte.com>
To:        "Brian F. Feldman" <green@FreeBSD.ORG>
Cc:        arch@FreeBSD.ORG
Subject:   Re: vnode::v_op bugfix / PERFORCE change 8574 for review (fwd)
Message-ID:  <20020328164645.790f6247.ak03@gte.com>
In-Reply-To: <200203281929.g2SJTBW04780@green.bikeshed.org>
References:  <200203281929.g2SJTBW04780@green.bikeshed.org>

next in thread | previous in thread | raw e-mail | index | archive | help
  This fix will not work when/if the VFS layer will become preemptable.
It also introduces potential performance penalty due to the additional
pointer dereference and associated cache misses on each vnode operation.
I have alternative patch which simple overallocates space for vop_t
vectors a bit in order to avoid the need to realocate them and panics
when this space becomes exausted. The amount of space kernel is
preallocating is configurable through boot-time tunable.

You can find patch at
http://kan.dnsalias.net:8080/kan/tunable_vops.diff. This still needs
some rewriting but it should be good enough to give you an idea on what
I am proposing. 

There is also a patch which implement additional indirection the same
way Brian's patch is doing, but tries to hide the change from the rest
of the kernel code, so that operations like vp->v_op = ufs_specop_p need
not be modified in existing code.

The URL for the second patch is
http://kan.dnsalias.net:8080/kan/indirect_vop_t.diff

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




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