From owner-freebsd-i386@freebsd.org Mon Nov 30 00:20:27 2015 Return-Path: Delivered-To: freebsd-i386@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 80BB2A3CB15; Mon, 30 Nov 2015 00:20:27 +0000 (UTC) (envelope-from jenkins-admin@FreeBSD.org) Received: from jenkins-9.freebsd.org (jenkins-9.freebsd.org [8.8.178.209]) by mx1.freebsd.org (Postfix) with ESMTP id 70A821FDB; Mon, 30 Nov 2015 00:20:27 +0000 (UTC) (envelope-from jenkins-admin@FreeBSD.org) Received: from jenkins-9.freebsd.org (localhost [127.0.0.1]) by jenkins-9.freebsd.org (Postfix) with ESMTP id A89CD1976; Mon, 30 Nov 2015 00:20:27 +0000 (UTC) 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 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> Subject: FreeBSD_HEAD_i386 - Build #1797 - Fixed MIME-Version: 1.0 X-Jenkins-Job: FreeBSD_HEAD_i386 X-Jenkins-Result: SUCCESS Precedence: bulk Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Content-Filtered-By: Mailman/MimeDel 2.1.20 X-BeenThere: freebsd-i386@freebsd.org X-Mailman-Version: 2.1.20 List-Id: I386-specific issues for FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 30 Nov 2015 00:20:27 -0000 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