Hello, I don't know if this is the right medium, the diff is against releng-6. In my spare-time I try, still in vain, to find a reproducable configuration for the 6.1 desired feature "swap_pager warnings when swapfiles are in use" to produce a panic rather than deadlock (on amd64). The first part of the attached diff has as goal to verify that, till now, no (logged) "wait buffer timeout" ever is "indefinite", the second part to disable a panic when rebooting after a test which did not produce deadlock. I test on a notebook with 1G RAM, 1G swap-slice and 3G pagingfile, using the attached simple program to force insane swapping. Without the second part of the diff, it panics as follows : Unread portion of the kernel message buffer: <118>May 29 00:46:12 demo syslogd: exiting on signal 15 Waiting (max 60 seconds) for system process `vnlru' to stop...done Waiting (max 60 seconds) for system process `bufdaemon' to stop...done Waiting (max 60 seconds) for system process `syncer' to stop... Syncing disks, vnodes remaining...0 0 0 done All buffers synced. Swap device ad0s3b removed. swap_pager: I/O error - pagein failed; blkno 268319,size 4096, error 5 panic: swap_pager_force_pagein: read from swap failed (I do not have the corresponding kernel any longer but the trace is something like : (kgdb) where #0 doadump () at pcpu.h:172 #1 0x0000000000000004 in ?? () #2 0xffffffff8029a093 in boot (howto=260) at /files/bsd/src6/sys/kern/kern_shutdown.c:409 #3 0xffffffff8029a696 in panic (fmt=0xffffff00177d5be0 "_at_ใช\022") at /files/bsd/src6/sys/kern/kern_shutdown.c:565 #4 0xffffffff803f1cac in swapoff_one (sp=0xffffff002f9d2880, td=0xffffffff80628200) at /files/bsd/src6/sys/vm/swap_pager.c:1614 #5 0xffffffff803f1fc4 in swapoff_all () at /files/bsd/src6/sys/vm/swap_pager.c:2233 #6 0xffffffff8029a2ba in boot (howto=0) at /files/bsd/src6/sys/kern/kern_shutdown.c:393 #7 0xffffffff8029a427 in reboot (td=0x0, uap=0xffffffffa81ecbc0) at /files/bsd/src6/sys/kern/kern_shutdown.c:169 #8 0xffffffff80427b41 in syscall (frame= {tf_rdi = 0, tf_rsi = 9, tf_rdx = -1, tf_rcx = 3, tf_r8 = -1099117536288, tf_r9 = 140737488350440, tf_rax = 55, tf_rbx = 2, tf_rbp = 232662, tf_r10 = -2140997928, tf_r11 = 518, tf_r12 = 0, tf_r13 = 0, tf_r14 = 0, tf_r15 = 0, tf_trapno = 12, tf_addr = 34367711392, tf_flags = 0, tf_err = 2, tf_rip = 34367517868, tf_cs = 43, tf_rflags = 514, tf_rsp = 140737488350440, tf_ss = 35}) at /files/bsd/src6/sys/amd64/amd64/trap.c:792 #9 0xffffffff80415648 in Xfast_syscall () at /files/bsd/src6/sys/amd64/amd64/exception.S:270 ) Maybe this gives a glue to someone; apart from the kernel message I have no indication of a "real" I/O error (and VM_PAGER_FAIL and VM_PAGER_ERROR seem valid return values for swap_pager_getpages() anyway). Thanks very much. Arno -- Arno J. Klaassen SCITO S.A. 8 rue des Haies F-75020 Paris, France http://scito.com
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:38:56 UTC