I got a "swap_pager: indefinite wait buffer" notice and looked it up. (This was on a rpi2 booted (kernel and world) from a USB SSD, swap partition in use instead of a swap file. It was building devel/cmake via poudriere-devel .) https://www.freebsd.org/doc/faq/troubleshoot.html#indefinite-wait-buffer reads like it is for page-out to disk: QUOTE 5.9. What does the error swap_pager: indefinite wait buffer: mean? This means that a process is trying to page memory to disk, and the page attempt has hung trying to access the disk for more than 20 seconds. It might be caused by bad blocks on the disk drive, disk wiring, cables, or any other disk I/O-related hardware. If the drive itself is bad, disk errors will appear in /var/log/messages and in the output of dmesg. Otherwise, check the cables and connections. ENDQUOTE But the code containing the message is for "swread": (head -r326888) # grep -r "indefinite wait buffer" /usr/src/sys/ | more /usr/src/sys/vm/swap_pager.c:"swap_pager: indefinite wait buffer: bufobj: %p, blkno: %jd, size: %ld\n", Looking there. . . static int swap_pager_getpages(vm_object_t object, vm_page_t *m, int count, int *rbehind, int *rahead) { . . . VM_OBJECT_WLOCK(object); while ((m[0]->oflags & VPO_SWAPINPROG) != 0) { m[0]->oflags |= VPO_SWAPSLEEP; VM_CNT_INC(v_intrans); if (VM_OBJECT_SLEEP(object, &object->paging_in_progress, PSWP, "swread", hz * 20)) { printf( "swap_pager: indefinite wait buffer: bufobj: %p, blkno: %jd, size: %ld\n", bp->b_bufobj, (intmax_t)bp->b_blkno, bp->b_bcount); } } . . . === Mark Millard markmi at dsl-only.netReceived on Sat Dec 16 2017 - 17:54:38 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:41:14 UTC