Add sysctl to make amd64 minidump retry count tunable at runtime.

PR:		213462
Submitted by:	RaviPrakash Darbha <rdarbha@juniper.net>
Reviewed by:	cemi, markj
Approved by:	sjg (mentor)
Obtained from:	Juniper Networks
Differential Revision:	https://reviews.freebsd.org/D8254
This commit is contained in:
Stephen J. Kiernan 2016-10-17 22:57:41 +00:00
parent 827e4de4c8
commit 3239d65238

View File

@ -37,6 +37,7 @@ __FBSDID("$FreeBSD$");
#include <sys/kernel.h>
#include <sys/kerneldump.h>
#include <sys/msgbuf.h>
#include <sys/sysctl.h>
#include <sys/watchdog.h>
#include <vm/vm.h>
#include <vm/vm_param.h>
@ -68,6 +69,9 @@ static void *dump_va;
static size_t counter, progress, dumpsize;
CTASSERT(sizeof(*vm_page_dump) == 8);
static int dump_retry_count = 5;
SYSCTL_INT(_machdep, OID_AUTO, dump_retry_count, CTLFLAG_RWTUN,
&dump_retry_count, 0, "Number of times dump has to retry before bailing out");
static int
is_dumpable(vm_paddr_t pa)
@ -447,7 +451,7 @@ minidumpsys(struct dumperinfo *di)
printf("\n");
if (error == ENOSPC) {
printf("Dump map grown while dumping. ");
if (retry_count < 5) {
if (retry_count < dump_retry_count) {
printf("Retrying...\n");
goto retry;
}