Date: Thu, 17 Dec 2015 00:58:06 +0200 From: Ivan Klymenko <fidaj@ukr.net> To: Gleb Smirnoff <glebius@FreeBSD.org> Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r292373 - in head: share/man/man9 sys/cddl/contrib/opensolaris/uts/common/fs/zfs sys/dev/drm2/i915 sys/dev/drm2/ttm sys/dev/md sys/fs/fuse sys/fs/nfsclient sys/fs/smbfs sys/fs/tmpfs sys... Message-ID: <20151217005806.5c6c962c@nonamehost.local> In-Reply-To: <201512162130.tBGLUjPj083575@repo.freebsd.org> References: <201512162130.tBGLUjPj083575@repo.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, 16 Dec 2015 21:30:45 +0000 (UTC) Gleb Smirnoff <glebius@FreeBSD.org> wrote: > Author: glebius > Date: Wed Dec 16 21:30:45 2015 > New Revision: 292373 > URL: https://svnweb.freebsd.org/changeset/base/292373 > > Log: > A change to KPI of vm_pager_get_pages() and underlying > VOP_GETPAGES(). > o With new KPI consumers can request contiguous ranges of pages, and > unlike before, all pages will be kept busied on return, like it > was done before with the 'reqpage' only. Now the reqpage goes away. > With new interface it is easier to implement code protected from race > conditions. > > Such arrayed requests for now should be preceeded by a call to > vm_pager_haspage() to make sure that request is possible. This > could be improved later, making vm_pager_haspage() obsolete. > > Strenghtening the promises on the business of the array of pages > allows us to remove such hacks as swp_pager_free_nrpage() and > vm_pager_free_nonreq(). > > o New KPI accepts two integer pointers that may optionally point at > values for read ahead and read behind, that a pager may do, if it > can. These pages are completely owned by pager, and not controlled > by the caller. > > This shifts the UFS-specific readahead logic from vm_fault.c, > which should be file system agnostic, into vnode_pager.c. It also > removes one VOP_BMAP() request per hard fault. > > Discussed with: kib, alc, jeff, scottl > Sponsored by: Nginx, Inc. > Sponsored by: Netflix > Hello. I have panic: Dec 17 00:50:26 nonamehost kernel: ugen2.3: <6047B0021601A0114AGXA> at usbus2 Dec 17 00:50:26 nonamehost kernel: ugen2.4: <vendor 0x03f0> at usbus2 Dec 17 00:50:26 nonamehost kernel: Dec 17 00:50:26 nonamehost kernel: Dec 17 00:50:26 nonamehost kernel: Fatal trap 12: page fault while in kernel mode Dec 17 00:50:26 nonamehost kernel: cpuid = 1; apic id = 01 Dec 17 00:50:26 nonamehost kernel: fault virtual address = 0x18 Dec 17 00:50:26 nonamehost kernel: fault code = supervisor write data, page not present Dec 17 00:50:26 nonamehost kernel: instruction pointer = 0x20:0xffffffff80a83c5f Dec 17 00:50:26 nonamehost kernel: stack pointer = 0x28:0xfffffe016ff683a0 Dec 17 00:50:26 nonamehost kernel: frame pointer = 0x28:0xfffffe016ff683b0 Dec 17 00:50:26 nonamehost kernel: code segment = base 0x0, limit 0xfffff, type 0x1b Dec 17 00:50:26 nonamehost kernel: = DPL 0, pres 1, long 1, def32 0, gran 1 Dec 17 00:50:26 nonamehost kernel: processor eflags = interrupt enabled, resume, IOPL = 0 Dec 17 00:50:26 nonamehost kernel: current process = 1 (kernel) Dec 17 00:50:26 nonamehost kernel: trap number = 12 Dec 17 00:50:26 nonamehost kernel: panic: page fault Dec 17 00:50:26 nonamehost kernel: cpuid = 1 Dec 17 00:50:26 nonamehost kernel: KDB: stack backtrace: Dec 17 00:50:26 nonamehost kernel: #0 0xffffffff80aca4a7 at kdb_backtrace+0x67 Dec 17 00:50:26 nonamehost kernel: #1 0xffffffff80a86692 at vpanic+0x182 Dec 17 00:50:26 nonamehost kernel: #2 0xffffffff80a86503 at panic+0x43 Dec 17 00:50:26 nonamehost kernel: #3 0xffffffff80f59051 at trap_fatal+0x351 Dec 17 00:50:26 nonamehost kernel: #4 0xffffffff80f59244 at trap_pfault+0x1e4 Dec 17 00:50:26 nonamehost kernel: #5 0xffffffff80f589fe at trap+0x46e Dec 17 00:50:26 nonamehost kernel: #6 0xffffffff80f3ced7 at calltrap+0x8 Dec 17 00:50:26 nonamehost kernel: #7 0xffffffff82277716 at zfs_freebsd_getpages+0x96 Dec 17 00:50:26 nonamehost kernel: #8 0xffffffff810a0256 at VOP_GETPAGES_APV+0xa6 Dec 17 00:50:26 nonamehost kernel: #9 0xffffffff80df26f0 at vnode_pager_getpages+0xc0 Dec 17 00:50:26 nonamehost kernel: #10 0xffffffff80debbcf at vm_pager_get_pages+0x1f Dec 17 00:50:26 nonamehost kernel: #11 0xffffffff80a3cb6f at exec_map_first_page+0x1bf Dec 17 00:50:26 nonamehost kernel: #12 0xffffffff80a3b5ac at kern_execve+0x41c Dec 17 00:50:26 nonamehost kernel: #13 0xffffffff80a3ae0c at sys_execve+0x4c Dec 17 00:50:26 nonamehost kernel: #14 0xffffffff80a1c52d at start_init+0x27d Dec 17 00:50:26 nonamehost kernel: #15 0xffffffff80a4576c at fork_exit+0x9c Dec 17 00:50:26 nonamehost kernel: #16 0xffffffff80f3d40e at fork_trampoline+0xe Dec 17 00:50:26 nonamehost kernel: Uptime: 6s Sorry, but the system is not left (does not save) the dump file just clipping from /var/log/messages
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20151217005806.5c6c962c>