Date: Fri, 24 Apr 2015 23:34:59 +0300 From: Konstantin Belousov <kostikbel@gmail.com> To: Antoine Brodin <antoine@FreeBSD.org> Cc: Will Andrews <will@freebsd.org>, src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r281442 - head/sys/kern Message-ID: <20150424203459.GA2390@kib.kiev.ua> In-Reply-To: <CAALwa8nC7NODNT5P9pqgKs5Ca8tbtAecDbYmz==UPKRm2e7kyw@mail.gmail.com> References: <201504111851.t3BIpgRS071392@svn.freebsd.org> <CAALwa8nC7NODNT5P9pqgKs5Ca8tbtAecDbYmz==UPKRm2e7kyw@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, Apr 23, 2015 at 09:53:19PM +0200, Antoine Brodin wrote: > On Sat, Apr 11, 2015 at 8:51 PM, Will Andrews <will@freebsd.org> wrote: > > Author: will > > Date: Sat Apr 11 18:51:41 2015 > > New Revision: 281442 > > URL: https://svnweb.freebsd.org/changeset/base/281442 > > > > Log: > > uiomove_object_page(): Avoid instantiating pages in sparse regions on reads. > > > > Check whether the page being requested is either resident or on swap. If > > not, read from the zero_region instead of instantiating an unnecessary page. > > > > This avoids consuming memory for sparse files on tmpfs, when they are read > > by applications that do not use SEEK_HOLE/SEEK_DATA (which is most of them). > > > > Reviewed by: kib > > MFC after: 1 week > > Sponsored by: Spectra Logic > > Hi, > > We have a daily panic on one of the package builders: > https://reviews.freebsd.org/P60 > > Reverting this commit seems to fix the panic. I already provided the following patch to gjb. I am waiting for a confirmation to commit. diff --git a/sys/kern/uipc_shm.c b/sys/kern/uipc_shm.c index 8410ed9..93c7ed1 100644 --- a/sys/kern/uipc_shm.c +++ b/sys/kern/uipc_shm.c @@ -170,7 +170,7 @@ uiomove_object_page(vm_object_t obj, size_t len, struct uio *uio) if (uio->uio_rw == UIO_READ && vm_page_lookup(obj, idx) == NULL && !vm_pager_has_page(obj, idx, NULL, NULL)) { VM_OBJECT_WUNLOCK(obj); - return (uiomove(__DECONST(void *, zero_region), len, uio)); + return (uiomove(__DECONST(void *, zero_region), tlen, uio)); } /*
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20150424203459.GA2390>