Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 30 Nov 2015 00:20:23 +0000 (GMT)
From:      jenkins-admin@FreeBSD.org
To:        mckusick@FreeBSD.org, dim@FreeBSD.org, jenkins-admin@FreeBSD.org,  freebsd-current@FreeBSD.org, freebsd-i386@FreeBSD.org
Subject:   FreeBSD_HEAD_i386 - Build #1797 - Fixed
Message-ID:  <1128880564.269.1448842827337.JavaMail.jenkins@jenkins-9.freebsd.org>
In-Reply-To: <1632385338.263.1448833090407.JavaMail.jenkins@jenkins-9.freebsd.org>
References:  <1632385338.263.1448833090407.JavaMail.jenkins@jenkins-9.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
FreeBSD_HEAD_i386 - Build #1797 - Fixed:

Build information: https://jenkins.FreeBSD.org/job/FreeBSD_HEAD_i386/1797/
Full change log: https://jenkins.FreeBSD.org/job/FreeBSD_HEAD_i386/1797/changes
Full build log: https://jenkins.FreeBSD.org/job/FreeBSD_HEAD_i386/1797/console

Change summaries:

291461 by dim:
Fix buildworld after r291453, similar to r284346: url->user and url->pwd
are arrays, so they can never be NULL.

Reported by:	many
Pointy hat to:	des

291460 by mckusick:
As the kernel allocates and frees vnodes, it fully initializes them
on every allocation and fully releases them on every free.  These
are not trivial costs: it starts by zeroing a large structure then
initializes a mutex, a lock manager lock, an rw lock, four lists,
and six pointers. And looking at vfs.vnodes_created, these operations
are being done millions of times an hour on a busy machine.

As a performance optimization, this code update uses the uma_init
and uma_fini routines to do these initializations and cleanups only
as the vnodes enter and leave the vnode_zone. With this change the
initializations are only done kern.maxvnodes times at system startup
and then only rarely again. The frees are done only if the vnode_zone
shrinks which never happens in practice. For those curious about the
avoided work, look at the vnode_init() and vnode_fini() functions in
kern/vfs_subr.c to see the code that has been removed from the main
vnode allocation/free path.

Reviewed by: kib
Tested by:   Peter Holm




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